/** * Returns a new {@link LocalClientTransport} that is connected to this {@code * LocalServerTransport}. * * @return a new {@link LocalClientTransport} that is connected to this {@code * LocalServerTransport} */ public LocalClientTransport clientTransport() { return LocalClientTransport.create(name); }
@Override public Optional<ClientTransport> buildClient(URI uri) { Objects.requireNonNull(uri, "uri must not be null"); if (!SCHEME.equals(uri.getScheme())) { return Optional.empty(); } return Optional.of(LocalClientTransport.create(uri.getSchemeSpecificPart())); }
@DisplayName("creates client") @Test void create() { assertThat(LocalClientTransport.create("test-name")).isNotNull(); }
/** * Returns a new {@link LocalClientTransport} that is connected to this {@code * LocalServerTransport}. * * @return a new {@link LocalClientTransport} that is connected to this {@code * LocalServerTransport} */ public LocalClientTransport clientTransport() { return LocalClientTransport.create(name); }
@DisplayName("throws NullPointerException with null name") @Test void createNullName() { assertThatNullPointerException() .isThrownBy(() -> LocalClientTransport.create(null)) .withMessage("name must not be null"); } }
@DisplayName("connects to server") @Test void connect() { LocalServerTransport serverTransport = LocalServerTransport.createEphemeral(); serverTransport .start(duplexConnection -> Mono.empty()) .flatMap(closeable -> LocalClientTransport.create(serverTransport.getName()).connect()) .as(StepVerifier::create) .expectNextCount(1) .verifyComplete(); }
@DisplayName("generates error if server not started") @Test void connectNoServer() { LocalClientTransport.create("test-name") .connect() .as(StepVerifier::create) .verifyErrorMessage("Could not find server: test-name"); }
@Override public Optional<ClientTransport> buildClient(URI uri) { Objects.requireNonNull(uri, "uri must not be null"); if (!SCHEME.equals(uri.getScheme())) { return Optional.empty(); } return Optional.of(LocalClientTransport.create(uri.getSchemeSpecificPart())); }