package ru.qatools.gridrouter; import org.junit.*; import ru.qatools.gridrouter.utils.GridRouterRule; import ru.qatools.gridrouter.utils.HubEmulatorRule; import static java.util.concurrent.TimeUnit.SECONDS; import static org.hamcrest.MatcherAssert.assertThat; import static org.openqa.selenium.remote.DesiredCapabilities.firefox; import static ru.qatools.gridrouter.utils.GridRouterRule.USER_1; import static ru.qatools.gridrouter.utils.GridRouterRule.USER_4; import static ru.qatools.gridrouter.utils.MatcherUtils.canObtain; import static ru.qatools.gridrouter.utils.QuotaUtils.*; import static ru.yandex.qatools.matchers.decorators.MatcherDecorators.should; import static ru.yandex.qatools.matchers.decorators.MatcherDecorators.timeoutHasExpired; /** * @author Innokenty Shuvalov innokenty@yandex-team.ru */ @Ignore public class QuotaReloadTest { public static final int HUB_PORT_2 = 8082; @Rule public GridRouterRule gridRouter = new GridRouterRule(); @Rule public HubEmulatorRule hub2 = new HubEmulatorRule( HUB_PORT_2, hub -> hub.emulate().newSessions(1)); @Test public void testQuotaIsReloadedOnFileChange() throws Exception { replacePortInQuotaFile(USER_1, hub2.getPort()); assertThat(USER_1, should(canObtain(gridRouter, firefox())) .whileWaitingUntil(timeoutHasExpired(SECONDS.toMillis(60)) .withPollingInterval(SECONDS.toMillis(3)))); } @Test public void testNewQuotaFileIsLoaded() throws Exception { copyQuotaFile(USER_1, USER_4, 0, 0, hub2.getPort()); assertThat(USER_4, should(canObtain(gridRouter, firefox())) .whileWaitingUntil(timeoutHasExpired(SECONDS.toMillis(60)) .withPollingInterval(SECONDS.toMillis(3)))); } @After public void tearDown() { hub2.verify().newSessionRequestsCountIs(1); hub2.verify().totalRequestsCountIs(1); } @AfterClass public static void restoreQuotaFiles() throws Exception { replacePortInQuotaFile(USER_1, 8081); deleteQuotaFile(USER_4); } }