auth

Paddy 2015-01-24 Parent:2e4b5722eed0 Child:8267e1c8bcd1

129:4f5d13d2f7c7 Go to Latest

auth/authd/server.go

Test our getClientAuth helper, switch to table-based tests. Our getClientAuth helper was being tested implicitly when we tested our verifyClient helper, but let's test them separately. While we're at it, let's use table based tests instead of copy and paste. I noticed a lot of copy/paste errors while I was updating this, and the less test code we have and the easier we make it to test new edge cases, the better of we are.

History
paddy@100 1 package main
paddy@100 2
paddy@100 3 import (
paddy@100 4 "html/template"
paddy@100 5 "log"
paddy@100 6 "net/http"
paddy@100 7
paddy@107 8 "code.secondbit.org/auth.hg"
paddy@100 9 "github.com/gorilla/mux"
paddy@100 10 )
paddy@100 11
paddy@100 12 func main() {
paddy@100 13 store := auth.NewMemstore()
paddy@100 14 config := auth.Config{
paddy@100 15 ClientStore: store,
paddy@100 16 AuthCodeStore: store,
paddy@100 17 ProfileStore: store,
paddy@100 18 TokenStore: store,
paddy@100 19 SessionStore: store,
paddy@100 20 Template: template.Must(template.New("base").ParseGlob("./templates/*.gotmpl")),
paddy@100 21 LoginURI: "/login",
paddy@100 22 }
paddy@106 23 err := config.Init()
paddy@106 24 if err != nil {
paddy@106 25 log.Fatal(err)
paddy@106 26 }
paddy@100 27 context, err := auth.NewContext(config)
paddy@100 28 if err != nil {
paddy@100 29 panic(err)
paddy@100 30 }
paddy@100 31
paddy@100 32 router := mux.NewRouter()
paddy@100 33 auth.RegisterOAuth2(router, context)
paddy@100 34 auth.RegisterSessionHandlers(router, context)
paddy@106 35 auth.RegisterProfileHandlers(router, context)
paddy@108 36 auth.RegisterClientHandlers(router, context)
paddy@100 37 http.Handle("/", router)
paddy@100 38 log.Fatal(http.ListenAndServe(":8080", nil))
paddy@100 39 }