From 263d6348012290a54fe128b3f0660f1978cb85a0 Mon Sep 17 00:00:00 2001 From: Julien Neuhart Date: Wed, 9 Feb 2022 16:09:48 +0100 Subject: [PATCH] chore: rename MockContext to ContextMock and move it to a dedicated go file --- pkg/modules/api/context.go | 70 ------------- pkg/modules/api/context_test.go | 96 ----------------- pkg/modules/api/mocks.go | 74 ++++++++++++++ pkg/modules/api/mocks_test.go | 105 +++++++++++++++++++ pkg/modules/chromium/routes_test.go | 136 ++++++++++++------------- pkg/modules/libreoffice/routes_test.go | 76 +++++++------- pkg/modules/pdfengines/routes_test.go | 58 +++++------ pkg/modules/webhook/middleware_test.go | 4 +- 8 files changed, 316 insertions(+), 303 deletions(-) create mode 100644 pkg/modules/api/mocks.go create mode 100644 pkg/modules/api/mocks_test.go diff --git a/pkg/modules/api/context.go b/pkg/modules/api/context.go index c1c5f7bf..54a6051f 100644 --- a/pkg/modules/api/context.go +++ b/pkg/modules/api/context.go @@ -276,73 +276,3 @@ func (ctx Context) OutputFilename(outputPath string) string { return fmt.Sprintf("%s%s", filename, filepath.Ext(outputPath)) } - -// TODO: move MockContext to mocks.go (and rename it ContextMock). - -// MockContext is a helper for tests. -// -// ctx := &api.MockContext{Context: &api.Context{}} -type MockContext struct { - *Context -} - -// SetDirPath sets the context's working directory path. -// -// ctx := &api.MockContext{Context: &api.Context{}} -// ctx.SetDirPath("/foo") -func (ctx *MockContext) SetDirPath(path string) { - ctx.dirPath = path -} - -// SetValues sets the values. -// -// ctx := &api.MockContext{Context: &api.Context{}} -// ctx.SetValues(map[string][]string{ -// "url": { -// "foo", -// }, -// }) -func (ctx *MockContext) SetValues(values map[string][]string) { - ctx.values = values -} - -// SetFiles sets the files. -// -// ctx := &api.MockContext{Context: &api.Context{}} -// ctx.SetFiles(map[string]string{ -// "foo": "/foo", -// }) -func (ctx *MockContext) SetFiles(files map[string]string) { - ctx.files = files -} - -// SetCancelled sets if the context is cancelled or not. -// -// ctx := &api.MockContext{Context: &api.Context{}} -// ctx.SetCancelled(true) -func (ctx *MockContext) SetCancelled(cancelled bool) { - ctx.cancelled = cancelled -} - -// OutputPaths returns the registered output paths. -// ctx := &api.MockContext{Context: &api.Context{}} -// outputPaths := ctx.OutputPaths() -func (ctx MockContext) OutputPaths() []string { - return ctx.outputPaths -} - -// SetLogger sets the logger. -// -// ctx := &api.MockContext{Context: &api.Context{}} -// ctx.SetLogger(zap.NewNop()) -func (ctx *MockContext) SetLogger(logger *zap.Logger) { - ctx.logger = logger -} - -// SetEchoContext sets the echo.Context. -// -// ctx := &api.MockContext{Context: &api.Context{}} -// ctx.setEchoContext(c) -func (ctx *MockContext) SetEchoContext(c echo.Context) { - ctx.Context.echoCtx = c -} diff --git a/pkg/modules/api/context_test.go b/pkg/modules/api/context_test.go index 3ee39699..21cacac3 100644 --- a/pkg/modules/api/context_test.go +++ b/pkg/modules/api/context_test.go @@ -334,99 +334,3 @@ func TestContext_OutputFilename(t *testing.T) { } } } - -func TestMockContext_SetDirPath(t *testing.T) { - mock := &MockContext{&Context{}} - mock.SetDirPath("/foo") - - actual := mock.dirPath - expect := "/foo" - - if actual != expect { - t.Errorf("expected '%s' but got '%s'", expect, actual) - } -} - -func TestMockContext_SetValues(t *testing.T) { - mock := &MockContext{&Context{}} - mock.SetValues(map[string][]string{ - "foo": {"foo"}, - }) - - actual := mock.values - expect := map[string][]string{ - "foo": {"foo"}, - } - - if !reflect.DeepEqual(actual, expect) { - t.Errorf("expected %+v but got: %+v", expect, actual) - } -} - -func TestMockContext_SetFiles(t *testing.T) { - mock := &MockContext{&Context{}} - mock.SetFiles(map[string]string{ - "foo": "/foo", - }) - - actual := mock.files - expect := map[string]string{ - "foo": "/foo", - } - - if !reflect.DeepEqual(actual, expect) { - t.Errorf("expected %+v but got: %+v", expect, actual) - } -} - -func TestMockContext_SetCancelled(t *testing.T) { - mock := &MockContext{&Context{}} - mock.SetCancelled(true) - - actual := mock.cancelled - - if !actual { - t.Errorf("expected %t but got %t", true, actual) - } -} - -func TestMockContext_OutputPaths(t *testing.T) { - mock := MockContext{ - &Context{ - outputPaths: []string{"/foo"}, - }, - } - - actual := mock.OutputPaths() - expect := []string{"/foo"} - - if !reflect.DeepEqual(actual, expect) { - t.Errorf("expected %+v but got: %+v", expect, actual) - } -} - -func TestMockContext_SetLogger(t *testing.T) { - mock := MockContext{&Context{}} - - expect := zap.NewNop() - mock.SetLogger(expect) - - actual := mock.logger - - if actual != expect { - t.Errorf("expected %v but got %v", expect, actual) - } -} - -func TestMockContext_SetEchoContext(t *testing.T) { - mock := MockContext{&Context{}} - - expect := echo.New().NewContext(nil, nil) - mock.SetEchoContext(expect) - - actual := mock.echoCtx - - if actual != expect { - t.Errorf("expected %v but got %v", expect, actual) - } -} diff --git a/pkg/modules/api/mocks.go b/pkg/modules/api/mocks.go new file mode 100644 index 00000000..ebb95755 --- /dev/null +++ b/pkg/modules/api/mocks.go @@ -0,0 +1,74 @@ +package api + +import ( + "github.com/labstack/echo/v4" + "go.uber.org/zap" +) + +// ContextMock is a helper for tests. +// +// ctx := &api.ContextMock{Context: &api.Context{}} +type ContextMock struct { + *Context +} + +// SetDirPath sets the context's working directory path. +// +// ctx := &api.ContextMock{Context: &api.Context{}} +// ctx.SetDirPath("/foo") +func (ctx *ContextMock) SetDirPath(path string) { + ctx.dirPath = path +} + +// SetValues sets the values. +// +// ctx := &api.ContextMock{Context: &api.Context{}} +// ctx.SetValues(map[string][]string{ +// "url": { +// "foo", +// }, +// }) +func (ctx *ContextMock) SetValues(values map[string][]string) { + ctx.values = values +} + +// SetFiles sets the files. +// +// ctx := &api.ContextMock{Context: &api.Context{}} +// ctx.SetFiles(map[string]string{ +// "foo": "/foo", +// }) +func (ctx *ContextMock) SetFiles(files map[string]string) { + ctx.files = files +} + +// SetCancelled sets if the context is cancelled or not. +// +// ctx := &api.ContextMock{Context: &api.Context{}} +// ctx.SetCancelled(true) +func (ctx *ContextMock) SetCancelled(cancelled bool) { + ctx.cancelled = cancelled +} + +// OutputPaths returns the registered output paths. +// ctx := &api.ContextMock{Context: &api.Context{}} +// outputPaths := ctx.OutputPaths() +func (ctx ContextMock) OutputPaths() []string { + return ctx.outputPaths +} + +// SetLogger sets the logger. +// +// ctx := &api.ContextMock{Context: &api.Context{}} +// ctx.SetLogger(zap.NewNop()) +func (ctx *ContextMock) SetLogger(logger *zap.Logger) { + ctx.logger = logger +} + +// SetEchoContext sets the echo.Context. +// +// ctx := &api.ContextMock{Context: &api.Context{}} +// ctx.setEchoContext(c) +func (ctx *ContextMock) SetEchoContext(c echo.Context) { + ctx.Context.echoCtx = c +} diff --git a/pkg/modules/api/mocks_test.go b/pkg/modules/api/mocks_test.go new file mode 100644 index 00000000..dc5b4722 --- /dev/null +++ b/pkg/modules/api/mocks_test.go @@ -0,0 +1,105 @@ +package api + +import ( + "reflect" + "testing" + + "github.com/labstack/echo/v4" + "go.uber.org/zap" +) + +func TestContextMock_SetDirPath(t *testing.T) { + mock := &ContextMock{&Context{}} + mock.SetDirPath("/foo") + + actual := mock.dirPath + expect := "/foo" + + if actual != expect { + t.Errorf("expected '%s' but got '%s'", expect, actual) + } +} + +func TestContextMock_SetValues(t *testing.T) { + mock := &ContextMock{&Context{}} + mock.SetValues(map[string][]string{ + "foo": {"foo"}, + }) + + actual := mock.values + expect := map[string][]string{ + "foo": {"foo"}, + } + + if !reflect.DeepEqual(actual, expect) { + t.Errorf("expected %+v but got: %+v", expect, actual) + } +} + +func TestContextMock_SetFiles(t *testing.T) { + mock := &ContextMock{&Context{}} + mock.SetFiles(map[string]string{ + "foo": "/foo", + }) + + actual := mock.files + expect := map[string]string{ + "foo": "/foo", + } + + if !reflect.DeepEqual(actual, expect) { + t.Errorf("expected %+v but got: %+v", expect, actual) + } +} + +func TestContextMock_SetCancelled(t *testing.T) { + mock := &ContextMock{&Context{}} + mock.SetCancelled(true) + + actual := mock.cancelled + + if !actual { + t.Errorf("expected %t but got %t", true, actual) + } +} + +func TestContextMock_OutputPaths(t *testing.T) { + mock := ContextMock{ + &Context{ + outputPaths: []string{"/foo"}, + }, + } + + actual := mock.OutputPaths() + expect := []string{"/foo"} + + if !reflect.DeepEqual(actual, expect) { + t.Errorf("expected %+v but got: %+v", expect, actual) + } +} + +func TestContextMock_SetLogger(t *testing.T) { + mock := ContextMock{&Context{}} + + expect := zap.NewNop() + mock.SetLogger(expect) + + actual := mock.logger + + if actual != expect { + t.Errorf("expected %v but got %v", expect, actual) + } +} + +func TestContextMock_SetEchoContext(t *testing.T) { + mock := ContextMock{&Context{}} + + expect := echo.New().NewContext(nil, nil) + mock.SetEchoContext(expect) + + actual := mock.echoCtx + + if actual != expect { + t.Errorf("expected %v but got %v", expect, actual) + } +} diff --git a/pkg/modules/chromium/routes_test.go b/pkg/modules/chromium/routes_test.go index b0c66535..7edfb695 100644 --- a/pkg/modules/chromium/routes_test.go +++ b/pkg/modules/chromium/routes_test.go @@ -16,16 +16,16 @@ import ( func TestFormDataChromiumPDFOptions(t *testing.T) { for i, tc := range []struct { - ctx *api.MockContext + ctx *api.ContextMock options Options }{ { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, options: DefaultOptions(), }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "extraHttpHeaders": { "foo", @@ -37,8 +37,8 @@ func TestFormDataChromiumPDFOptions(t *testing.T) { options: DefaultOptions(), }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "extraHttpHeaders": { `{"foo":"bar"}`, @@ -57,8 +57,8 @@ func TestFormDataChromiumPDFOptions(t *testing.T) { }(), }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "extraHttpHeaders": { "foo", @@ -70,8 +70,8 @@ func TestFormDataChromiumPDFOptions(t *testing.T) { options: DefaultOptions(), }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "emulatedMediaType": { "foo", @@ -83,8 +83,8 @@ func TestFormDataChromiumPDFOptions(t *testing.T) { options: DefaultOptions(), }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "emulatedMediaType": { "screen", @@ -111,7 +111,7 @@ func TestFormDataChromiumPDFOptions(t *testing.T) { func TestConvertURLHandler(t *testing.T) { for i, tc := range []struct { - ctx *api.MockContext + ctx *api.ContextMock api API expectErr bool expectHTTPErr bool @@ -119,14 +119,14 @@ func TestConvertURLHandler(t *testing.T) { expectOutputPathsCount int }{ { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, expectErr: true, expectHTTPErr: true, expectHTTPStatus: http.StatusBadRequest, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "url": { "", @@ -140,8 +140,8 @@ func TestConvertURLHandler(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "url": { "foo", @@ -161,8 +161,8 @@ func TestConvertURLHandler(t *testing.T) { expectErr: true, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "url": { "foo", @@ -182,8 +182,8 @@ func TestConvertURLHandler(t *testing.T) { expectOutputPathsCount: 1, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "url": { "foo", @@ -208,8 +208,8 @@ func TestConvertURLHandler(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "url": { "foo", @@ -234,8 +234,8 @@ func TestConvertURLHandler(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "url": { "foo", @@ -300,7 +300,7 @@ func TestConvertURLHandler(t *testing.T) { func TestConvertHTMLHandler(t *testing.T) { for i, tc := range []struct { - ctx *api.MockContext + ctx *api.ContextMock api API expectErr bool expectHTTPErr bool @@ -308,14 +308,14 @@ func TestConvertHTMLHandler(t *testing.T) { expectOutputPathsCount int }{ { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, expectErr: true, expectHTTPErr: true, expectHTTPStatus: http.StatusBadRequest, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.html": "/foo/foo.html", }) @@ -327,8 +327,8 @@ func TestConvertHTMLHandler(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "index.html": "/foo/foo.html", }) @@ -346,8 +346,8 @@ func TestConvertHTMLHandler(t *testing.T) { expectErr: true, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "index.html": "/foo/foo.html", }) @@ -404,7 +404,7 @@ func TestConvertHTMLHandler(t *testing.T) { func TestConvertMarkdownHandler(t *testing.T) { for i, tc := range []struct { - ctx *api.MockContext + ctx *api.ContextMock api API outputDir string expectErr bool @@ -413,14 +413,14 @@ func TestConvertMarkdownHandler(t *testing.T) { expectOutputPathsCount int }{ { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, expectErr: true, expectHTTPErr: true, expectHTTPStatus: http.StatusBadRequest, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.html": "/foo/foo.html", }) @@ -432,8 +432,8 @@ func TestConvertMarkdownHandler(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "index.html": "/foo/foo.html", }) @@ -445,8 +445,8 @@ func TestConvertMarkdownHandler(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "index.html": "/foo/foo.html", "markdown.md": "/foo/markdown.md", @@ -457,8 +457,8 @@ func TestConvertMarkdownHandler(t *testing.T) { expectErr: true, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "index.html": "/tests/test/testdata/chromium/markdown/sample2/index.html", "markdown1.md": "/foo/markdown1.md", @@ -471,8 +471,8 @@ func TestConvertMarkdownHandler(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "index.html": "/tests/test/testdata/chromium/markdown/sample1/index.html", "markdown1.md": "/foo/markdown1.md", @@ -491,8 +491,8 @@ func TestConvertMarkdownHandler(t *testing.T) { expectErr: true, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "index.html": "/tests/test/testdata/chromium/markdown/sample1/index.html", "markdown1.md": "/tests/test/testdata/chromium/markdown/sample1/markdown1.md", @@ -513,8 +513,8 @@ func TestConvertMarkdownHandler(t *testing.T) { expectErr: true, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetDirPath("/tmp/foo") ctx.SetFiles(map[string]string{ @@ -538,8 +538,8 @@ func TestConvertMarkdownHandler(t *testing.T) { expectErr: true, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetDirPath("/tmp/foo") ctx.SetFiles(map[string]string{ @@ -563,8 +563,8 @@ func TestConvertMarkdownHandler(t *testing.T) { expectOutputPathsCount: 1, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetDirPath("/tmp/foo") ctx.SetFiles(map[string]string{ @@ -642,7 +642,7 @@ func TestConvertMarkdownHandler(t *testing.T) { func TestConvertURL(t *testing.T) { for i, tc := range []struct { - ctx *api.MockContext + ctx *api.ContextMock api API engine gotenberg.PDFEngine PDFformat string @@ -653,7 +653,7 @@ func TestConvertURL(t *testing.T) { expectOutputPathsCount int }{ { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { @@ -668,7 +668,7 @@ func TestConvertURL(t *testing.T) { expectHTTPStatus: http.StatusForbidden, }, { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { @@ -681,7 +681,7 @@ func TestConvertURL(t *testing.T) { expectErr: true, }, { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { @@ -701,7 +701,7 @@ func TestConvertURL(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { @@ -716,7 +716,7 @@ func TestConvertURL(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { @@ -731,7 +731,7 @@ func TestConvertURL(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { @@ -746,7 +746,7 @@ func TestConvertURL(t *testing.T) { expectHTTPStatus: http.StatusConflict, }, { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { @@ -759,7 +759,7 @@ func TestConvertURL(t *testing.T) { expectErr: true, }, { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { @@ -782,7 +782,7 @@ func TestConvertURL(t *testing.T) { expectHTTPStatus: http.StatusBadRequest, }, { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { @@ -803,7 +803,7 @@ func TestConvertURL(t *testing.T) { expectErr: true, }, { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { @@ -824,8 +824,8 @@ func TestConvertURL(t *testing.T) { expectOutputPathsCount: 1, }, { - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetCancelled(true) return ctx @@ -842,7 +842,7 @@ func TestConvertURL(t *testing.T) { expectErr: true, }, { - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, api: func() API { chromiumAPI := struct{ ProtoAPI }{} chromiumAPI.pdf = func(_ context.Context, _ *zap.Logger, _, _ string, _ Options) error { diff --git a/pkg/modules/libreoffice/routes_test.go b/pkg/modules/libreoffice/routes_test.go index 10e8234d..db3949c2 100644 --- a/pkg/modules/libreoffice/routes_test.go +++ b/pkg/modules/libreoffice/routes_test.go @@ -16,7 +16,7 @@ import ( func TestConvertHandler(t *testing.T) { tests := []struct { name string - ctx *api.MockContext + ctx *api.ContextMock unoAPI uno.API engine gotenberg.PDFEngine expectErr bool @@ -26,8 +26,8 @@ func TestConvertHandler(t *testing.T) { }{ { name: "nominal behavior", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) @@ -48,8 +48,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "nominal behavior, but with 3 documents", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", "bar.docx": "/bar/bar.docx", @@ -72,8 +72,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "cannot add output paths", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) @@ -95,7 +95,7 @@ func TestConvertHandler(t *testing.T) { }, { name: "invalid form data: no documents", - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, unoAPI: uno.APIMock{ ExtensionsMock: func() []string { return []string{ @@ -109,8 +109,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "invalid form data: both nativePdfA1aFormat and nativePdfFormat are set", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) @@ -139,8 +139,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "invalid form data: both nativePdfA1aFormat and pdfFormat are set", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) @@ -169,8 +169,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "invalid form data: both nativePdfFormat and pdfFormat are set", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) @@ -198,8 +198,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "convert to PDF fail", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) @@ -220,8 +220,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "invalid page ranges", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) @@ -244,8 +244,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "convert 3 documents and merge them", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", "bar.docx": "/bar/bar.docx", @@ -278,8 +278,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "merge fail", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", "bar.docx": "/bar/bar.docx", @@ -312,8 +312,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "convert 3 documents, merge them, and convert them to a PDF format", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", "bar.docx": "/bar/bar.docx", @@ -352,8 +352,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "convert 3 documents, merge them, but convert them to PDF format fail", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", "bar.docx": "/bar/bar.docx", @@ -392,8 +392,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "convert 3 documents, merge them, but PDF format not available", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", "bar.docx": "/bar/bar.docx", @@ -434,8 +434,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "convert 3 documents and merge them, but cannot add output paths", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", "bar.docx": "/bar/bar.docx", @@ -469,8 +469,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "convert to PDF format", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) @@ -501,8 +501,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "convert to PDF format using nativePdfA1aFormat", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) @@ -534,8 +534,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "convert to PDF format fail", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) @@ -566,8 +566,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "PDF format not available", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.docx": "/foo/foo.docx", }) diff --git a/pkg/modules/pdfengines/routes_test.go b/pkg/modules/pdfengines/routes_test.go index ca8aa87b..8006b822 100644 --- a/pkg/modules/pdfengines/routes_test.go +++ b/pkg/modules/pdfengines/routes_test.go @@ -15,7 +15,7 @@ import ( func TestMergeHandler(t *testing.T) { tests := []struct { name string - ctx *api.MockContext + ctx *api.ContextMock engine gotenberg.PDFEngine expectErr bool expectHTTPErr bool @@ -24,8 +24,8 @@ func TestMergeHandler(t *testing.T) { }{ { name: "nominal behavior", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) @@ -41,15 +41,15 @@ func TestMergeHandler(t *testing.T) { }, { name: "invalid form data: no PDF", - ctx: &api.MockContext{Context: &api.Context{}}, + ctx: &api.ContextMock{Context: &api.Context{}}, expectErr: true, expectHTTPErr: true, expectHTTPStatus: http.StatusBadRequest, }, { name: "merge fail", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) @@ -65,8 +65,8 @@ func TestMergeHandler(t *testing.T) { }, { name: "nominal behavior with a PDF format", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) @@ -90,8 +90,8 @@ func TestMergeHandler(t *testing.T) { }, { name: "convert to PDF format fail", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) @@ -115,8 +115,8 @@ func TestMergeHandler(t *testing.T) { }, { name: "invalid PDF format", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) @@ -142,8 +142,8 @@ func TestMergeHandler(t *testing.T) { }, { name: "cannot add output paths", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) @@ -203,7 +203,7 @@ func TestMergeHandler(t *testing.T) { func TestConvertHandler(t *testing.T) { tests := []struct { name string - ctx *api.MockContext + ctx *api.ContextMock engine gotenberg.PDFEngine expectErr bool expectHTTPErr bool @@ -212,8 +212,8 @@ func TestConvertHandler(t *testing.T) { }{ { name: "nominal behavior", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) @@ -234,8 +234,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "nominal behavior, but with 3 PDFs", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", "bar.pdf": "/bar/bar.pdf", @@ -258,8 +258,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "invalid form data: no PDF", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetValues(map[string][]string{ "pdfFormat": { gotenberg.FormatPDFA1a, @@ -274,8 +274,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "invalid form data: no PDF format", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) @@ -288,8 +288,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "convert to PDF format fail", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) @@ -310,8 +310,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "PDF format not available", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) @@ -334,8 +334,8 @@ func TestConvertHandler(t *testing.T) { }, { name: "cannot add output paths", - ctx: func() *api.MockContext { - ctx := &api.MockContext{Context: &api.Context{}} + ctx: func() *api.ContextMock { + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetFiles(map[string]string{ "foo.pdf": "/foo/foo.pdf", }) diff --git a/pkg/modules/webhook/middleware_test.go b/pkg/modules/webhook/middleware_test.go index 7462e92d..a0ae588f 100644 --- a/pkg/modules/webhook/middleware_test.go +++ b/pkg/modules/webhook/middleware_test.go @@ -252,7 +252,7 @@ func TestWebhookMiddlewareGuards(t *testing.T) { c := srv.NewContext(tc.request, httptest.NewRecorder()) - ctx := &api.MockContext{Context: &api.Context{}} + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetEchoContext(c) c.Set("context", ctx.Context) @@ -399,7 +399,7 @@ func TestWebhookMiddlewareAsynchronousProcess(t *testing.T) { c.Set("trace", "foo") c.Set("startTime", time.Now()) - ctx := &api.MockContext{Context: &api.Context{}} + ctx := &api.ContextMock{Context: &api.Context{}} ctx.SetLogger(zap.NewNop()) ctx.SetEchoContext(c)