github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/api/logger_test.go (about) 1 package api 2 3 import ( 4 "net/http" 5 "testing" 6 7 "github.com/mundipagg/boleto-api/models" 8 "github.com/stretchr/testify/assert" 9 ) 10 11 func Test_GetResultFromContext_WhenResultExists_ReturnResult(t *testing.T) { 12 c, _, _ := arrangeGetBoleto() 13 url := "http://localhost:3000/boleto?fmt=html&id=1234567890&pk=1234567890" 14 c.Request, _ = http.NewRequest(http.MethodGet, url, nil) 15 16 expected := models.NewGetBoletoResult(c) 17 c.Set(resultGetBoletoKey, expected) 18 19 result := getResultFromContext(c) 20 21 assert.NotNil(t, result) 22 assert.EqualValues(t, expected, result, "O resultado não é igual ao esperado") 23 } 24 25 func Test_GetResultFromContext_WhenResultNotExists_ReturnNil(t *testing.T) { 26 c, _, _ := arrangeGetBoleto() 27 url := "http://localhost:3000/boleto?fmt=html&id=1234567890&pk=1234567890" 28 c.Request, _ = http.NewRequest(http.MethodGet, url, nil) 29 30 result := getResultFromContext(c) 31 32 assert.Nil(t, result) 33 } 34 35 func Test_GetRequestKeyFromContext_WhenRequestKeyExists_ReturnHeaderRequestKey(t *testing.T) { 36 expectedRequestKey := "00000000-0000-0000-0000-000000000000" 37 38 c, _, _ := arrangeGetBoleto() 39 url := "http://localhost:3000/boleto?fmt=html&id=1234567890&pk=1234567890" 40 c.Request, _ = http.NewRequest(http.MethodGet, url, nil) 41 c.Request.Header.Add("RequestKey", expectedRequestKey) 42 43 result := getRequestKeyFromContext(c) 44 45 assert.Equal(t, expectedRequestKey, result, "A requestKey não é a mesma do contexto") 46 } 47 48 func Test_GetRequestKeyFromContext_WhenRequestKeyNotExists_ReturnNewRequestKey(t *testing.T) { 49 c, _, _ := arrangeGetBoleto() 50 url := "http://localhost:3000/boleto?fmt=html&id=1234567890&pk=1234567890" 51 c.Request, _ = http.NewRequest(http.MethodGet, url, nil) 52 53 result := getRequestKeyFromContext(c) 54 55 assert.NotEqual(t, "", result, "A requestKey está vazia") 56 }