package com.vaadin.tests.themes;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.fail;
import java.net.HttpURLConnection;
import java.net.URL;
import org.junit.Test;
import com.vaadin.tests.tb3.SingleBrowserTest;
//Extending SingleBrowserTest just to include the test into our test suites.
public class FaviconTest extends SingleBrowserTest {
@Test
public void chameleonHasFavicon() {
assertThatThemeHasFavicon("chameleon");
}
@Test
public void runoHasFavicon() {
assertThatThemeHasFavicon("runo");
}
@Test
public void reindeerHasFavicon() {
assertThatThemeHasFavicon("reindeer");
}
@Test
public void valoHasFavicon() {
assertThatThemeHasFavicon("valo");
}
private void assertThatThemeHasFavicon(String theme) {
assertThat(getResponseCode(theme), is(200));
}
private int getResponseCode(String theme) {
try {
URL url = new URL(String.format("%s/VAADIN/themes/%s/favicon.ico",
getBaseURL(), theme));
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setRequestMethod("GET");
connection.connect();
return connection.getResponseCode();
} catch (Exception e) {
fail(e.getMessage());
}
return 0;
}
}