package proto_test import ( "testing" "github.com/owncloud/ocis/thumbnails/pkg/proto/v0" "github.com/stretchr/testify/assert" ) type TestRequest struct { testDataName string filepath string filetype proto.GetRequest_FileType etag string width int32 height int32 authorization string expected string } type TestResponse struct { testDataName string img []byte mimetype string expected string } func TestRequestString(t *testing.T) { var tests = []TestRequest{ { "ASCII", "Foo.jpg", proto.GetRequest_JPG, "33a64df551425fcc55e4d42a148795d9f25f89d4", 24, 24, "Basic SGVXaG9SZWFkc1RoaXM6SXNTdHVwaWQK", `filepath:"Foo.jpg" filetype:JPG etag:"33a64df551425fcc55e4d42a148795d9f25f89d4" width:24 height:24 authorization:"Basic SGVXaG9SZWFkc1RoaXM6SXNTdHVwaWQK" `, }, { "UTF", "मिलन.jpg", proto.GetRequest_JPG, "33a64df551425fcc55e4d42a148795d9f25f89d4", 24, 24, "Basic SGVXaG9SZWFkc1RoaXM6SXNTdHVwaWQK", `filepath:"\340\244\256\340\244\277\340\244\262\340\244\250.jpg" filetype:JPG etag:"33a64df551425fcc55e4d42a148795d9f25f89d4" width:24 height:24 authorization:"Basic SGVXaG9SZWFkc1RoaXM6SXNTdHVwaWQK" `, }, { "PNG", "Foo.png", proto.GetRequest_PNG, "33a64df551425fcc55e4d42a148795d9f25f89d4", 24, 24, "Basic SGVXaG9SZWFkc1RoaXM6SXNTdHVwaWQK", `filepath:"Foo.png" etag:"33a64df551425fcc55e4d42a148795d9f25f89d4" width:24 height:24 authorization:"Basic SGVXaG9SZWFkc1RoaXM6SXNTdHVwaWQK" `, }, } for _, testCase := range tests { t.Run(testCase.testDataName, func(t *testing.T) { req := proto.GetRequest{ Filepath: testCase.filepath, Filetype: testCase.filetype, Etag: testCase.etag, Height: testCase.height, Width: testCase.width, Authorization: testCase.authorization, } assert.Equal(t, testCase.expected, req.String()) }) } } func TestResponseString(t *testing.T) { var tests = []TestResponse{ { "ASCII", []byte("image data"), "image/png", `thumbnail:"image data" mimetype:"image/png" `, }, } for _, testCase := range tests { t.Run(testCase.testDataName, func(t *testing.T) { response := proto.GetResponse{ Thumbnail: testCase.img, Mimetype: testCase.mimetype, } assert.Equal(t, testCase.expected, response.String()) }) } }