func init() { localWarden, httpClient := internal.NewFirewall( "tests", "alice", fosite.Arguments{ "hydra.keys.create", "hydra.keys.get", "hydra.keys.delete", "hydra.keys.update", }, &ladon.DefaultPolicy{ ID: "1", Subjects: []string{"alice"}, Resources: []string{"rn:hydra:keys:<faz|bar|foo><.*>"}, Actions: []string{"create", "get", "delete", "update"}, Effect: ladon.AllowAccess, }, ) r := httprouter.New() h := Handler{ Manager: &MemoryManager{}, W: localWarden, H: &herodot.JSON{}, } h.SetRoutes(r) ts := httptest.NewServer(r) u, _ := url.Parse(ts.URL + "/keys") managers["memory"] = &MemoryManager{} managers["http"] = &HTTPManager{Client: httpClient, Endpoint: u} }
func init() { localWarden, httpClient := internal.NewFirewall("hydra", "alice", fosite.Arguments{scope}, &ladon.DefaultPolicy{ ID: "1", Subjects: []string{"alice"}, Resources: []string{"rn:hydra:policies<.*>"}, Actions: []string{"create", "get", "delete", "find"}, Effect: ladon.AllowAccess, }, ) h := &Handler{ Manager: &ladon.MemoryManager{ Policies: map[string]ladon.Policy{}, }, W: localWarden, H: new(herodot.JSON), } r := httprouter.New() h.SetRoutes(r) ts := httptest.NewServer(r) u, _ := url.Parse(ts.URL + endpoint) managers["http"] = &HTTPManager{ Endpoint: u, Client: httpClient, } }
func init() { clientManagers["memory"] = &MemoryManager{ Clients: map[string]*fosite.DefaultClient{}, Hasher: &hash.BCrypt{}, } localWarden, httpClient := internal.NewFirewall("foo", "alice", fosite.Arguments{Scope}, &ladon.DefaultPolicy{ ID: "1", Subjects: []string{"alice"}, Resources: []string{"rn:hydra:clients<.*>"}, Actions: []string{"create", "get", "delete"}, Effect: ladon.AllowAccess, }) s := &Handler{ Manager: &MemoryManager{ Clients: map[string]*fosite.DefaultClient{}, Hasher: &hash.BCrypt{}, }, H: &herodot.JSON{}, W: localWarden, } r := httprouter.New() s.SetRoutes(r) ts = httptest.NewServer(r) u, _ := url.Parse(ts.URL + ClientsHandlerPath) clientManagers["http"] = &HTTPManager{ Client: httpClient, Endpoint: u, } }