@@ -2,6 +2,7 @@ package auth
22
33import (
44 "fmt"
5+ "github.com/drycc/controller-sdk-go/api"
56 "io/ioutil"
67 "net/http"
78 "net/http/httptest"
@@ -11,7 +12,6 @@ import (
1112)
1213
1314const registerExpected string = `{"username":"test","password":"opensesame","email":"test@example.com"}`
14- const loginExpected string = `{"username":"test","password":"opensesame"}`
1515const passwdExpected string = `{"username":"test","password":"old","new_password":"new"}`
1616const regenAllExpected string = `{"all":true}`
1717const regenUserExpected string = `{"username":"test"}`
@@ -51,23 +51,15 @@ func (f *fakeHTTPServer) ServeHTTP(res http.ResponseWriter, req *http.Request) {
5151 }
5252
5353 if req .URL .Path == "/v2/auth/login/" && req .Method == "POST" {
54- body , err := ioutil .ReadAll (req .Body )
55-
56- if err != nil {
57- fmt .Println (err )
58- res .WriteHeader (http .StatusInternalServerError )
59- res .Write (nil )
60- return
61- }
62-
63- if string (body ) != loginExpected {
64- fmt .Printf ("Expected '%s', Got '%s'\n " , loginExpected , body )
65- res .WriteHeader (http .StatusInternalServerError )
66- res .Write (nil )
67- return
68- }
54+ res .Header ().Add ("Location" , "/v2/login/drycc/?key=fdbf3b34742e4ed2be4dfa848af13007/" )
55+ res .WriteHeader (http .StatusFound )
56+ res .Write (nil )
57+ return
58+ }
6959
70- res .Write ([]byte (`{"token":"abc"}` ))
60+ if req .URL .Path == "/v2/auth/token/fdbf3b34742e4ed2be4dfa848af13007/" && req .Method == "GET" {
61+ res .WriteHeader (http .StatusOK )
62+ res .Write ([]byte (`{"username":"test","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"}` ))
7163 return
7264 }
7365
@@ -187,19 +179,45 @@ func TestLogin(t *testing.T) {
187179 t .Fatal (err )
188180 }
189181
190- actual , err := Login (drycc , "test" , "opensesame" )
182+ actual , err := Login (drycc )
191183
192184 if err != nil {
193185 t .Error (err )
194186 }
195187
196- expected := "abc"
197-
188+ expected := "/v2/login/drycc/?key=fdbf3b34742e4ed2be4dfa848af13007/"
198189 if actual != expected {
199190 t .Errorf ("Expected %s, Got %s" , expected , actual )
200191 }
201192}
202193
194+ func TestToken (t * testing.T ) {
195+ t .Parallel ()
196+
197+ handler := fakeHTTPServer {}
198+ server := httptest .NewServer (& handler )
199+ defer server .Close ()
200+
201+ drycc , err := drycc .New (false , server .URL , "abc" )
202+ if err != nil {
203+ t .Fatal (err )
204+ }
205+ expected := api.AuthLoginResponse {
206+ Username : "test" ,
207+ Token : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" ,
208+ }
209+
210+ token , err := Token (drycc , "fdbf3b34742e4ed2be4dfa848af13007" )
211+
212+ if err != nil {
213+ t .Error (err )
214+ }
215+
216+ if token != expected {
217+ t .Errorf ("Expected %s, Got %s" , expected , token )
218+ }
219+ }
220+
203221func TestPasswd (t * testing.T ) {
204222 t .Parallel ()
205223
0 commit comments