38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
package cdp
|
|
|
|
import (
|
|
"bytes"
|
|
"io/ioutil"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
// Test the uplink message report handler when the WithBasicAuth option is used
|
|
func Test_UplinkMsgReportHandlerFuncBasicAuth(t *testing.T) {
|
|
h := func(report *EndpointMessageReport) {
|
|
require.Equal(t, "863703039106237", report.SerialNumber.IMEI())
|
|
}
|
|
|
|
ep, err := NewEndpoint(":8888", WithUplinkMsgReportHandler(h), WithBasicAuth("Aladin", "OpenSesame"))
|
|
require.Nil(t, err)
|
|
|
|
data, err := ioutil.ReadFile("testdata/data.json")
|
|
require.Nil(t, err)
|
|
|
|
// http.StatusUnauthorized
|
|
req := httptest.NewRequest("POST", "/", bytes.NewReader(data))
|
|
resp := httptest.NewRecorder()
|
|
ep.uplinkMsgDataHandler(resp, req)
|
|
require.Equal(t, resp.Code, http.StatusUnauthorized)
|
|
|
|
// http.StatusOK
|
|
req = httptest.NewRequest("POST", "/", bytes.NewReader(data))
|
|
req.SetBasicAuth("Aladin", "OpenSesame")
|
|
resp = httptest.NewRecorder()
|
|
ep.uplinkMsgDataHandler(resp, req)
|
|
require.Equal(t, resp.Code, http.StatusOK)
|
|
}
|