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:
Diffstat (limited to 'domains_test.go')
-rw-r--r--domains_test.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/domains_test.go b/domains_test.go
index 5c16aa14..ae849f46 100644
--- a/domains_test.go
+++ b/domains_test.go
@@ -4,8 +4,14 @@ import (
"testing"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/assert"
+ "time"
+ "io/ioutil"
+ "crypto/rand"
+ "os"
)
+const updateFile = "shared/pages/.update"
+
func TestReadProjects(t *testing.T) {
*pagesDomain = "test.io"
@@ -33,3 +39,33 @@ func TestReadProjects(t *testing.T) {
assert.Contains(t, expectedDomains, actual)
}
}
+
+func writeRandomTimestamp() {
+ b := make([]byte, 10)
+ rand.Read(b)
+ ioutil.WriteFile(updateFile, b, 0600)
+}
+
+func TestWatchDomains(t *testing.T) {
+ update := make(chan domains)
+ go watchDomains(func(domains domains) {
+ update <- domains
+ }, time.Microsecond)
+
+ defer os.Remove(updateFile)
+
+ domains := <-update
+ assert.NotNil(t, domains, "if the domains are fetched on start")
+
+ writeRandomTimestamp()
+ domains = <-update
+ assert.NotNil(t, domains, "if the domains are updated after the creation")
+
+ writeRandomTimestamp()
+ domains = <-update
+ assert.NotNil(t, domains, "if the domains are updated after the timestamp change")
+
+ os.Remove(updateFile)
+ domains = <-update
+ assert.NotNil(t, domains, "if the domains are updated after the timestamp removal")
+}