gitea源码

setting_test.go 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // Copyright 2021 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package user_test
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/models/unittest"
  7. user_model "code.gitea.io/gitea/models/user"
  8. "github.com/stretchr/testify/assert"
  9. )
  10. func TestSettings(t *testing.T) {
  11. keyName := "test_user_setting"
  12. assert.NoError(t, unittest.PrepareTestDatabase())
  13. newSetting := &user_model.Setting{UserID: 99, SettingKey: keyName, SettingValue: "Gitea User Setting Test"}
  14. // create setting
  15. err := user_model.SetUserSetting(t.Context(), newSetting.UserID, newSetting.SettingKey, newSetting.SettingValue)
  16. assert.NoError(t, err)
  17. // test about saving unchanged values
  18. err = user_model.SetUserSetting(t.Context(), newSetting.UserID, newSetting.SettingKey, newSetting.SettingValue)
  19. assert.NoError(t, err)
  20. // get specific setting
  21. settings, err := user_model.GetSettings(t.Context(), 99, []string{keyName})
  22. assert.NoError(t, err)
  23. assert.Len(t, settings, 1)
  24. assert.Equal(t, newSetting.SettingValue, settings[keyName].SettingValue)
  25. settingValue, err := user_model.GetUserSetting(t.Context(), 99, keyName)
  26. assert.NoError(t, err)
  27. assert.Equal(t, newSetting.SettingValue, settingValue)
  28. settingValue, err = user_model.GetUserSetting(t.Context(), 99, "no_such")
  29. assert.NoError(t, err)
  30. assert.Empty(t, settingValue)
  31. // updated setting
  32. updatedSetting := &user_model.Setting{UserID: 99, SettingKey: keyName, SettingValue: "Updated"}
  33. err = user_model.SetUserSetting(t.Context(), updatedSetting.UserID, updatedSetting.SettingKey, updatedSetting.SettingValue)
  34. assert.NoError(t, err)
  35. // get all settings
  36. settings, err = user_model.GetUserAllSettings(t.Context(), 99)
  37. assert.NoError(t, err)
  38. assert.Len(t, settings, 1)
  39. assert.Equal(t, updatedSetting.SettingValue, settings[updatedSetting.SettingKey].SettingValue)
  40. // delete setting
  41. err = user_model.DeleteUserSetting(t.Context(), 99, keyName)
  42. assert.NoError(t, err)
  43. settings, err = user_model.GetUserAllSettings(t.Context(), 99)
  44. assert.NoError(t, err)
  45. assert.Empty(t, settings)
  46. }