@@ -18,6 +18,7 @@ func TestAuthentication(t *testing.T) {
18
18
t .Parallel ()
19
19
20
20
const token = "g4mtIPUaKt-pPl9Q0xmgKs7acSypHt4Jf"
21
+
21
22
server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
22
23
gotToken := r .Header .Get ("Session-Token" )
23
24
require .Equal (t , token , gotToken , "token does not match" )
@@ -37,28 +38,35 @@ func TestAuthentication(t *testing.T) {
37
38
})
38
39
require .NoError (t , err , "failed to create coder.Client" )
39
40
41
+ require .Equal (t , token , client .Token (), "expected Token to match" )
42
+ require .EqualValues (t , * u , client .BaseURL (), "expected BaseURL to match" )
43
+
40
44
_ , err = client .APIVersion (context .Background ())
41
45
require .NoError (t , err , "failed to get API version information" )
42
46
}
43
47
44
48
func TestPasswordAuthentication (t * testing.T ) {
45
49
t .Parallel ()
46
50
51
+ const email = "user@coder.com"
52
+ const password = "coder4all"
53
+ const token = "g4mtIPUaKt-pPl9Q0xmgKs7acSypHt4Jf"
54
+
47
55
mux := http .NewServeMux ()
48
56
mux .HandleFunc ("/auth/basic/login" , func (w http.ResponseWriter , r * http.Request ) {
49
57
require .Equal (t , r .Method , http .MethodPost , "login is a POST" )
50
58
51
59
expected := map [string ]interface {}{
52
- "email" : "user@coder.com" ,
53
- "password" : "coder4all" ,
60
+ "email" : email ,
61
+ "password" : password ,
54
62
}
55
63
var request map [string ]interface {}
56
64
err := json .NewDecoder (r .Body ).Decode (& request )
57
65
require .NoError (t , err , "error decoding JSON" )
58
66
require .EqualValues (t , expected , request , "unexpected request data" )
59
67
60
68
response := map [string ]interface {}{
61
- "session_token" : "g4mtIPUaKt-pPl9Q0xmgKs7acSypHt4Jf" ,
69
+ "session_token" : token ,
62
70
}
63
71
64
72
w .WriteHeader (http .StatusOK )
@@ -68,11 +76,11 @@ func TestPasswordAuthentication(t *testing.T) {
68
76
mux .HandleFunc ("/api/v0/users/me" , func (w http.ResponseWriter , r * http.Request ) {
69
77
require .Equal (t , http .MethodGet , r .Method , "Users is a GET" )
70
78
71
- require .Equal (t , "g4mtIPUaKt-pPl9Q0xmgKs7acSypHt4Jf" , r .Header .Get ("Session-Token" ), "expected session token to match return of login" )
79
+ require .Equal (t , token , r .Header .Get ("Session-Token" ), "expected session token to match return of login" )
72
80
73
81
user := map [string ]interface {}{
74
82
"id" : "default" ,
75
- "email" : "user@coder.com" ,
83
+ "email" : email ,
76
84
"username" : "charlie" ,
77
85
"name" : "Charlie Root" ,
78
86
"roles" : []coder.Role {coder .SiteAdmin },
@@ -99,14 +107,15 @@ func TestPasswordAuthentication(t *testing.T) {
99
107
client , err := coder .NewClient (coder.ClientOptions {
100
108
BaseURL : u ,
101
109
HTTPClient : server .Client (),
102
- Email : "user@coder.com" ,
103
- Password : "coder4all" ,
110
+ Email : email ,
111
+ Password : password ,
104
112
})
105
113
require .NoError (t , err , "failed to create Client" )
114
+ require .Equal (t , token , client .Token (), "expected token to match" )
106
115
107
116
user , err := client .Me (context .Background ())
108
117
require .NoError (t , err , "failed to get information about current user" )
109
- require .Equal (t , "user@coder.com" , user .Email , "expected test user" )
118
+ require .Equal (t , email , user .Email , "expected test user" )
110
119
}
111
120
112
121
func TestContextRoot (t * testing.T ) {
0 commit comments