github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/db/access_token_factory_test.go (about) 1 package db_test 2 3 import ( 4 "github.com/pf-qiu/concourse/v6/atc/db" 5 "gopkg.in/square/go-jose.v2/jwt" 6 7 . "github.com/onsi/ginkgo" 8 . "github.com/onsi/gomega" 9 ) 10 11 var _ = Describe("Access Token Factory", func() { 12 var ( 13 factory db.AccessTokenFactory 14 ) 15 16 BeforeEach(func() { 17 factory = db.NewAccessTokenFactory(dbConn) 18 }) 19 20 It("can create and fetch access tokens", func() { 21 date := jwt.NumericDate(1234567890) 22 err := factory.CreateAccessToken("my-awesome-token", db.Claims{ 23 RawClaims: map[string]interface{}{ 24 "iss": "issuer", 25 "sub": "subject", 26 "aud": []interface{}{"audience"}, 27 "exp": date, 28 "nbf": date, 29 "iat": date, 30 "jti": "id", 31 32 "federated_claims": map[string]interface{}{ 33 "user_id": "userid", 34 "connector_id": "github", 35 "other": "blah", 36 }, 37 38 "groups": []interface{}{"group1", "group2"}, 39 }, 40 }) 41 Expect(err).ToNot(HaveOccurred()) 42 43 token, ok, _ := factory.GetAccessToken("my-awesome-token") 44 Expect(ok).To(BeTrue()) 45 Expect(token.Token).To(Equal("my-awesome-token")) 46 Expect(token.Claims).To(Equal(db.Claims{ 47 Claims: jwt.Claims{ 48 Issuer: "issuer", 49 Subject: "subject", 50 Audience: []string{"audience"}, 51 Expiry: &date, 52 NotBefore: &date, 53 IssuedAt: &date, 54 ID: "id", 55 }, 56 FederatedClaims: db.FederatedClaims{ 57 UserID: "userid", 58 Connector: "github", 59 }, 60 RawClaims: map[string]interface{}{ 61 "iss": "issuer", 62 "sub": "subject", 63 "aud": []interface{}{"audience"}, 64 "exp": float64(date), 65 "nbf": float64(date), 66 "iat": float64(date), 67 "jti": "id", 68 69 "federated_claims": map[string]interface{}{ 70 "user_id": "userid", 71 "connector_id": "github", 72 "other": "blah", 73 }, 74 75 "groups": []interface{}{"group1", "group2"}, 76 }, 77 })) 78 }) 79 })