diff --git a/bird/redis_cache_test.go b/bird/redis_cache_test.go index e54c546..a8b6103 100644 --- a/bird/redis_cache_test.go +++ b/bird/redis_cache_test.go @@ -56,3 +56,45 @@ func Test_RedisCacheAccessKeyMissing(t *testing.T) { t.Log("Cache error:", err) t.Log(parsed) } + +func Test_RedisCacheRoutes(t *testing.T) { + f, err := openFile("routes_bird1_ipv4.sample") + if err != nil { + t.Error(err) + } + defer f.Close() + + parsed := parseRoutes(f) + _, ok := parsed["routes"].([]Parsed) + if !ok { + t.Fatal("Error getting routes") + } + + cache, err := NewRedisCache(CacheConfig{ + RedisServer: "localhost:6379", + }) + + if err != nil { + t.Log("Redis server not available:", err) + t.Log("Skipping redis tests.") + return + } + + err = cache.Set("routes_protocol_test", parsed) + if err != nil { + t.Error(err) + } + + parsed, err = cache.Get("routes_protocol_test") + if err != nil { + t.Error(err) + return + } + + routes, ok := parsed["routes"].([]interface{}) + if !ok { + t.Error("Error getting routes") + } + + t.Log("Retrieved routes:", len(routes)) +}