auth
2014-07-18
auth/info_test.go
Start rewriting the repo. This code originally was a carbon copy of https://github.com/RangelReale/osin, but I am methodically stripping out the extensible nature of it for a simpler interface, while simultaneously bringing the style into line with the Ducky style.
| paddy@0 | 1 package oauth2 |
| paddy@0 | 2 |
| paddy@0 | 3 import ( |
| paddy@0 | 4 "net/http" |
| paddy@0 | 5 "net/url" |
| paddy@0 | 6 "testing" |
| paddy@0 | 7 ) |
| paddy@0 | 8 |
| paddy@0 | 9 func TestInfo(t *testing.T) { |
| paddy@0 | 10 sconfig := NewServerConfig() |
| paddy@0 | 11 server := NewServer(sconfig, NewTestingStorage()) |
| paddy@0 | 12 resp := server.NewResponse() |
| paddy@0 | 13 |
| paddy@0 | 14 req, err := http.NewRequest("GET", "http://localhost:14000/appauth", nil) |
| paddy@0 | 15 if err != nil { |
| paddy@0 | 16 t.Fatal(err) |
| paddy@0 | 17 } |
| paddy@0 | 18 req.Form = make(url.Values) |
| paddy@0 | 19 req.Form.Set("code", "9999") |
| paddy@0 | 20 |
| paddy@0 | 21 if ar := server.HandleInfoRequest(resp, req); ar != nil { |
| paddy@0 | 22 server.FinishInfoRequest(resp, req, ar) |
| paddy@0 | 23 } |
| paddy@0 | 24 |
| paddy@0 | 25 //fmt.Printf("%+v", resp) |
| paddy@0 | 26 |
| paddy@0 | 27 if resp.IsError && resp.InternalError != nil { |
| paddy@0 | 28 t.Fatalf("Error in response: %s", resp.InternalError) |
| paddy@0 | 29 } |
| paddy@0 | 30 |
| paddy@0 | 31 if resp.IsError { |
| paddy@0 | 32 t.Fatalf("Should not be an error") |
| paddy@0 | 33 } |
| paddy@0 | 34 |
| paddy@0 | 35 if resp.Type != DATA { |
| paddy@0 | 36 t.Fatalf("Response should be data") |
| paddy@0 | 37 } |
| paddy@0 | 38 |
| paddy@0 | 39 if d := resp.Output["access_token"]; d != "9999" { |
| paddy@0 | 40 t.Fatalf("Unexpected authorization code: %s", d) |
| paddy@0 | 41 } |
| paddy@0 | 42 } |