/** * Returns a mutable builder with a fluent API for an immutable {@link Connection}. The builder is initialised with * the values of the given Connection. * * @param connection the Connection which provides the initial values of the builder. * @return the new builder. * @throws NullPointerException if {@code connection} is {@code null}. */ public static ConnectionBuilder newConnectionBuilder(final Connection connection) { return ImmutableConnection.getBuilder(connection); }
/** * Returns a mutable builder with a fluent API for an immutable {@link Connection}. The builder is initialised with * the values of the given Connection. * * @param connection the Connection which provides the initial values of the builder. * @return the new builder. * @throws NullPointerException if {@code connection} is {@code null}. */ public static ConnectionBuilder newConnectionBuilder(final Connection connection) { return ImmutableConnection.getBuilder(connection); }
/** * Returns a new {@code ConnectionBuilder} with the required fields set. * * @param id the connection identifier. * @param connectionType the connection type. * @param connectionStatus the connection status. * @param uri the connection URI. * @return the ConnectionBuilder. * @throws NullPointerException if any argument is {@code null}. */ public static ConnectionBuilder newConnectionBuilder(final String id, final ConnectionType connectionType, final ConnectionStatus connectionStatus, final String uri) { return ImmutableConnection.getBuilder(id, connectionType, connectionStatus, uri); }
/** * Returns a new {@code ConnectionBuilder} with the required fields set. * * @param id the connection identifier. * @param connectionType the connection type. * @param connectionStatus the connection status. * @param uri the connection URI. * @return the ConnectionBuilder. * @throws NullPointerException if any argument is {@code null}. */ public static ConnectionBuilder newConnectionBuilder(final String id, final ConnectionType connectionType, final ConnectionStatus connectionStatus, final String uri) { return ImmutableConnection.getBuilder(id, connectionType, connectionStatus, uri); }
@Test public void createInstanceWithNullSources() { final ConnectionBuilder builder = ImmutableConnection.getBuilder(ID, TYPE, STATUS, URI); assertThatExceptionOfType(NullPointerException.class) .isThrownBy(() -> builder.sources(null)) .withMessage("The %s must not be null!", "sources") .withNoCause(); }
@Test public void createInstanceWithNullEventTarget() { final ConnectionBuilder builder = ImmutableConnection.getBuilder(ID, TYPE, STATUS, URI); assertThatExceptionOfType(NullPointerException.class) .isThrownBy(() -> builder.targets(null)) .withMessage("The %s must not be null!", "targets") .withNoCause(); }
@Test public void createInstanceWithoutSourceAndEventTarget() { final ConnectionBuilder builder = ImmutableConnection.getBuilder(ID, TYPE, STATUS, URI); assertThatExceptionOfType(ConnectionConfigurationInvalidException.class) .isThrownBy(builder::build) .withMessageContaining("source") .withMessageContaining("target") .withNoCause(); }
@Test public void getBuilderFromConnectionCoversAllFields() { final Connection connection = ImmutableConnection.getBuilder(ID, TYPE, STATUS, URI) .sources(SOURCES) .targets(TARGETS) .connectionStatus(ConnectionStatus.OPEN) .name("connection") .clientCount(5) .tag("AAA") .trustedCertificates("certs") .processorPoolSize(8) .credentials(ClientCertificateCredentials.newBuilder() .clientKey("clientkey") .clientCertificate("certificate") .build()) .validateCertificate(true) .uri("amqps://some.amqp.org:5672") .id("id") .build(); assertThat(ImmutableConnection.getBuilder(connection).build()).isEqualTo(connection); }