Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfeistel <6742251-feistel@users.noreply.gitlab.com>2021-07-25 16:24:03 +0300
committerfeistel <6742251-feistel@users.noreply.gitlab.com>2021-09-09 14:06:29 +0300
commitd08da349a24cb0ec322eae287fcc27ce8730bba9 (patch)
tree0b64732f5c98725a9ab60e8e7e118d455877c788
parent6b9b03db88911c9939d5fc1d92d4b15912cc7665 (diff)
test: update source mock to use mockgen
-rw-r--r--Makefile.build.mk1
-rw-r--r--internal/auth/auth_test.go40
-rw-r--r--internal/mocks/mocks.go3
-rw-r--r--internal/mocks/source.go50
-rw-r--r--internal/source/source_mock.go38
5 files changed, 85 insertions, 47 deletions
diff --git a/Makefile.build.mk b/Makefile.build.mk
index 3d13f47a..c3294ffe 100644
--- a/Makefile.build.mk
+++ b/Makefile.build.mk
@@ -11,6 +11,7 @@ setup: .GOPATH/.ok
generate-mocks: .GOPATH/.ok
$Q bin/mockgen -source=internal/interface.go -destination=internal/mocks/mocks.go -package=mocks
+ $Q bin/mockgen -source=internal/source/source.go -destination=internal/mocks/source.go -package=mocks
build: .GOPATH/.ok
$Q GOBIN=$(CURDIR)/bin go install $(if $V,-v) $(VERSION_FLAGS) -tags "${GO_BUILD_TAGS}" -buildmode exe $(IMPORT_PATH)
diff --git a/internal/auth/auth_test.go b/internal/auth/auth_test.go
index 77ea0b7a..ff95183c 100644
--- a/internal/auth/auth_test.go
+++ b/internal/auth/auth_test.go
@@ -10,11 +10,12 @@ import (
"strings"
"testing"
+ "github.com/golang/mock/gomock"
"github.com/gorilla/sessions"
"github.com/stretchr/testify/require"
+ "gitlab.com/gitlab-org/gitlab-pages/internal/mocks"
"gitlab.com/gitlab-org/gitlab-pages/internal/request"
- "gitlab.com/gitlab-org/gitlab-pages/internal/source"
)
func createTestAuth(t *testing.T, internalServer string, publicServer string) *Auth {
@@ -82,7 +83,11 @@ func TestTryAuthenticate(t *testing.T) {
reqURL.Scheme = request.SchemeHTTPS
r := &http.Request{URL: reqURL}
- require.Equal(t, false, auth.TryAuthenticate(result, r, source.NewMockSource()))
+ mockCtrl := gomock.NewController(t)
+ defer mockCtrl.Finish()
+
+ mockSource := mocks.NewMockSource(mockCtrl)
+ require.Equal(t, false, auth.TryAuthenticate(result, r, mockSource))
}
func TestTryAuthenticateWithError(t *testing.T) {
@@ -95,7 +100,11 @@ func TestTryAuthenticateWithError(t *testing.T) {
reqURL.Scheme = request.SchemeHTTPS
r := &http.Request{URL: reqURL}
- require.Equal(t, true, auth.TryAuthenticate(result, r, source.NewMockSource()))
+ mockCtrl := gomock.NewController(t)
+ defer mockCtrl.Finish()
+
+ mockSource := mocks.NewMockSource(mockCtrl)
+ require.Equal(t, true, auth.TryAuthenticate(result, r, mockSource))
require.Equal(t, http.StatusUnauthorized, result.Code)
}
@@ -114,7 +123,11 @@ func TestTryAuthenticateWithCodeButInvalidState(t *testing.T) {
session.Values["state"] = "state"
session.Save(r, result)
- require.Equal(t, true, auth.TryAuthenticate(result, r, source.NewMockSource()))
+ mockCtrl := gomock.NewController(t)
+ defer mockCtrl.Finish()
+
+ mockSource := mocks.NewMockSource(mockCtrl)
+ require.Equal(t, true, auth.TryAuthenticate(result, r, mockSource))
require.Equal(t, http.StatusUnauthorized, result.Code)
}
@@ -136,7 +149,11 @@ func TestTryAuthenticateRemoveTokenFromRedirect(t *testing.T) {
session.Values["proxy_auth_domain"] = "https://domain.com"
session.Save(r, result)
- require.Equal(t, true, auth.TryAuthenticate(result, r, source.NewMockSource()))
+ mockCtrl := gomock.NewController(t)
+ defer mockCtrl.Finish()
+
+ mockSource := mocks.NewMockSource(mockCtrl)
+ require.Equal(t, true, auth.TryAuthenticate(result, r, mockSource))
require.Equal(t, http.StatusFound, result.Code)
redirect, err := url.Parse(result.Header().Get("Location"))
@@ -152,7 +169,11 @@ func TestTryAuthenticateWithDomainAndState(t *testing.T) {
require.NoError(t, err)
r := &http.Request{URL: reqURL}
- require.Equal(t, true, auth.TryAuthenticate(result, r, source.NewMockSource()))
+ mockCtrl := gomock.NewController(t)
+ defer mockCtrl.Finish()
+
+ mockSource := mocks.NewMockSource(mockCtrl)
+ require.Equal(t, true, auth.TryAuthenticate(result, r, mockSource))
require.Equal(t, http.StatusFound, result.Code)
redirect, err := url.Parse(result.Header().Get("Location"))
require.NoError(t, err)
@@ -208,7 +229,12 @@ func testTryAuthenticateWithCodeAndState(t *testing.T, https bool) {
})
result := httptest.NewRecorder()
- require.Equal(t, true, auth.TryAuthenticate(result, r, source.NewMockSource()))
+
+ mockCtrl := gomock.NewController(t)
+ defer mockCtrl.Finish()
+
+ mockSource := mocks.NewMockSource(mockCtrl)
+ require.Equal(t, true, auth.TryAuthenticate(result, r, mockSource))
res := result.Result()
defer res.Body.Close()
diff --git a/internal/mocks/mocks.go b/internal/mocks/mocks.go
index e1f0f6d7..2816205d 100644
--- a/internal/mocks/mocks.go
+++ b/internal/mocks/mocks.go
@@ -5,10 +5,9 @@
package mocks
import (
+ gomock "github.com/golang/mock/gomock"
http "net/http"
reflect "reflect"
-
- gomock "github.com/golang/mock/gomock"
)
// MockArtifact is a mock of Artifact interface
diff --git a/internal/mocks/source.go b/internal/mocks/source.go
new file mode 100644
index 00000000..c6cc6216
--- /dev/null
+++ b/internal/mocks/source.go
@@ -0,0 +1,50 @@
+// Code generated by MockGen. DO NOT EDIT.
+// Source: internal/source/source.go
+
+// Package mocks is a generated GoMock package.
+package mocks
+
+import (
+ context "context"
+ gomock "github.com/golang/mock/gomock"
+ domain "gitlab.com/gitlab-org/gitlab-pages/internal/domain"
+ reflect "reflect"
+)
+
+// MockSource is a mock of Source interface
+type MockSource struct {
+ ctrl *gomock.Controller
+ recorder *MockSourceMockRecorder
+}
+
+// MockSourceMockRecorder is the mock recorder for MockSource
+type MockSourceMockRecorder struct {
+ mock *MockSource
+}
+
+// NewMockSource creates a new mock instance
+func NewMockSource(ctrl *gomock.Controller) *MockSource {
+ mock := &MockSource{ctrl: ctrl}
+ mock.recorder = &MockSourceMockRecorder{mock}
+ return mock
+}
+
+// EXPECT returns an object that allows the caller to indicate expected use
+func (m *MockSource) EXPECT() *MockSourceMockRecorder {
+ return m.recorder
+}
+
+// GetDomain mocks base method
+func (m *MockSource) GetDomain(arg0 context.Context, arg1 string) (*domain.Domain, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "GetDomain", arg0, arg1)
+ ret0, _ := ret[0].(*domain.Domain)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// GetDomain indicates an expected call of GetDomain
+func (mr *MockSourceMockRecorder) GetDomain(arg0, arg1 interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDomain", reflect.TypeOf((*MockSource)(nil).GetDomain), arg0, arg1)
+}
diff --git a/internal/source/source_mock.go b/internal/source/source_mock.go
deleted file mode 100644
index 67e80833..00000000
--- a/internal/source/source_mock.go
+++ /dev/null
@@ -1,38 +0,0 @@
-package source
-
-import (
- "context"
-
- "github.com/stretchr/testify/mock"
-
- "gitlab.com/gitlab-org/gitlab-pages/internal/domain"
-)
-
-// MockSource can be used for testing
-type MockSource struct {
- mock.Mock
-}
-
-// GetDomain is a mocked function
-func (m *MockSource) GetDomain(ctx context.Context, name string) (*domain.Domain, error) {
- args := m.Called(name)
- err := args.Error(1)
-
- d, ok := args.Get(0).(*domain.Domain)
- if !ok {
- return nil, err
- }
-
- return d, err
-}
-
-func (m *MockSource) IsReady() bool {
- args := m.Called()
-
- return args.Get(0).(bool)
-}
-
-// NewMockSource returns a new Source mock for testing
-func NewMockSource() *MockSource {
- return &MockSource{}
-}