Heroku Memcached Cloud Junit Test
package com.example.cache;
import static org.junit.Assert.*;
import java.io.IOException;
import java.math.BigInteger;
import net.spy.memcached.AddrUtil;
import net.spy.memcached.ConnectionFactoryBuilder;
import net.spy.memcached.MemcachedClient;
import net.spy.memcached.auth.AuthDescriptor;
import net.spy.memcached.auth.PlainCallbackHandler;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.example.model.Customer;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class CacheCustomerServiceTest {
private static final String USERNAME="######";
private static final String PASSWORD="######";
private static final String HOST="######";
@Configuration
static class ContextConfiguration{
@Bean
public MemcachedClient memcachedConfig() {
try{
AuthDescriptor ad = new AuthDescriptor(new String[] { "PLAIN" },
new PlainCallbackHandler(USERNAME, PASSWORD));
MemcachedClient mc = new MemcachedClient(
new ConnectionFactoryBuilder()
.setProtocol(ConnectionFactoryBuilder.Protocol.BINARY)
.setAuthDescriptor(ad).build(),
AddrUtil.getAddresses(HOST));
return mc;
} catch (IOException ex) {}
return null;
}
}
@Autowired MemcachedClient memcachedConfig;
@Test
public void testMemCachedSet() {
memcachedConfig.set("customerKey", 3600, new Customer(new BigInteger("1"), "John", "Doe"));
Object value = memcachedConfig.get("customerKey");
System.out.println(value);
}
}