Search in sources :

Example 16 with GreetingResponse

use of io.scalecube.services.sut.GreetingResponse in project scalecube by scalecube.

the class ServiceCallLocalTest method test_local_async_greeting_return_Message.

@Test
public void test_local_async_greeting_return_Message() {
    ServiceMessage result = provider.call().requestOne(GREETING_REQUEST_REQ).block(timeout);
    // print the greeting.
    GreetingResponse responseData = result.data();
    System.out.println("local_async_greeting_return_Message :" + responseData);
    assertEquals(" hello to: joe", responseData.getResult());
}
Also used : ServiceMessage(io.scalecube.services.api.ServiceMessage) GreetingResponse(io.scalecube.services.sut.GreetingResponse) EmptyGreetingResponse(io.scalecube.services.sut.EmptyGreetingResponse) Test(org.junit.jupiter.api.Test)

Example 17 with GreetingResponse

use of io.scalecube.services.sut.GreetingResponse in project scalecube by scalecube.

the class RoutersTest method test_tag_request_selection_logic.

@Test
public void test_tag_request_selection_logic() {
    ServiceCall service = gateway.call().router((reg, msg) -> reg.listServiceReferences().stream().filter(ref -> ((GreetingRequest) msg.data()).getName().equals(ref.tags().get("ONLYFOR"))).findFirst());
    // call the service.
    for (int i = 0; i < 1e2; i++) {
        GreetingResponse resultForFransin = service.requestOne(GREETING_REQUEST_REQ2, GreetingResponse.class).block(TIMEOUT).data();
        GreetingResponse resultForJoe = service.requestOne(GREETING_REQUEST_REQ, GreetingResponse.class).block(TIMEOUT).data();
        assertEquals("1", resultForJoe.sender());
        assertEquals("2", resultForFransin.sender());
    }
}
Also used : ServiceCall(io.scalecube.services.ServiceCall) GreetingRequest(io.scalecube.services.sut.GreetingRequest) GreetingResponse(io.scalecube.services.sut.GreetingResponse) Test(org.junit.jupiter.api.Test) BaseTest(io.scalecube.services.BaseTest)

Example 18 with GreetingResponse

use of io.scalecube.services.sut.GreetingResponse in project scalecube by scalecube.

the class ServiceRemoteTest method test_remote_bidi_greeting_message_expect_NotAuthorized.

@Test
public void test_remote_bidi_greeting_message_expect_NotAuthorized() {
    // get a proxy to the service api.
    GreetingService service = createProxy();
    Sinks.Many<GreetingRequest> requests = Sinks.many().multicast().directBestEffort();
    // call the service.
    Flux<GreetingResponse> responses = service.bidiGreetingNotAuthorizedMessage(requests.asFlux().onBackpressureBuffer().map(request -> ServiceMessage.builder().data(request).build())).map(ServiceMessage::data);
    StepVerifier.create(responses).then(() -> requests.emitNext(new GreetingRequest("joe-1"), FAIL_FAST)).expectErrorMessage("Not authorized").verify(Duration.ofSeconds(3));
}
Also used : ServiceMessage(io.scalecube.services.api.ServiceMessage) Sinks(reactor.core.publisher.Sinks) GreetingRequest(io.scalecube.services.sut.GreetingRequest) EmptyGreetingRequest(io.scalecube.services.sut.EmptyGreetingRequest) GreetingResponse(io.scalecube.services.sut.GreetingResponse) EmptyGreetingResponse(io.scalecube.services.sut.EmptyGreetingResponse) GreetingService(io.scalecube.services.sut.GreetingService) Test(org.junit.jupiter.api.Test)

Example 19 with GreetingResponse

use of io.scalecube.services.sut.GreetingResponse in project scalecube by scalecube.

the class ServiceLocalTest method test_local_greeting_request_completes_before_timeout.

@Test
public void test_local_greeting_request_completes_before_timeout() {
    GreetingService service = microservices.call().api(GreetingService.class);
    // call the service.
    GreetingResponse result = service.greetingRequestTimeout(new GreetingRequest("joe", timeout)).block(timeout.plusSeconds(1));
    // print the greeting.
    System.out.println("2. greeting_request_completes_before_timeout : " + result.getResult());
    assertEquals(" hello to: joe", result.getResult());
}
Also used : GreetingRequest(io.scalecube.services.sut.GreetingRequest) GreetingResponse(io.scalecube.services.sut.GreetingResponse) GreetingService(io.scalecube.services.sut.GreetingService) Test(org.junit.jupiter.api.Test)

Example 20 with GreetingResponse

use of io.scalecube.services.sut.GreetingResponse in project scalecube by scalecube.

the class ServiceLocalTest method test_local_no_params.

@Test
public void test_local_no_params() {
    // get a proxy to the service api.
    GreetingService service = createProxy(microservices);
    // call the service.
    Mono<String> future = Mono.from(service.greetingNoParams());
    AtomicReference<String> greetingResponse = new AtomicReference<>();
    future.doOnNext((onNext) -> {
        // print the greeting.
        System.out.println("test_local_async_no_params :" + onNext);
        greetingResponse.set(onNext);
    }).block(Duration.ofSeconds(1));
    assertEquals("hello unknown", greetingResponse.get());
}
Also used : Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) Sinks(reactor.core.publisher.Sinks) BeforeEach(org.junit.jupiter.api.BeforeEach) StepVerifier(reactor.test.StepVerifier) GreetingResponse(io.scalecube.services.sut.GreetingResponse) Mono(reactor.core.publisher.Mono) AtomicReference(java.util.concurrent.atomic.AtomicReference) Test(org.junit.jupiter.api.Test) Flux(reactor.core.publisher.Flux) AfterEach(org.junit.jupiter.api.AfterEach) FAIL_FAST(reactor.core.publisher.Sinks.EmitFailureHandler.FAIL_FAST) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) GreetingService(io.scalecube.services.sut.GreetingService) Duration(java.time.Duration) GreetingServiceImpl(io.scalecube.services.sut.GreetingServiceImpl) ServiceMessage(io.scalecube.services.api.ServiceMessage) GreetingRequest(io.scalecube.services.sut.GreetingRequest) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) AtomicReference(java.util.concurrent.atomic.AtomicReference) GreetingService(io.scalecube.services.sut.GreetingService) Test(org.junit.jupiter.api.Test)

Aggregations

GreetingResponse (io.scalecube.services.sut.GreetingResponse)28 Test (org.junit.jupiter.api.Test)28 GreetingRequest (io.scalecube.services.sut.GreetingRequest)23 GreetingService (io.scalecube.services.sut.GreetingService)22 ServiceMessage (io.scalecube.services.api.ServiceMessage)15 EmptyGreetingResponse (io.scalecube.services.sut.EmptyGreetingResponse)14 EmptyGreetingRequest (io.scalecube.services.sut.EmptyGreetingRequest)11 Sinks (reactor.core.publisher.Sinks)10 Duration (java.time.Duration)7 GreetingServiceImpl (io.scalecube.services.sut.GreetingServiceImpl)6 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)6 Assertions.assertThrows (org.junit.jupiter.api.Assertions.assertThrows)6 Assertions.assertTrue (org.junit.jupiter.api.Assertions.assertTrue)6 Flux (reactor.core.publisher.Flux)6 Mono (reactor.core.publisher.Mono)6 FAIL_FAST (reactor.core.publisher.Sinks.EmitFailureHandler.FAIL_FAST)6 StepVerifier (reactor.test.StepVerifier)6 AtomicReference (java.util.concurrent.atomic.AtomicReference)4 AfterEach (org.junit.jupiter.api.AfterEach)4 BeforeEach (org.junit.jupiter.api.BeforeEach)4