@Test public void isSatisfiedShouldSucceedWithValidUrl() throws Exception { String url = "http://www.citrusframework.org"; String timeout = "3000"; String httpResponseCode = "200"; reset(connection); when(connection.getResponseCode()).thenReturn(200); HttpCondition testling = new HttpCondition() { @Override protected HttpURLConnection openConnection(URL url) { Assert.assertEquals(url.toExternalForm(), "http://www.citrusframework.org"); return connection; } }; testling.setUrl(url); testling.setTimeout(timeout); testling.setHttpResponseCode(httpResponseCode); reset(context); when(context.resolveDynamicValue(url)).thenReturn(url); when(context.resolveDynamicValue(httpResponseCode)).thenReturn(httpResponseCode); when(context.resolveDynamicValue(timeout)).thenReturn(timeout); Assert.assertTrue(testling.isSatisfied(context)); verify(connection).setConnectTimeout(3000); verify(connection).setRequestMethod("HEAD"); verify(connection).disconnect(); }
@Test public void isSatisfiedShouldFailDueToInvalidUrl() throws Exception { String url = "http://127.0.0.1:13333/some/unknown/path"; String httpResponseCode = "200"; String timeout = "1000"; HttpCondition testling = new HttpCondition(); testling.setUrl(url); testling.setHttpResponseCode(httpResponseCode); testling.setTimeout(timeout); reset(context); when(context.resolveDynamicValue(url)).thenReturn(url); when(context.resolveDynamicValue(httpResponseCode)).thenReturn(httpResponseCode); when(context.resolveDynamicValue(timeout)).thenReturn(timeout); Assert.assertFalse(testling.isSatisfied(context)); }