// +build !appengine package memcache import ( "bytes" "net" "testing" ) const testServer = "localhost:11211" func TestMemCache(t *testing.T) { conn, err := net.Dial("tcp", testServer) if err != nil { // TODO: rather than skip the test, fall back to a faked memcached server t.Skipf("skipping test; no server running at %s", testServer) } conn.Write([]byte("flush_all\r\n")) // flush memcache conn.Close() cache := New(testServer) key := "testKey" _, ok := cache.Get(key) if ok { t.Fatal("retrieved key before adding it") } val := []byte("some bytes") cache.Set(key, val) retVal, ok := cache.Get(key) if !ok { t.Fatal("could not retrieve an element we just added") } if !bytes.Equal(retVal, val) { t.Fatal("retrieved a different value than what we put in") } cache.Delete(key) _, ok = cache.Get(key) if ok { t.Fatal("deleted key still present") } }