login_source_files_test.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package database
  2. import (
  3. "testing"
  4. "time"
  5. "github.com/stretchr/testify/assert"
  6. "github.com/stretchr/testify/require"
  7. "gogs.io/gogs/internal/errutil"
  8. )
  9. func TestLoginSourceFiles_GetByID(t *testing.T) {
  10. store := &loginSourceFiles{
  11. sources: []*LoginSource{
  12. {ID: 101},
  13. },
  14. }
  15. t.Run("source does not exist", func(t *testing.T) {
  16. _, err := store.GetByID(1)
  17. wantErr := ErrLoginSourceNotExist{args: errutil.Args{"id": int64(1)}}
  18. assert.Equal(t, wantErr, err)
  19. })
  20. t.Run("source exists", func(t *testing.T) {
  21. source, err := store.GetByID(101)
  22. require.NoError(t, err)
  23. assert.Equal(t, int64(101), source.ID)
  24. })
  25. }
  26. func TestLoginSourceFiles_Len(t *testing.T) {
  27. store := &loginSourceFiles{
  28. sources: []*LoginSource{
  29. {ID: 101},
  30. },
  31. }
  32. assert.Equal(t, 1, store.Len())
  33. }
  34. func TestLoginSourceFiles_List(t *testing.T) {
  35. store := &loginSourceFiles{
  36. sources: []*LoginSource{
  37. {ID: 101, IsActived: true},
  38. {ID: 102, IsActived: false},
  39. },
  40. }
  41. t.Run("list all sources", func(t *testing.T) {
  42. sources := store.List(ListLoginSourceOptions{})
  43. assert.Equal(t, 2, len(sources), "number of sources")
  44. })
  45. t.Run("list only activated sources", func(t *testing.T) {
  46. sources := store.List(ListLoginSourceOptions{OnlyActivated: true})
  47. assert.Equal(t, 1, len(sources), "number of sources")
  48. assert.Equal(t, int64(101), sources[0].ID)
  49. })
  50. }
  51. func TestLoginSourceFiles_Update(t *testing.T) {
  52. store := &loginSourceFiles{
  53. sources: []*LoginSource{
  54. {ID: 101, IsActived: true, IsDefault: true},
  55. {ID: 102, IsActived: false},
  56. },
  57. clock: time.Now,
  58. }
  59. source102 := &LoginSource{
  60. ID: 102,
  61. IsActived: true,
  62. IsDefault: true,
  63. }
  64. store.Update(source102)
  65. assert.False(t, store.sources[0].IsDefault)
  66. assert.True(t, store.sources[1].IsActived)
  67. assert.True(t, store.sources[1].IsDefault)
  68. }