@Test public void testExceptionInExecuteBlock(TestContext context) { Async async = context.async(); executeBlockingComponent.executeBlocking(future -> { throw new ExampleException("Desroches"); }, result -> { context.assertFalse(result.isSuccess()); context.assertTrue(result.isError()); context.assertTrue(result.getError() instanceof ExampleException); context.assertEquals(result.getError().getMessage(), "Desroches"); context.assertNull(result.getResult()); async.complete(); }); }
/** * Simple write to "/write". Must be valid Influx line format. * * @param lineDocument document to write, as string * @param failureHandler handler in case of failure */ public void write(String lineDocument, final IAsyncHandler<InfluxException> failureHandler) { // Make request to influx IHttpClientRequest request = httpClient.request(writeUrl.toString(), HttpMethod.POST, result -> { if (result.isError() || result.getResult().getResponseCode() < 200 || result.getResult().getResponseCode() > 299) { failureHandler.handle(new InfluxException(result.getResult())); } }); // For some reason Java's URLEncoding doesn't seem to be parseable by influx? //request.addHeader("Content-Type", "application/x-www-form-urlencoded"); request.addHeader("Content-Type", "text/plain"); //$NON-NLS-1$ //$NON-NLS-2$ request.write(lineDocument, StandardCharsets.UTF_8.name()); request.end(); }
@Override public void handle(IAsyncResult<Void> result) { if (result.isSuccess()) { updateDataVersion(); } handler.handle(result); } });
@Test public void testSuccessfulExecution(TestContext context) { Async async = context.async(); executeBlockingComponent.executeBlocking(future -> { future.completed("The Farquhar Islands"); }, result -> { context.assertTrue(result.isSuccess()); context.assertFalse(result.isError()); context.assertEquals(result.getResult(), "The Farquhar Islands"); context.assertNull(result.getError()); async.complete(); }); }
/** * Simple write to "/write". Must be valid Influx line format. * * @param lineDocument document to write, as string * @param failureHandler handler in case of failure */ public void write(String lineDocument, final IAsyncHandler<InfluxException> failureHandler) { // Make request to influx IHttpClientRequest request = httpClient.request(writeUrl.toString(), HttpMethod.POST, result -> { if (result.isError() || result.getResult().getResponseCode() < 200 || result.getResult().getResponseCode() > 299) { failureHandler.handle(new InfluxException(result.getResult())); } }); // For some reason Java's URLEncoding doesn't seem to be parseable by influx? //request.addHeader("Content-Type", "application/x-www-form-urlencoded"); request.addHeader("Content-Type", "text/plain"); //$NON-NLS-1$ //$NON-NLS-2$ request.write(lineDocument, StandardCharsets.UTF_8.name()); request.end(); }
/** * @see io.apiman.gateway.engine.async.IAsyncHandler#handle(java.lang.Object) */ @Override public void handle(IAsyncResult<Void> result) { if (result.isSuccess()) { updateDataVersion(); } handler.handle(result); } });
@Test public void testFailedExecution(TestContext context) { Async async = context.async(); executeBlockingComponent.executeBlocking(future -> { future.fail(new ExampleException("Silhoutte")); }, result -> { context.assertFalse(result.isSuccess()); context.assertTrue(result.isError()); context.assertTrue(result.getError() instanceof ExampleException); context.assertEquals(result.getError().getMessage(), "Silhoutte"); context.assertNull(result.getResult()); async.complete(); }); }
@Override public void handle(IAsyncResult<Api> result) { if (result.isSuccess()) { Api api = result.getResult(); if (api != null) { List<Policy> policies = api.getApiPolicies(); decryptPolicies(organizationId, apiId, apiVersion, EntityType.Api, policies); decryptEndpointProperties(organizationId, apiId, apiVersion, EntityType.Api, api.getEndpointProperties()); } } handler.handle(result); } });