package eu.hurion.vaadin.heroku;
import com.google.common.collect.Lists;
import de.javakaffee.web.msm.MemcachedBackupSessionManager;
import de.javakaffee.web.msm.MemcachedSessionService;
import org.testng.annotations.Test;
import java.util.List;
import static eu.hurion.vaadin.heroku.MemcachedManagerBuilder.*;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.*;
public class MemcachedManagerBuilderTest {
public static final String ADAM = "Adam";
public static final String PASSWORD = "password123!";
public static final String URL = "memcached_url";
@Test
public void allBaseConfiguration() {
List<MemcachedBackupSessionManager> managers = Lists.newArrayList(
memcachedConfig().build(),
memcacheAddOn().build(),
memcachierAddOn().build());
for (MemcachedBackupSessionManager manager : managers) {
assertThat(manager.isSticky(), is(false));
assertThat(manager.isSessionBackupAsync(), is(false));
assertThat(manager.getMemcachedNodes(), is("localhost:11211"));
assertThat(manager.getDistributable(), is(true));
final MemcachedSessionService memcachedSessionService = manager.getMemcachedSessionService();
assertThat(memcachedSessionService.getUsername(), is(nullValue()));
assertThat(memcachedSessionService.getPassword(), is(nullValue()));
}
}
@Test
public void setUsername() {
final MemcachedBackupSessionManager manager = memcachedConfig()
.username(ADAM).build();
final MemcachedSessionService memcachedSessionService = manager.getMemcachedSessionService();
assertThat(memcachedSessionService.getUsername(), is(ADAM));
}
@Test
public void setPassword() {
final MemcachedBackupSessionManager manager = memcachedConfig()
.password(PASSWORD).build();
final MemcachedSessionService memcachedSessionService = manager.getMemcachedSessionService();
assertThat(memcachedSessionService.getPassword(), is(PASSWORD));
}
@Test
public void setUrl() {
final MemcachedBackupSessionManager manager = memcachedConfig()
.url(URL).build();
assertThat(manager.getMemcachedNodes(), equalTo(URL +":" + MemcachedManagerBuilder.DEFAULT_MEMCACHEPORT));
}
@Test
public void setPort() {
final MemcachedBackupSessionManager manager = memcachedConfig()
.port(1234).build();
assertThat(manager.getMemcachedNodes(), equalTo(DEFAULT_URL + ":1234"));
}
@Test
public void toStringIsCorrect(){
final String configToString = memcachedConfig().toString();
assertThat(configToString, is("MemcachedManagerBuilder{username='null', password='null', url='localhost', port=11211}"));
}
}