forked from TrueCloudLab/frostfs-s3-gw
[#387] middleware: Extend test coverage
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
This commit is contained in:
parent
8a758293b9
commit
f4d174e740
5 changed files with 866 additions and 0 deletions
43
api/middleware/response_test.go
Normal file
43
api/middleware/response_test.go
Normal file
|
@ -0,0 +1,43 @@
|
|||
package middleware
|
||||
|
||||
import (
|
||||
"encoding/xml"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
type testXMLData struct {
|
||||
XMLName xml.Name `xml:"data"`
|
||||
Text string `xml:"text"`
|
||||
}
|
||||
|
||||
func TestEncodeResponse(t *testing.T) {
|
||||
w := httptest.NewRecorder()
|
||||
|
||||
err := EncodeToResponse(w, []byte{})
|
||||
require.Error(t, err)
|
||||
require.Contains(t, err.Error(), "encode xml response")
|
||||
|
||||
err = EncodeToResponse(w, testXMLData{Text: "test"})
|
||||
require.NoError(t, err)
|
||||
|
||||
expectedXML := "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<data><text>test</text></data>"
|
||||
require.Equal(t, expectedXML, w.Body.String())
|
||||
}
|
||||
|
||||
func TestErrorResponse(t *testing.T) {
|
||||
errResp := ErrorResponse{Code: "invalid-code"}
|
||||
|
||||
actual := errResp.Error()
|
||||
require.Contains(t, actual, "Error response code")
|
||||
|
||||
errResp.Code = "AccessDenied"
|
||||
actual = errResp.Error()
|
||||
require.Equal(t, "Access Denied.", actual)
|
||||
|
||||
errResp.Message = "Request body is empty."
|
||||
actual = errResp.Error()
|
||||
require.Equal(t, "Request body is empty.", actual)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue