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:
authorJaime Martinez <jmartinez@gitlab.com>2022-07-26 09:19:47 +0300
committerJaime Martinez <jmartinez@gitlab.com>2022-07-26 09:19:47 +0300
commit0674de2e8e74a35bec70380b02da63dd7db1b8bb (patch)
tree3de11e748d475e2559e26ed02bc7be6f56c24397 /internal
parent3084276ceb389521a20ed9caf7f8be5f67887171 (diff)
parent6827d12ae6e613295ce788365c08d7cab44d1f80 (diff)
Merge branch 'sh-test-cache-config-helper' into 'master'
Move test cache config into testhelpers Closes #799 See merge request gitlab-org/gitlab-pages!823
Diffstat (limited to 'internal')
-rw-r--r--internal/source/gitlab/cache/cache_test.go16
-rw-r--r--internal/source/gitlab/cache/entry_test.go3
-rw-r--r--internal/source/gitlab/gitlab_test.go16
-rw-r--r--internal/testhelpers/testhelpers.go12
4 files changed, 21 insertions, 26 deletions
diff --git a/internal/source/gitlab/cache/cache_test.go b/internal/source/gitlab/cache/cache_test.go
index aad357ae..6973fd31 100644
--- a/internal/source/gitlab/cache/cache_test.go
+++ b/internal/source/gitlab/cache/cache_test.go
@@ -12,17 +12,9 @@ import (
"gitlab.com/gitlab-org/gitlab-pages/internal/config"
"gitlab.com/gitlab-org/gitlab-pages/internal/source/gitlab/api"
+ "gitlab.com/gitlab-org/gitlab-pages/internal/testhelpers"
)
-var testCacheConfig = config.Cache{
- CacheExpiry: time.Second,
- CacheCleanupInterval: time.Second / 2,
- EntryRefreshTimeout: time.Second / 2,
- RetrievalTimeout: time.Second,
- MaxRetrievalInterval: time.Second / 3,
- MaxRetrievalRetries: 3,
-}
-
type clientMock struct {
counter uint64
lookups chan uint64
@@ -54,7 +46,7 @@ func withTestCache(config resolverConfig, cacheConfig *config.Cache, block func(
failure: config.failure,
}
if cacheConfig == nil {
- cacheConfig = &testCacheConfig
+ cacheConfig = &testhelpers.CacheConfig
}
cache := NewCache(resolver, cacheConfig)
@@ -221,7 +213,7 @@ func TestResolve(t *testing.T) {
})
t.Run("when retrieval failed with an error", func(t *testing.T) {
- cc := testCacheConfig
+ cc := testhelpers.CacheConfig
cc.MaxRetrievalInterval = 0
err := errors.New("500 error")
@@ -234,7 +226,7 @@ func TestResolve(t *testing.T) {
})
t.Run("when retrieval failed because of an internal retriever context timeout", func(t *testing.T) {
- cc := testCacheConfig
+ cc := testhelpers.CacheConfig
cc.RetrievalTimeout = 0
withTestCache(resolverConfig{}, &cc, func(cache *Cache, resolver *clientMock) {
diff --git a/internal/source/gitlab/cache/entry_test.go b/internal/source/gitlab/cache/entry_test.go
index 2ba26fd2..3bf2d67b 100644
--- a/internal/source/gitlab/cache/entry_test.go
+++ b/internal/source/gitlab/cache/entry_test.go
@@ -12,6 +12,7 @@ import (
"gitlab.com/gitlab-org/gitlab-pages/internal/config"
"gitlab.com/gitlab-org/gitlab-pages/internal/domain"
"gitlab.com/gitlab-org/gitlab-pages/internal/source/gitlab/api"
+ "gitlab.com/gitlab-org/gitlab-pages/internal/testhelpers"
)
func TestIsUpToDateAndNeedsRefresh(t *testing.T) {
@@ -54,7 +55,7 @@ func TestIsUpToDateAndNeedsRefresh(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
- entry := newCacheEntry("my.gitlab.com", testCacheConfig.EntryRefreshTimeout, testCacheConfig.CacheExpiry)
+ entry := newCacheEntry("my.gitlab.com", testhelpers.CacheConfig.EntryRefreshTimeout, testhelpers.CacheConfig.CacheExpiry)
if tt.resolved {
entry.response = &api.Lookup{}
}
diff --git a/internal/source/gitlab/gitlab_test.go b/internal/source/gitlab/gitlab_test.go
index 5a63edf2..df8299de 100644
--- a/internal/source/gitlab/gitlab_test.go
+++ b/internal/source/gitlab/gitlab_test.go
@@ -8,27 +8,17 @@ import (
"os"
"sync"
"testing"
- "time"
"github.com/golang/mock/gomock"
"github.com/stretchr/testify/require"
- "gitlab.com/gitlab-org/gitlab-pages/internal/config"
"gitlab.com/gitlab-org/gitlab-pages/internal/source/gitlab/api"
"gitlab.com/gitlab-org/gitlab-pages/internal/source/gitlab/cache"
"gitlab.com/gitlab-org/gitlab-pages/internal/source/gitlab/client"
"gitlab.com/gitlab-org/gitlab-pages/internal/source/gitlab/mock"
+ "gitlab.com/gitlab-org/gitlab-pages/internal/testhelpers"
)
-var testCacheConfig = config.Cache{
- CacheExpiry: time.Second,
- CacheCleanupInterval: time.Second / 2,
- EntryRefreshTimeout: time.Second / 2,
- RetrievalTimeout: time.Second,
- MaxRetrievalInterval: time.Second / 3,
- MaxRetrievalRetries: 3,
-}
-
type lookupPathTest struct {
file string
target string
@@ -171,7 +161,7 @@ func TestResolveLookupPathsConcurrentNetRequests(t *testing.T) {
t.Run(name, func(t *testing.T) {
wg := &sync.WaitGroup{}
mockClient := NewMockClient(t, test.file, nil, true)
- cache := cache.NewCache(mockClient, &testCacheConfig)
+ cache := cache.NewCache(mockClient, &testhelpers.CacheConfig)
for i := 0; i < 3; i++ {
go sendResolveRequest(t, wg, cache, test)
@@ -207,7 +197,7 @@ func TestResolveLookupPathsOrderDoesNotMatter(t *testing.T) {
for name, test := range tests {
t.Run(name, func(t *testing.T) {
mockClient := NewMockClient(t, test.file, nil, true)
- cache := cache.NewCache(mockClient, &testCacheConfig)
+ cache := cache.NewCache(mockClient, &testhelpers.CacheConfig)
source := Gitlab{client: cache, enableDisk: true}
request := httptest.NewRequest(http.MethodGet, test.target, nil)
diff --git a/internal/testhelpers/testhelpers.go b/internal/testhelpers/testhelpers.go
index fdd3e7d4..35fe1afa 100644
--- a/internal/testhelpers/testhelpers.go
+++ b/internal/testhelpers/testhelpers.go
@@ -8,11 +8,23 @@ import (
"net/url"
"os"
"testing"
+ "time"
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/require"
+
+ "gitlab.com/gitlab-org/gitlab-pages/internal/config"
)
+var CacheConfig = config.Cache{
+ CacheExpiry: time.Second,
+ CacheCleanupInterval: time.Second / 2,
+ EntryRefreshTimeout: time.Second / 2,
+ RetrievalTimeout: time.Second,
+ MaxRetrievalInterval: time.Second / 3,
+ MaxRetrievalRetries: 3,
+}
+
// AssertRedirectTo asserts that handler redirects to particular URL
func AssertRedirectTo(t *testing.T, handler http.HandlerFunc, method string,
url string, values url.Values, expectedURL string) {