github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/db/mongodb_token_test.go (about) 1 //go:build integration || !unit 2 // +build integration !unit 3 4 package db_test 5 6 import ( 7 "testing" 8 "time" 9 10 "github.com/mundipagg/boleto-api/db" 11 "github.com/mundipagg/boleto-api/mock" 12 "github.com/mundipagg/boleto-api/models" 13 "github.com/stretchr/testify/assert" 14 ) 15 16 func TestGetTokenByClientIDAndIssuerBank(t *testing.T) { 17 mock.StartMockService("9030") 18 token := models.NewToken("9979b005-5k40-41c4-976e-3cec24f8006s", "SarumanBank", "Palantir") 19 20 err := deleteTokenByIssuerBank(token.IssuerBank) 21 assert.Nil(t, err) 22 23 err = db.SaveToken(token) 24 assert.Nil(t, err) 25 26 got, err := db.GetTokenByClientIDAndIssuerBank("9979b005-5k40-41c4-976e-3cec24f8006s", "SarumanBank") 27 assert.Nil(t, err) 28 assert.Equal(t, "Palantir", got.AccessToken) 29 30 deleteTokenByIssuerBank(token.IssuerBank) 31 } 32 33 func TestGetTokenByClientIDAndIssuerBankWithExpiratedToken(t *testing.T) { 34 mock.StartMockService("9031") 35 token := models.NewToken("5999h015-5l40-41c4-976e-2cec24f8006s", "Alatar", "The Blue") 36 token.CreatedAt = token.CreatedAt.Add(-14 * time.Minute) 37 38 err := deleteTokenByIssuerBank(token.IssuerBank) 39 assert.Nil(t, err) 40 41 err = db.SaveToken(token) 42 assert.Nil(t, err) 43 44 got, err := db.GetTokenByClientIDAndIssuerBank("5999h015-5l40-41c4-976e-2cec24f8006s", "Alatar") 45 assert.Nil(t, err) 46 assert.Equal(t, "", got.AccessToken) 47 48 deleteTokenByIssuerBank(token.IssuerBank) 49 } 50 51 func TestSaveToken(t *testing.T) { 52 mock.StartMockService("9032") 53 token := models.NewToken("6275b002-5e20-67y1-716t-4aec24f8004w", "OlorinBank", "Mellon") 54 55 err := deleteTokenByIssuerBank(token.IssuerBank) 56 assert.Nil(t, err) 57 58 err = db.SaveToken(token) 59 assert.Nil(t, err) 60 61 got, err := db.GetTokenByClientIDAndIssuerBank("6275b002-5e20-67y1-716t-4aec24f8004w", token.IssuerBank) 62 assert.Nil(t, err) 63 assert.Equal(t, "Mellon", got.AccessToken) 64 65 deleteTokenByIssuerBank(token.IssuerBank) 66 }