diff options
author | Ben Morrison <ben@gbmor.dev> | 2019-06-09 03:30:36 -0400 |
---|---|---|
committer | Ben Morrison <ben@gbmor.dev> | 2019-06-09 03:30:36 -0400 |
commit | 7f76158b9565d804ada682c1a9aa83c22cb8de71 (patch) | |
tree | ce387d25941bb9a13fb495ddd439309568fffbe9 | |
parent | 5f06e58a09c21e8016197fc8eefc38a86e9eb3e7 (diff) | |
download | getwtxt-7f76158b9565d804ada682c1a9aa83c22cb8de71.tar.gz |
cache-related tests
-rw-r--r-- | svc/cache_test.go | 53 | ||||
-rw-r--r-- | svc/init_test.go | 6 |
2 files changed, 55 insertions, 4 deletions
diff --git a/svc/cache_test.go b/svc/cache_test.go index f298508..29b92b8 100644 --- a/svc/cache_test.go +++ b/svc/cache_test.go @@ -2,8 +2,52 @@ package svc // import "github.com/getwtxt/getwtxt/svc" import ( "testing" + "time" ) +func Test_cacheTimer(t *testing.T) { + initTestConf() + dur, _ := time.ParseDuration("5m") + back30, _ := time.ParseDuration("-30m") + + cases := []struct { + name string + lastCache time.Time + interval time.Duration + expect bool + }{ + { + name: "Past Interval", + lastCache: time.Now().Add(back30), + interval: dur, + expect: true, + }, + { + name: "Before Interval", + lastCache: time.Now(), + interval: dur, + expect: false, + }, + } + + for _, tt := range cases { + t.Run(tt.name, func(t *testing.T) { + + confObj.Mu.Lock() + confObj.LastCache = tt.lastCache + confObj.CacheInterval = tt.interval + confObj.Mu.Unlock() + + res := cacheTimer() + + if res != tt.expect { + t.Errorf("Got %v, expected %v\n", res, tt.expect) + } + }) + } + +} + func Test_refreshCache(t *testing.T) { initTestConf() confObj.Mu.RLock() @@ -30,3 +74,12 @@ func Benchmark_refreshCache(b *testing.B) { refreshCache() } } + +func Benchmark_pingAssets(b *testing.B) { + initTestConf() + b.ResetTimer() + + for i := 0; i < b.N; i++ { + pingAssets() + } +} diff --git a/svc/init_test.go b/svc/init_test.go index cac2fe6..11a1593 100644 --- a/svc/init_test.go +++ b/svc/init_test.go @@ -25,8 +25,8 @@ func initTestConf() { tmpls = testTemplates() confObj.Mu.RLock() + defer confObj.Mu.RUnlock() testport = fmt.Sprintf(":%v", confObj.Port) - confObj.Mu.RUnlock() logToNull() }) @@ -69,6 +69,7 @@ func testConfig() { viper.SetDefault("Instance.Description", "A fast, resilient twtxt registry server written in Go!") confObj.Mu.Lock() + defer confObj.Mu.Unlock() confObj.Port = viper.GetInt("ListenPort") confObj.AssetsDir = "../" + viper.GetString("AssetsDirectory") @@ -92,7 +93,4 @@ func testConfig() { confObj.Instance.Owner = viper.GetString("Instance.OwnerName") confObj.Instance.Mail = viper.GetString("Instance.Email") confObj.Instance.Desc = viper.GetString("Instance.Description") - - confObj.Mu.Unlock() - } |