org.eclipse.microprofile.rest.client.RestClientDefinitionException Java Examples
The following examples show how to use
org.eclipse.microprofile.rest.client.RestClientDefinitionException.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ClientServerTest.java From microprofile1.4-samples with MIT License | 6 votes |
@Test @RunAsClient public void testClientServer() throws IOException, IllegalStateException, RestClientDefinitionException, URISyntaxException { HelloService remoteApi = RestClientBuilder.newBuilder() .baseUrl(base) .build(HelloService.class); String response = remoteApi.hello("Programmer"); System.out.println("-------------------------------------------------------------------------"); System.out.println("Response: " + response); System.out.println("-------------------------------------------------------------------------"); assertTrue( response.contains("Hello Programmer!") ); }
Example #2
Source File: ClientServerAsyncTest.java From microprofile1.4-samples with MIT License | 6 votes |
@Test @RunAsClient public void testClientServerAsync() throws IOException, IllegalStateException, RestClientDefinitionException, URISyntaxException, InterruptedException, ExecutionException { HelloService remoteApi = RestClientBuilder.newBuilder() .baseUrl(base) .build(HelloService.class); String response = remoteApi.helloAsync("Programmer (Async)") .thenApply(String::toUpperCase) .toCompletableFuture() .get(); System.out.println("-------------------------------------------------------------------------"); System.out.println("Response: " + response); System.out.println("-------------------------------------------------------------------------"); assertTrue( response.contains("HELLO PROGRAMMER (ASYNC)!") ); }
Example #3
Source File: Validator.java From cxf with Apache License 2.0 | 6 votes |
private static void checkMethodsForMultipleHTTPMethodAnnotations(Method[] clientMethods) throws RestClientDefinitionException { Map<String, Class<? extends Annotation>> httpMethods = new HashMap<>(); for (Method method : clientMethods) { for (Annotation anno : method.getAnnotations()) { Class<? extends Annotation> annoClass = anno.annotationType(); HttpMethod verb = annoClass.getAnnotation(HttpMethod.class); if (verb != null) { httpMethods.put(verb.value(), annoClass); } } if (httpMethods.size() > 1) { throwException("VALIDATION_METHOD_WITH_MULTIPLE_VERBS", method, httpMethods.values()); } httpMethods.clear(); } }
Example #4
Source File: FaultToleranceTest.java From thorntail with Apache License 2.0 | 6 votes |
@Test public void testTimeout() throws InterruptedException, IllegalStateException, RestClientDefinitionException, MalformedURLException { HelloClient helloClient = RestClientBuilder.newBuilder().baseUrl(url).build(HelloClient.class); counter.reset(1); timer.reset(400); latch.reset(1); try { helloClient.helloTimeout(); fail(); } catch (TimeoutException expected) { } latch.await(); }
Example #5
Source File: RestClientProxyTest.java From thorntail with Apache License 2.0 | 6 votes |
@Test public void testClose() throws InterruptedException, IllegalStateException, RestClientDefinitionException, MalformedURLException { counter.reset(1); HelloClient helloClient = RestClientBuilder.newBuilder().baseUrl(url).build(HelloClient.class); RestClientProxy clientProxy = (RestClientProxy) helloClient; assertEquals("C:OK1:C", helloClient.hello()); clientProxy.close(); assertTrue(CharlieService.DESTROYED.get()); // Further calls are no-op clientProxy.close(); // Invoking any method on the client proxy should result in ISE try { helloClient.hello(); fail(); } catch (IllegalStateException expected) { } }
Example #6
Source File: ValidatorTest.java From cxf with Apache License 2.0 | 5 votes |
private void test(Class<?> clientInterface, String...expectedMessageTexts) { try { newBuilder().build(clientInterface); fail("Expected RestClientDefinitionException"); } catch (RestClientDefinitionException ex) { String msgText = ex.getMessage(); assertNotNull("No message text in RestClientDefinitionException", msgText); for (String expectedMessageText : expectedMessageTexts) { assertTrue("Exception text does not contain expected message: " + expectedMessageText, msgText.contains(expectedMessageText)); } } }
Example #7
Source File: Validator.java From cxf with Apache License 2.0 | 5 votes |
public static void checkValid(Class<?> userType) throws RestClientDefinitionException { if (!userType.isInterface()) { throwException("VALIDATION_NOT_AN_INTERFACE", userType); } Method[] methods = userType.getMethods(); checkMethodsForMultipleHTTPMethodAnnotations(methods); checkMethodsForInvalidURITemplates(userType, methods); checkForInvalidClientHeaderParams(userType, methods); }
Example #8
Source File: FaultToleranceTest.java From thorntail with Apache License 2.0 | 5 votes |
@Test public void testBulkhead() throws InterruptedException, IllegalStateException, RestClientDefinitionException, MalformedURLException, ExecutionException { int pool = BULKHEAD; // Start latch latch.reset(pool); // End latch latch.add("end", 1); ExecutorService executor = Executors.newFixedThreadPool(pool); try { HelloClient helloClient = RestClientBuilder.newBuilder().baseUrl(url).property("resteasy.connectionPoolSize", pool * 2).build(HelloClient.class); List<Future<String>> results = new ArrayList<>(); for (int i = 0; i < pool; i++) { results.add(executor.submit(() -> helloClient.helloBulkhead(true))); } // Wait until all requests are being processed if(!latch.await()) { fail(); } // Next invocation should return fallback due to BulkheadException assertEquals("bulkheadFallback", helloClient.helloBulkhead(false)); latch.countDown("end"); for (Future<String> future : results) { assertEquals("OK", future.get()); } } finally { executor.shutdown(); } }
Example #9
Source File: FaultToleranceTest.java From thorntail with Apache License 2.0 | 5 votes |
@Test public void testFallback() throws InterruptedException, IllegalStateException, RestClientDefinitionException, MalformedURLException { HelloClient helloClient = RestClientBuilder.newBuilder().baseUrl(url).build(HelloClient.class); timer.reset(0); counter.reset(3); assertEquals("fallback", helloClient.helloFallback()); assertEquals("defaultFallback", helloClient.helloFallbackDefaultMethod()); }
Example #10
Source File: FaultToleranceTest.java From thorntail with Apache License 2.0 | 5 votes |
@Test public void testRetry() throws InterruptedException, IllegalStateException, RestClientDefinitionException, MalformedURLException { counter.reset(3); timer.reset(0); HelloClient helloClient = RestClientBuilder.newBuilder().baseUrl(url).build(HelloClient.class); assertEquals("OK3", helloClient.helloRetry()); }
Example #11
Source File: HeaderPassingTest.java From thorntail with Apache License 2.0 | 5 votes |
@Test public void shouldPassHeadersFromClientAutomatically() throws IllegalStateException, RestClientDefinitionException { String baseUrl = url.toString() + "/v1"; String headerValue = "some header value"; HeaderConsumingClient client = RestClientBuilder.newBuilder() .baseUri(URI.create(baseUrl)) .build(HeaderConsumingClient.class); Map<String, String> headers = client.postWithHeader(headerValue, baseUrl); assertNotNull(headers); assertEquals(headerValue, headers.get(HEADER_NAME)); assertEquals(headerValue, headers.get("ClientHeaderParam")); }
Example #12
Source File: RestClientProxyTest.java From thorntail with Apache License 2.0 | 5 votes |
@Test public void testGetClient() throws InterruptedException, IllegalStateException, RestClientDefinitionException, MalformedURLException { counter.reset(1); HelloClient helloClient = RestClientBuilder.newBuilder().baseUrl(url).build(HelloClient.class); Client client = ((RestClientProxy) helloClient).getClient(); assertNotNull(client); assertEquals("C:OK1:C", helloClient.hello()); client.close(); }
Example #13
Source File: MetricsTest.java From thorntail with Apache License 2.0 | 5 votes |
@Test public void testClassLevelCounted() throws IllegalStateException, RestClientDefinitionException { counter.reset(1); timer.reset(0); HelloMetricsClassLevelClient helloClient = RestClientBuilder.newBuilder().baseUrl(url).build(HelloMetricsClassLevelClient.class); assertEquals("OK1", helloClient.hello()); assertEquals("OK2", helloClient.hello()); org.eclipse.microprofile.metrics.Counter metricsCounter = registry.getCounters().get(new MetricID(HelloMetricsClassLevelClient.class.getName() + "." + "hello")); assertNotNull(metricsCounter); assertEquals(2, metricsCounter.getCount()); }
Example #14
Source File: MetricsTest.java From thorntail with Apache License 2.0 | 5 votes |
@Test public void testCounted() throws IllegalStateException, RestClientDefinitionException { counter.reset(1); timer.reset(0); HelloMetricsClient helloClient = RestClientBuilder.newBuilder().baseUrl(url).build(HelloMetricsClient.class); assertEquals("OK1", helloClient.helloCounted()); assertEquals("OK2", helloClient.helloCounted()); assertEquals("OK3", helloClient.helloCounted()); org.eclipse.microprofile.metrics.Counter metricsCounter = registry.getCounters().get(new MetricID(HelloMetricsClient.COUNTED_NAME)); assertNotNull(metricsCounter); assertEquals(3, metricsCounter.getCount()); }
Example #15
Source File: MetricsTest.java From thorntail with Apache License 2.0 | 5 votes |
@Test public void testTimed() throws IllegalStateException, RestClientDefinitionException { counter.reset(1); timer.reset(0); HelloMetricsClient helloClient = RestClientBuilder.newBuilder().baseUrl(url).build(HelloMetricsClient.class); assertEquals("OK1", helloClient.helloTimed()); org.eclipse.microprofile.metrics.Timer metricsTimer = registry.getTimers().get(new MetricID(HelloMetricsClient.TIMED_NAME)); assertNotNull(metricsTimer); assertEquals(1, metricsTimer.getCount()); }
Example #16
Source File: InterceptorTest.java From thorntail with Apache License 2.0 | 5 votes |
@Test public void testInterception() throws InterruptedException, IllegalStateException, RestClientDefinitionException, MalformedURLException { counter.reset(1); HelloClient helloClient = RestClientBuilder.newBuilder().baseUrl(url).build(HelloClient.class); // Interceptor ordering should be: Charlie, Alpha, Bravo assertEquals("C:A:B:OK1:B:A:C", helloClient.hello()); }
Example #17
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenMultipleHeaderValuesSpecifiedIncludeComputeMethodOnMethod() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(MultiValueClientHeaderWithComputeMethodOnMethod.class); }
Example #18
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenMultipleHeaderValuesSpecifiedIncludeComputeMethodOnInterface() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(MultiValueClientHeaderWithComputeMethodOnInterface.class); }
Example #19
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenMultipleClientHeaderParamsSpecifySameHeaderOnInterface() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(MultipleHeadersOnSameInterface.class); }
Example #20
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenMultipleClientHeaderParamsSpecifySameHeaderOnMethod() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(MultipleHeadersOnSameMethod.class); }
Example #21
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenClientHeaderParamComputeValueSpecifiesMethodWithInvalidSignature() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(InvalidComputeMethodSignature.class); }
Example #22
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenClientHeaderParamComputeValueSpecifiesMissingMethod() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(MissingHeaderComputeMethod.class); }
Example #23
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenInterfaceHasMethodWithMismatchedPathParameter() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(TemplateMismatch.class); }
Example #24
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenInterfaceHasMethodWithPathParamAnnotationButNoURITemplate() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(MissingUriTemplate.class); }
Example #25
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenInterfaceHasMethodWithMissingPathParamAnnotation_templateDeclaredAtMethodLevel() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(MissingPathParamSub.class); }
Example #26
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenInterfaceHasMethodWithMissingPathParamAnnotation_templateDeclaredAtTypeLevel() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(MissingPathParam.class); }
Example #27
Source File: Validator.java From cxf with Apache License 2.0 | 4 votes |
private static void checkMethodsForInvalidURITemplates(Class<?> userType, Method[] methods) throws RestClientDefinitionException { Path classPathAnno = userType.getAnnotation(Path.class); URITemplate classTemplate = null; if (classPathAnno != null) { classTemplate = new URITemplate(classPathAnno.value()); } URITemplate template; for (Method method : methods) { Path methodPathAnno = method.getAnnotation(Path.class); if (methodPathAnno != null) { template = classPathAnno == null ? new URITemplate(methodPathAnno.value()) : new URITemplate(classPathAnno.value() + "/" + methodPathAnno.value()); } else { template = classTemplate; } if (template == null) { continue; } List<String> foundParams = new ArrayList<>(); for (Parameter p : method.getParameters()) { PathParam pathParam = p.getAnnotation(PathParam.class); if (pathParam != null) { foundParams.add(pathParam.value()); } } Set<String> allVariables = new HashSet<>(template.getVariables()); if (!allVariables.isEmpty()) { for (String variable : template.getVariables()) { if (!foundParams.contains(variable)) { throwException("VALIDATION_UNRESOLVED_PATH_PARAMS", userType, method); } } } else if (!foundParams.isEmpty()) { throwException("VALIDATION_EXTRA_PATH_PARAMS", userType, method); } } }
Example #28
Source File: Validator.java From cxf with Apache License 2.0 | 4 votes |
private static void throwException(String msgKey, Object...msgParams) throws RestClientDefinitionException { Message msg = new Message(msgKey, BUNDLE, msgParams); throw new RestClientDefinitionException(msg.toString()); }
Example #29
Source File: InvalidInterfaceTest.java From microprofile-rest-client with Apache License 2.0 | 4 votes |
@Test(expectedExceptions={RestClientDefinitionException.class}) public void testExceptionThrownWhenInterfaceHasMethodWithMultipleHTTPMethodAnnotations() throws Exception { RestClientBuilder.newBuilder().baseUri(new URI("http://localhost:8080/")).build(MultipleHTTPMethodAnnotations.class); }