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  }