Skip to content

Commit f978206

Browse files
committed
Fixe tests
1 parent d77b5be commit f978206

File tree

7 files changed

+42
-55
lines changed

7 files changed

+42
-55
lines changed

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@
7474
<artifactId>scalecube-codec-jackson</artifactId>
7575
<version>${scalecube-cluster.version}</version>
7676
</dependency>
77+
<dependency>
78+
<groupId>io.scalecube</groupId>
79+
<artifactId>scalecube-codec-jackson-smile</artifactId>
80+
<version>${scalecube-cluster.version}</version>
81+
</dependency>
7782

7883
<!-- Scalecube Config -->
7984
<dependency>

services-discovery/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@
3838
<artifactId>scalecube-codec-jackson</artifactId>
3939
<scope>test</scope>
4040
</dependency>
41+
<dependency>
42+
<groupId>io.scalecube</groupId>
43+
<artifactId>scalecube-codec-jackson-smile</artifactId>
44+
<scope>test</scope>
45+
</dependency>
4146
</dependencies>
4247

4348
</project>

services-discovery/src/test/java/io/scalecube/services/discovery/ScalecubeServiceDiscoveryTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import io.scalecube.cluster.ClusterMath;
99
import io.scalecube.cluster.codec.jackson.JacksonMetadataCodec;
10+
import io.scalecube.cluster.codec.jackson.smile.JacksonSmileMetadataCodec;
1011
import io.scalecube.cluster.fdetector.FailureDetectorConfig;
1112
import io.scalecube.cluster.gossip.GossipConfig;
1213
import io.scalecube.cluster.membership.MembershipConfig;
@@ -53,7 +54,9 @@ public static void setUp() {
5354

5455
private static Stream<Arguments> metadataCodecSource() {
5556
return Stream.of(
56-
Arguments.of(new JdkMetadataCodec()), Arguments.of(new JacksonMetadataCodec()));
57+
Arguments.of(new JdkMetadataCodec()),
58+
Arguments.of(new JacksonMetadataCodec()),
59+
Arguments.of(new JacksonSmileMetadataCodec()));
5760
}
5861

5962
@ParameterizedTest

services/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@
8383
<artifactId>scalecube-codec-jackson</artifactId>
8484
<scope>test</scope>
8585
</dependency>
86+
<dependency>
87+
<groupId>io.scalecube</groupId>
88+
<artifactId>scalecube-codec-jackson-smile</artifactId>
89+
<scope>test</scope>
90+
</dependency>
8691
</dependencies>
8792

8893
</project>

services/src/main/java/io/scalecube/services/Microservices.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,7 @@ private Mono<Microservices> start() {
182182
.flatMap(
183183
input -> {
184184
final ServiceCall call = call();
185-
final Address serviceAddress;
186-
187-
if (input != ServiceTransportBootstrap.NULL_INSTANCE) {
188-
serviceAddress = input.address;
189-
} else {
190-
serviceAddress = null;
191-
}
185+
final Address serviceAddress = input.address;
192186

193187
final ServiceEndpoint.Builder serviceEndpointBuilder =
194188
ServiceEndpoint.builder()
@@ -209,13 +203,14 @@ private Mono<Microservices> start() {
209203
.map(ServiceInfo::serviceInstance)
210204
.collect(Collectors.toList());
211205

212-
final ServiceEndpoint serviceEndpoint = serviceEndpointBuilder.build();
213-
214-
return startGateway(call)
206+
return discoveryBootstrap
207+
.createInstance(serviceEndpointBuilder.build())
208+
.publishOn(scheduler)
209+
.then(startGateway(call))
215210
.publishOn(scheduler)
216211
.then(Mono.fromCallable(() -> Injector.inject(this, serviceInstances)))
217212
.then(Mono.fromCallable(() -> JmxMonitorMBean.start(this)))
218-
.then(discoveryBootstrap.startListen(this, serviceEndpoint))
213+
.then(discoveryBootstrap.startListen(this))
219214
.publishOn(scheduler)
220215
.thenReturn(this);
221216
})
@@ -426,28 +421,35 @@ public Builder defaultDataDecoder(ServiceMessageDataDecoder dataDecoder) {
426421

427422
public static class ServiceDiscoveryBootstrap {
428423

424+
public static final Function<ServiceEndpoint, ServiceDiscovery> NULL_FACTORY = i -> null;
425+
429426
private final Function<ServiceEndpoint, ServiceDiscovery> factory;
430427

431428
private ServiceDiscovery discovery;
432429
private Disposable disposable;
433430

434431
private ServiceDiscoveryBootstrap() {
435-
this(i -> NoOpServiceDiscovery.INSTANCE);
432+
this(NULL_FACTORY);
436433
}
437434

438435
private ServiceDiscoveryBootstrap(Function<ServiceEndpoint, ServiceDiscovery> factory) {
439436
this.factory = factory;
440437
}
441438

442-
private Mono<ServiceDiscovery> startListen(
443-
Microservices microservices, ServiceEndpoint serviceEndpoint) {
439+
private Mono<ServiceDiscovery> createInstance(ServiceEndpoint serviceEndpoint) {
440+
return factory == NULL_FACTORY
441+
? Mono.empty()
442+
: Mono.defer(() -> Mono.just(discovery = factory.apply(serviceEndpoint)));
443+
}
444+
445+
private Mono<ServiceDiscovery> startListen(Microservices microservices) {
444446
return Mono.defer(
445447
() -> {
446-
discovery = factory.apply(serviceEndpoint);
447448
disposable =
448449
discovery
449450
.listenDiscovery()
450451
.subscribe(event -> onDiscoveryEvent(microservices, event));
452+
451453
return discovery
452454
.start()
453455
.doOnSuccess(discovery -> this.discovery = discovery)
@@ -559,13 +561,14 @@ public static class ServiceTransportBootstrap {
559561

560562
public static final Supplier<ServiceTransport> NULL_SUPPLIER = () -> null;
561563
public static final ServiceTransportBootstrap NULL_INSTANCE = new ServiceTransportBootstrap();
564+
public static final Address NULL_ADDRESS = Address.create("0.0.0.0", -1);
562565

563566
private final Supplier<ServiceTransport> supplier;
564567

565568
private ServiceTransport serviceTransport;
566569
private ClientTransport clientTransport;
567570
private ServerTransport serverTransport;
568-
private Address address;
571+
private Address address = NULL_ADDRESS;
569572

570573
public ServiceTransportBootstrap() {
571574
this(NULL_SUPPLIER);

services/src/main/java/io/scalecube/services/NoOpServiceDiscovery.java

Lines changed: 0 additions & 37 deletions
This file was deleted.

services/src/test/java/io/scalecube/services/ServiceRegistryTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import static org.junit.jupiter.api.Assertions.assertEquals;
77

88
import io.scalecube.cluster.codec.jackson.JacksonMetadataCodec;
9+
import io.scalecube.cluster.codec.jackson.smile.JacksonSmileMetadataCodec;
910
import io.scalecube.cluster.metadata.JdkMetadataCodec;
1011
import io.scalecube.cluster.metadata.MetadataCodec;
1112
import io.scalecube.net.Address;
@@ -35,7 +36,9 @@ public class ServiceRegistryTest extends BaseTest {
3536

3637
private static Stream<Arguments> metadataCodecSource() {
3738
return Stream.of(
38-
Arguments.of(new JdkMetadataCodec()), Arguments.of(new JacksonMetadataCodec()));
39+
Arguments.of(new JdkMetadataCodec()),
40+
Arguments.of(new JacksonMetadataCodec()),
41+
Arguments.of(new JacksonSmileMetadataCodec()));
3942
}
4043

4144
@ParameterizedTest

0 commit comments

Comments
 (0)