MCPcopy
hub / github.com/tinyauthapp/tinyauth / TestGetUsers

Function TestGetUsers

internal/utils/user_utils_test.go:12–75  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

10)
11
12func TestGetUsers(t *testing.T) {
13 // Setup
14 file, err := os.Create("/tmp/tinyauth_users_test.txt")
15 assert.NilError(t, err)
16
17 _, err = file.WriteString(" user1:$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G \n user2:$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G ") // Spacing is on purpose
18 assert.NilError(t, err)
19
20 err = file.Close()
21 assert.NilError(t, err)
22 defer os.Remove("/tmp/tinyauth_users_test.txt")
23
24 // Test file
25 users, err := utils.GetUsers([]string{}, "/tmp/tinyauth_users_test.txt")
26
27 assert.NilError(t, err)
28
29 assert.Equal(t, 2, len(users))
30
31 assert.Equal(t, "user1", users[0].Username)
32 assert.Equal(t, "$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G", users[0].Password)
33 assert.Equal(t, "user2", users[1].Username)
34 assert.Equal(t, "$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G", users[1].Password)
35
36 // Test config
37 users, err = utils.GetUsers([]string{"user3:$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G", "user4:$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G"}, "")
38
39 assert.NilError(t, err)
40
41 assert.Equal(t, 2, len(users))
42
43 assert.Equal(t, "user3", users[0].Username)
44 assert.Equal(t, "$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G", users[0].Password)
45 assert.Equal(t, "user4", users[1].Username)
46 assert.Equal(t, "$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G", users[1].Password)
47
48 // Test both
49 users, err = utils.GetUsers([]string{"user5:$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G"}, "/tmp/tinyauth_users_test.txt")
50
51 assert.NilError(t, err)
52
53 assert.Equal(t, 3, len(users))
54
55 assert.Equal(t, "user5", users[0].Username)
56 assert.Equal(t, "$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G", users[0].Password)
57 assert.Equal(t, "user1", users[1].Username)
58 assert.Equal(t, "$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G", users[1].Password)
59 assert.Equal(t, "user2", users[2].Username)
60 assert.Equal(t, "$2a$10$Mz5xhkfSJUtPWkzCd/TdaePh9CaXc5QcGII5wIMPLSR46eTwma30G", users[2].Password)
61
62 // Test empty
63 users, err = utils.GetUsers([]string{}, "")
64
65 assert.NilError(t, err)
66
67 assert.Equal(t, 0, len(users))
68
69 // Test non-existent file

Callers

nothing calls this directly

Calls 1

GetUsersFunction · 0.92

Tested by

no test coverage detected