Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 9ff527a

Browse files
committed
Add tests
1 parent db2b18b commit 9ff527a

File tree

5 files changed

+161
-0
lines changed

5 files changed

+161
-0
lines changed

services-gateway-netty/src/main/java/io/scalecube/services/gateway/rsocket/RSocketGateway.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ public RSocketGateway(GatewayOptions options, GatewaySessionHandler sessionHandl
3737
this(options, sessionHandler, DefaultErrorMapper.INSTANCE);
3838
}
3939

40+
public RSocketGateway(GatewayOptions options, ServiceProviderErrorMapper errorMapper) {
41+
this(options, GatewaySessionHandler.DEFAULT_INSTANCE, errorMapper);
42+
}
43+
4044
/**
4145
* Constructor.
4246
*
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package io.scalecube.services.gateway.http;
2+
3+
import static io.scalecube.services.gateway.TestUtils.TIMEOUT;
4+
import static io.scalecube.services.gateway.exeptions.GatewayErrorMapperImpl.ERROR_MAPPER;
5+
6+
import io.scalecube.services.ServiceInfo;
7+
import io.scalecube.services.gateway.BaseTest;
8+
import io.scalecube.services.gateway.exeptions.ErrorService;
9+
import io.scalecube.services.gateway.exeptions.ErrorServiceImpl;
10+
import io.scalecube.services.gateway.exeptions.SomeException;
11+
import org.junit.jupiter.api.BeforeEach;
12+
import org.junit.jupiter.api.Disabled;
13+
import org.junit.jupiter.api.Test;
14+
import org.junit.jupiter.api.extension.RegisterExtension;
15+
import reactor.test.StepVerifier;
16+
17+
@Disabled("Cannot deserialize instance of `java.lang.String` out of START_OBJECT token")
18+
class HttpClientErrorMapperTest extends BaseTest {
19+
20+
@RegisterExtension
21+
static HttpGatewayExtension extension =
22+
new HttpGatewayExtension(
23+
ServiceInfo.fromServiceInstance(new ErrorServiceImpl())
24+
.errorMapper(ERROR_MAPPER)
25+
.build());
26+
27+
private ErrorService service;
28+
29+
@BeforeEach
30+
void initService() {
31+
service = extension.client().errorMapper(ERROR_MAPPER).api(ErrorService.class);
32+
}
33+
34+
@Test
35+
void shouldReturnSomeExceptionOnMono() {
36+
StepVerifier.create(service.oneError()).expectError(SomeException.class).verify(TIMEOUT);
37+
}
38+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package io.scalecube.services.gateway.http;
2+
3+
import static io.scalecube.services.gateway.TestUtils.TIMEOUT;
4+
import static io.scalecube.services.gateway.exeptions.GatewayErrorMapperImpl.ERROR_MAPPER;
5+
6+
import io.scalecube.services.ServiceInfo;
7+
import io.scalecube.services.gateway.BaseTest;
8+
import io.scalecube.services.gateway.exeptions.ErrorService;
9+
import io.scalecube.services.gateway.exeptions.ErrorServiceImpl;
10+
import io.scalecube.services.gateway.exeptions.SomeException;
11+
import org.junit.jupiter.api.BeforeEach;
12+
import org.junit.jupiter.api.Disabled;
13+
import org.junit.jupiter.api.Test;
14+
import org.junit.jupiter.api.extension.RegisterExtension;
15+
import reactor.test.StepVerifier;
16+
17+
@Disabled("Cannot deserialize instance of `java.lang.String` out of START_OBJECT token")
18+
class HttpLocalGatewayErrorMapperTest extends BaseTest {
19+
20+
@RegisterExtension
21+
static HttpLocalGatewayExtension extension =
22+
new HttpLocalGatewayExtension(
23+
ServiceInfo.fromServiceInstance(new ErrorServiceImpl()).errorMapper(ERROR_MAPPER).build(),
24+
opts -> new HttpGateway(opts.call(opts.call().errorMapper(ERROR_MAPPER)), ERROR_MAPPER));
25+
26+
private ErrorService service;
27+
28+
@BeforeEach
29+
void initService() {
30+
service = extension.client().errorMapper(ERROR_MAPPER).api(ErrorService.class);
31+
}
32+
33+
@Test
34+
void shouldReturnSomeExceptionOnMono() {
35+
StepVerifier.create(service.oneError()).expectError(SomeException.class).verify(TIMEOUT);
36+
}
37+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package io.scalecube.services.gateway.rsocket;
2+
3+
import static io.scalecube.services.gateway.TestUtils.TIMEOUT;
4+
import static io.scalecube.services.gateway.exeptions.GatewayErrorMapperImpl.ERROR_MAPPER;
5+
6+
import io.scalecube.services.ServiceInfo;
7+
import io.scalecube.services.gateway.BaseTest;
8+
import io.scalecube.services.gateway.exeptions.ErrorService;
9+
import io.scalecube.services.gateway.exeptions.ErrorServiceImpl;
10+
import io.scalecube.services.gateway.exeptions.SomeException;
11+
import org.junit.jupiter.api.BeforeEach;
12+
import org.junit.jupiter.api.Test;
13+
import org.junit.jupiter.api.extension.RegisterExtension;
14+
import reactor.test.StepVerifier;
15+
16+
class RsocketClientErrorMapperTest extends BaseTest {
17+
18+
@RegisterExtension
19+
static RsocketGatewayExtension extension =
20+
new RsocketGatewayExtension(
21+
ServiceInfo.fromServiceInstance(new ErrorServiceImpl())
22+
.errorMapper(ERROR_MAPPER)
23+
.build());
24+
25+
private ErrorService service;
26+
27+
@BeforeEach
28+
void initService() {
29+
service = extension.client().errorMapper(ERROR_MAPPER).api(ErrorService.class);
30+
}
31+
32+
@Test
33+
void shouldReturnSomeExceptionOnFlux() {
34+
StepVerifier.create(service.manyError()).expectError(SomeException.class).verify(TIMEOUT);
35+
}
36+
37+
@Test
38+
void shouldReturnSomeExceptionOnMono() {
39+
StepVerifier.create(service.oneError()).expectError(SomeException.class).verify(TIMEOUT);
40+
}
41+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package io.scalecube.services.gateway.rsocket;
2+
3+
import static io.scalecube.services.gateway.TestUtils.TIMEOUT;
4+
import static io.scalecube.services.gateway.exeptions.GatewayErrorMapperImpl.ERROR_MAPPER;
5+
6+
import io.scalecube.services.ServiceInfo;
7+
import io.scalecube.services.gateway.BaseTest;
8+
import io.scalecube.services.gateway.exeptions.ErrorService;
9+
import io.scalecube.services.gateway.exeptions.ErrorServiceImpl;
10+
import io.scalecube.services.gateway.exeptions.SomeException;
11+
import org.junit.jupiter.api.BeforeEach;
12+
import org.junit.jupiter.api.Test;
13+
import org.junit.jupiter.api.extension.RegisterExtension;
14+
import reactor.test.StepVerifier;
15+
16+
class RsocketLocalGatewayErrorMapperTest extends BaseTest {
17+
18+
@RegisterExtension
19+
static RsocketLocalGatewayExtension extension =
20+
new RsocketLocalGatewayExtension(
21+
ServiceInfo.fromServiceInstance(new ErrorServiceImpl()).errorMapper(ERROR_MAPPER).build(),
22+
opts ->
23+
new RSocketGateway(opts.call(opts.call().errorMapper(ERROR_MAPPER)), ERROR_MAPPER));
24+
25+
private ErrorService service;
26+
27+
@BeforeEach
28+
void initService() {
29+
service = extension.client().errorMapper(ERROR_MAPPER).api(ErrorService.class);
30+
}
31+
32+
@Test
33+
void shouldReturnSomeExceptionOnFlux() {
34+
StepVerifier.create(service.manyError()).expectError(SomeException.class).verify(TIMEOUT);
35+
}
36+
37+
@Test
38+
void shouldReturnSomeExceptionOnMono() {
39+
StepVerifier.create(service.oneError()).expectError(SomeException.class).verify(TIMEOUT);
40+
}
41+
}

0 commit comments

Comments
 (0)