package com.vaadin.tests.requesthandlers;
import java.util.List;
import org.junit.Assert;
import org.junit.Test;
import org.openqa.selenium.remote.DesiredCapabilities;
import com.vaadin.testbench.elements.LinkElement;
import com.vaadin.tests.tb3.MultiBrowserTest;
public class AppResource404Test extends MultiBrowserTest {
@Test
public void testOpenExistingResource() throws Exception {
openTestURL();
$(LinkElement.class).first().click(5, 5);
disableWaitingAndWait();
Assert.assertFalse("Page contains the given text",
driver.getPageSource().contains("404"));
}
@Test
public void testOpenNonExistingResource() {
openTestURL();
$(LinkElement.class).get(1).click(5, 5);
disableWaitingAndWait();
Assert.assertTrue("Page does not contain the given text",
driver.getPageSource().contains(
"/APP/connector/0/4/asdfasdf can not be found"));
}
@Test
public void testOpenResourceWith404() {
openTestURL();
$(LinkElement.class).get(2).click(5, 5);
disableWaitingAndWait();
Assert.assertTrue("Page does not contain the given text",
driver.getPageSource().contains("HTTP ERROR 404"));
Assert.assertTrue("Page does not contain the given text",
driver.getPageSource().contains("Problem accessing /run/APP/"));
}
@Test
public void testOpenResourceToUIProvider() {
openTestURL();
$(LinkElement.class).get(3).click(5, 5);
disableWaitingAndWait();
Assert.assertFalse("Page contains the given text",
driver.getPageSource().contains("can not be found"));
}
protected void disableWaitingAndWait() {
testBench().disableWaitForVaadin();
sleep(500);
}
@Override
public List<DesiredCapabilities> getBrowsersToTest() {
// IE11 does not show the details on the 404 page
return super.getBrowsersExcludingIE();
}
}