@@ -49,6 +49,52 @@ func TestUser_AddRemove(t *testing.T) {
49
49
"Authorization" : util .BasicAuth ("phil" , "phil" ),
50
50
})
51
51
require .Equal (t , 200 , rr .Code )
52
+
53
+ // Check user was deleted
54
+ users , err = s .userManager .Users ()
55
+ require .Nil (t , err )
56
+ require .Equal (t , 3 , len (users ))
57
+ require .Equal (t , "phil" , users [0 ].Name )
58
+ require .Equal (t , "emma" , users [1 ].Name )
59
+ require .Equal (t , user .Everyone , users [2 ].Name )
60
+ }
61
+
62
+ func TestUser_ChangePassword (t * testing.T ) {
63
+ s := newTestServer (t , newTestConfigWithAuthFile (t ))
64
+ defer s .closeDatabases ()
65
+
66
+ // Create admin
67
+ require .Nil (t , s .userManager .AddUser ("phil" , "phil" , user .RoleAdmin ))
68
+
69
+ // Create user via API
70
+ rr := request (t , s , "PUT" , "/v1/users" , `{"username": "ben", "password": "ben"}` , map [string ]string {
71
+ "Authorization" : util .BasicAuth ("phil" , "phil" ),
72
+ })
73
+ require .Equal (t , 200 , rr .Code )
74
+
75
+ // Try to login with first password
76
+ rr = request (t , s , "POST" , "/v1/account/token" , "" , map [string ]string {
77
+ "Authorization" : util .BasicAuth ("ben" , "ben" ),
78
+ })
79
+ require .Equal (t , 200 , rr .Code )
80
+
81
+ // Change password via API
82
+ rr = request (t , s , "PUT" , "/v1/users" , `{"username": "ben", "password": "ben-two", "force":true}` , map [string ]string {
83
+ "Authorization" : util .BasicAuth ("phil" , "phil" ),
84
+ })
85
+ require .Equal (t , 200 , rr .Code )
86
+
87
+ // Make sure first password fails
88
+ rr = request (t , s , "POST" , "/v1/account/token" , "" , map [string ]string {
89
+ "Authorization" : util .BasicAuth ("ben" , "ben" ),
90
+ })
91
+ require .Equal (t , 401 , rr .Code )
92
+
93
+ // Try to login with second password
94
+ rr = request (t , s , "POST" , "/v1/account/token" , "" , map [string ]string {
95
+ "Authorization" : util .BasicAuth ("ben" , "ben-two" ),
96
+ })
97
+ require .Equal (t , 200 , rr .Code )
52
98
}
53
99
54
100
func TestUser_AddRemove_Failures (t * testing.T ) {
0 commit comments