func TestMain(m *testing.M) { c, db, err := dockertest.OpenPostgreSQLContainerConnection(15, time.Second) if err != nil { log.Fatalf("Could not connect to database: %s", err) } defer c.KillRemove() store = postgres.New(db) mw = &middleware.Middleware{} o = opg.New(db) if err := store.CreateSchemas(); err != nil { log.Fatalf("Could not create schemas: %s", err) } if err := o.CreateSchemas(); err != nil { log.Fatalf("Could not create schemas: %s", err) } if err := o.CreateClient(&osin.DefaultClient{ Id: "app", Secret: "secret", }); err != nil { log.Fatalf("Could not create app: %s", err) } os.Exit(m.Run()) }
func (c *Context) Start() { getEnv() db, err := sql.Open("postgres", databaseURL) if err != nil { log.Fatal(err) } else if err := db.Ping(); err != nil { log.Fatal(err) } wf, err := strconv.Atoi(bcryptWorkFactor) if err != nil { log.Fatal(err) } c.DB = db c.Accounts = accounts.New(&hash.BCrypt{wf}, db) c.Connections = connections.New(db) c.Policies = policies.New(db) c.Osins = osins.New(db) c.States = states.New(db) if err := c.Accounts.CreateSchemas(); err != nil { log.Fatal(err) } else if err := c.Connections.CreateSchemas(); err != nil { log.Fatal(err) } else if err := c.Policies.CreateSchemas(); err != nil { log.Fatal(err) } else if err := c.Osins.CreateSchemas(); err != nil { log.Fatal(err) } else if err := c.States.CreateSchemas(); err != nil { log.Fatal(err) } }
func (s *Server) Start() { config := osin.NewServerConfig() config.ErrorStatusCode = 401 url := fmt.Sprintf("postgres://%s:%s@%s/%s?sslmode=disable", os.Getenv("DB_USER"), os.Getenv("DB_PASS"), os.Getenv("DB_HOST"), os.Getenv("DB_NAME"), ) db, err := sqlx.Open("postgres", url) if err != nil { log.Fatalln(err.Error()) } storage := postgres.New(db.DB) s.server = osin.NewServer(config, storage) wsContainer := restful.NewContainer() r := UserResource{} r.Register(wsContainer, db) ws := new(restful.WebService) ws.Route(ws.POST("/authorize"). Consumes("application/x-www-form-urlencoded"). To(s.authorize)) wsContainer.Add(ws) address := fmt.Sprintf("%s:%s", s.Host, s.Port) log.Printf("Listening on %s", address) log.Fatalln(http.ListenAndServe(address, wsContainer)) }
func TestMain(m *testing.M) { c, db, err := dockertest.OpenPostgreSQLContainerConnection(15, time.Second) if err != nil { log.Fatalf("Could not connect to database: %s", err) } defer c.KillRemove() store = postgres.New(db) mw = &middleware.Middleware{} if err := store.CreateSchemas(); err != nil { log.Fatalf("COuld not create schemas: %s", err) } os.Exit(m.Run()) }
func TestMain(m *testing.M) { c, db, err := dockertest.OpenPostgreSQLContainerConnection(15, time.Second) if err != nil { log.Fatalf("Could not connect to database: %s", err) } defer c.KillRemove() accountStore := acpg.New(&hash.BCrypt{10}, db) policyStore := ppg.New(db) osinStore := opg.New(db) connectionStore := cpg.New(db) stateStore := oapg.New(db) registry := provider.NewRegistry([]provider.Provider{&prov{}}) j := hjwt.New([]byte(hjwt.TestCertificates[0][1]), []byte(hjwt.TestCertificates[1][1])) if err := connectionStore.CreateSchemas(); err != nil { log.Fatalf("Could not set up schemas: %v", err) } else if err := policyStore.CreateSchemas(); err != nil { log.Fatalf("Could not set up schemas: %v", err) } else if err := accountStore.CreateSchemas(); err != nil { log.Fatalf("Could not set up schemas: %v", err) } else if err := osinStore.CreateSchemas(); err != nil { log.Fatalf("Could not set up schemas: %v", err) } else if err := stateStore.CreateSchemas(); err != nil { log.Fatalf("Could not set up schemas: %v", err) } handler = &Handler{ OAuthConfig: DefaultConfig(), OAuthStore: osinStore, JWT: j, Accounts: accountStore, Policies: policyStore, Guard: new(guard.Guard), Connections: connectionStore, States: stateStore, Providers: registry, Issuer: "hydra", Audience: "tests", Middleware: host.New(policyStore, j), } pol := policy.DefaultPolicy{ ID: uuid.New(), Description: "", Effect: policy.AllowAccess, Subjects: []string{}, Permissions: []string{"authorize"}, Resources: []string{"/oauth2/authorize"}, Conditions: []policy.DefaultCondition{}, } if err := osinStore.CreateClient(&osin.DefaultClient{clientID, "secret", "/callback", ""}); err != nil { log.Fatalf("Could create client: %s", err) } else if err := osinStore.CreateClient(&osin.DefaultClient{"working-client-2", "secret", "/callback", ""}); err != nil { log.Fatalf("Could create client: %s", err) } else if _, err := accountStore.Create(account.CreateAccountRequest{ ID: accID, Username: "******", Password: "******", Data: "{}", }); err != nil { log.Fatalf("Could create account: %s", err) } else if err := policyStore.Create(&pol); err != nil { log.Fatalf("Could create client: %s", err) } else if err := connectionStore.Create(&connection.DefaultConnection{ ID: uuid.New(), Provider: "MockProvider", LocalSubject: accID, RemoteSubject: "remote-id", }); err != nil { log.Fatalf("Could create client: %s", err) } os.Exit(m.Run()) }