func Test_LedisCacher(t *testing.T) { Convey("Test ledis cache adapter", t, func() { opt := cache.Options{ Adapter: "ledis", AdapterConfig: "data_dir=./tmp.db", Interval: 1, } Convey("Basic operations", func() { t := tango.New() t.Use(cache.New(opt)) t.Get("/", new(CacheAction)) resp := httptest.NewRecorder() req, err := http.NewRequest("GET", "/", nil) So(err, ShouldBeNil) t.ServeHTTP(resp, req) t.Get("/id", new(Cache2Action)) resp = httptest.NewRecorder() req, err = http.NewRequest("GET", "/id", nil) So(err, ShouldBeNil) t.ServeHTTP(resp, req) }) }) }
func Test_PostgresCacher(t *testing.T) { Convey("Test postgres cache adapter", t, func() { Convey("Basic operations", func() { t := tango.New() t.Use(cache.New(opt)) t.Get("/", new(CacheAction)) resp := httptest.NewRecorder() req, err := http.NewRequest("GET", "/", nil) So(err, ShouldBeNil) t.ServeHTTP(resp, req) }) Convey("Increase and decrease operations", func() { t := tango.New() t.Use(cache.New(opt)) t.Get("/", new(Cache2Action)) resp := httptest.NewRecorder() req, err := http.NewRequest("GET", "/", nil) So(err, ShouldBeNil) t.ServeHTTP(resp, req) }) }) }
func Test_MemcacheCacher(t *testing.T) { Convey("Test memcache cache adapter", t, func() { opt := cache.Options{ Adapter: "memcache", AdapterConfig: "127.0.0.1:9090", } Convey("Basic operations", func() { t := tango.New() t.Use(cache.New(opt)) t.Get("/", new(CacheAction)) resp := httptest.NewRecorder() req, err := http.NewRequest("GET", "/", nil) So(err, ShouldBeNil) t.ServeHTTP(resp, req) }) Convey("Increase and decrease operations", func() { t := tango.New() t.Use(cache.New(opt)) t.Get("/", new(Cache2Action)) resp := httptest.NewRecorder() req, err := http.NewRequest("GET", "/", nil) So(err, ShouldBeNil) t.ServeHTTP(resp, req) }) }) }
func Test_RedisCacher(t *testing.T) { Convey("Test redis cache adapter", t, func() { opt := cache.Options{ Adapter: "redis", AdapterConfig: "addr=:6379,prefix=cache:", } Convey("Basic operations", func() { t := tango.New() t.Use(cache.New(opt)) t.Get("/", new(CacheAction)) resp := httptest.NewRecorder() req, err := http.NewRequest("GET", "/", nil) So(err, ShouldBeNil) t.ServeHTTP(resp, req) }) Convey("Increase and decrease operations", func() { t := tango.New() t.Use(cache.New(opt)) t.Get("/", new(Cache2Action)) resp := httptest.NewRecorder() req, err := http.NewRequest("GET", "/", nil) So(err, ShouldBeNil) t.ServeHTTP(resp, req) }) }) }
func Test_Cacher(t *testing.T) { Convey("Use cache middleware", t, func() { t := tango.Classic() t.Use(New()) t.Get("/", new(testCacheController)) resp := httptest.NewRecorder() req, err := http.NewRequest("GET", "/", nil) So(err, ShouldBeNil) t.ServeHTTP(resp, req) }) Convey("Register invalid adapter", t, func() { Convey("Adatper not exists", func() { defer func() { So(recover(), ShouldNotBeNil) }() t := tango.Classic() t.Use(New(Options{ Adapter: "fake", })) }) Convey("Provider value is nil", func() { defer func() { So(recover(), ShouldNotBeNil) }() Register("fake", nil) }) Convey("Register twice", func() { defer func() { So(recover(), ShouldNotBeNil) }() Register("memory", &MemoryCacher{}) }) }) }