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  }