github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/api/monitor_test.go (about)

     1  package api
     2  
     3  import (
     4  	"bytes"
     5  	"encoding/json"
     6  	"net/http"
     7  	"net/http/httptest"
     8  	"testing"
     9  
    10  	"github.com/mundipagg/boleto-api/metrics"
    11  	"github.com/stretchr/testify/assert"
    12  )
    13  
    14  func Test_Memory_WhenCalled_ReturnMemoryReportSuccessful(t *testing.T) {
    15  	var resp = metrics.MemoryReport{}
    16  
    17  	router := mockInstallApi()
    18  
    19  	w := httptest.NewRecorder()
    20  	req, _ := http.NewRequest("GET", "/boleto/memory-check/", nil)
    21  
    22  	router.ServeHTTP(w, req)
    23  
    24  	assert.Equal(t, 200, w.Code)
    25  	assert.Nil(t, json.NewDecoder(bytes.NewReader(w.Body.Bytes())).Decode(&resp))
    26  	assert.NotEmpty(t, resp)
    27  	assert.Equal(t, "MB", resp.MemoryUnit)
    28  }
    29  
    30  func Test_Memory_WhenCalledWithKilobytesParameter_ReturnMemoryReportSuccessful(t *testing.T) {
    31  	var resp = metrics.MemoryReport{}
    32  
    33  	router := mockInstallApi()
    34  
    35  	w := httptest.NewRecorder()
    36  	req, _ := http.NewRequest("GET", "/boleto/memory-check/KB", nil)
    37  
    38  	router.ServeHTTP(w, req)
    39  
    40  	assert.Equal(t, 200, w.Code)
    41  	assert.Nil(t, json.NewDecoder(bytes.NewReader(w.Body.Bytes())).Decode(&resp))
    42  	assert.NotEmpty(t, resp)
    43  	assert.Equal(t, "KB", resp.MemoryUnit)
    44  }