package com.wesabe.servlet.normalizers.tests;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;
import com.wesabe.servlet.normalizers.SessionIdNormalizer;
import com.wesabe.servlet.normalizers.ValidationException;
@RunWith(Enclosed.class)
public class SessionIdNormalizerTest {
public static class Normalizing_Valid_Session_Ids {
private final SessionIdNormalizer normalizer = new SessionIdNormalizer();
@Test
public void itReturnsTheSessionId() throws Exception {
assertThat(normalizer.normalize("AHHDN9910HHDHA"), is("AHHDN9910HHDHA"));
}
}
public static class Normalizing_Malformed_Session_Ids {
private final SessionIdNormalizer normalizer = new SessionIdNormalizer();
@Test
public void itThrowsAValidationException() throws Exception {
try {
normalizer.normalize("AHAHAHA\0");
fail("should have thrown a validation exception, but didn't");
} catch (ValidationException e) {
assertThat(e.getMessage(), is("Invalid value: AHAHAHA\0 (not a valid session ID)"));
}
}
}
public static class Normalizing_Short_Session_Ids {
private final SessionIdNormalizer normalizer = new SessionIdNormalizer();
@Test
public void itThrowsAValidationException() throws Exception {
try {
normalizer.normalize("WOO");
fail("should have thrown a validation exception, but didn't");
} catch (ValidationException e) {
assertThat(e.getMessage(), is("Invalid value: WOO (not a valid session ID)"));
}
}
}
public static class Normalizing_LONG_Session_Ids {
private final SessionIdNormalizer normalizer = new SessionIdNormalizer();
@Test
public void itThrowsAValidationException() throws Exception {
try {
normalizer.normalize("WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO");
fail("should have thrown a validation exception, but didn't");
} catch (ValidationException e) {
assertThat(e.getMessage(), is("Invalid value: WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO (not a valid session ID)"));
}
}
}
}