github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/skymarshal/skyserver/skyserver_suite_test.go (about) 1 package skyserver_test 2 3 import ( 4 "crypto/rand" 5 "crypto/rsa" 6 "net/http/httptest" 7 "testing" 8 9 . "github.com/onsi/ginkgo" 10 . "github.com/onsi/gomega" 11 12 "code.cloudfoundry.org/lager/lagertest" 13 "github.com/pf-qiu/concourse/v6/skymarshal/skyserver" 14 "github.com/pf-qiu/concourse/v6/skymarshal/token/tokenfakes" 15 "github.com/onsi/gomega/ghttp" 16 "golang.org/x/oauth2" 17 ) 18 19 var ( 20 fakeTokenMiddleware *tokenfakes.FakeMiddleware 21 fakeTokenParser *tokenfakes.FakeParser 22 skyServer *httptest.Server 23 dexServer *ghttp.Server 24 signingKey *rsa.PrivateKey 25 config *skyserver.SkyConfig 26 ) 27 28 func TestSkyServer(t *testing.T) { 29 RegisterFailHandler(Fail) 30 RunSpecs(t, "Sky Server Suite") 31 } 32 33 var _ = BeforeEach(func() { 34 var err error 35 36 fakeTokenMiddleware = new(tokenfakes.FakeMiddleware) 37 fakeTokenParser = new(tokenfakes.FakeParser) 38 39 dexServer = ghttp.NewTLSServer() 40 41 signingKey, err = rsa.GenerateKey(rand.Reader, 2048) 42 Expect(err).NotTo(HaveOccurred()) 43 44 endpoint := oauth2.Endpoint{ 45 AuthURL: dexServer.URL() + "/auth", 46 TokenURL: dexServer.URL() + "/token", 47 AuthStyle: oauth2.AuthStyleInHeader, 48 } 49 50 oauthConfig := &oauth2.Config{ 51 Endpoint: endpoint, 52 ClientID: "dex-client-id", 53 ClientSecret: "dex-client-secret", 54 Scopes: []string{"some-scope"}, 55 } 56 57 config = &skyserver.SkyConfig{ 58 Logger: lagertest.NewTestLogger("sky"), 59 TokenMiddleware: fakeTokenMiddleware, 60 TokenParser: fakeTokenParser, 61 OAuthConfig: oauthConfig, 62 HTTPClient: dexServer.HTTPTestServer.Client(), 63 } 64 65 server, err := skyserver.NewSkyServer(config) 66 Expect(err).NotTo(HaveOccurred()) 67 68 skyServer = httptest.NewUnstartedServer(skyserver.NewSkyHandler(server)) 69 }) 70 71 var _ = AfterEach(func() { 72 skyServer.Close() 73 dexServer.Close() 74 })