public JMAPConfiguration build() { Preconditions.checkState(enabled.isPresent(), "You should specify if JMAP server should be started"); Preconditions.checkState(!enabled.get() || !Strings.isNullOrEmpty(keystore), "'keystore' is mandatory"); Preconditions.checkState(!enabled.get() || !Strings.isNullOrEmpty(secret), "'secret' is mandatory"); Preconditions.checkState(!enabled.get() || jwtPublicKeyPem.isPresent(), "'publicKey' is mandatory"); return new JMAPConfiguration(enabled.get(), keystore, secret, jwtPublicKeyPem, port); }
@Test public void buildShouldWorkWhenDisabled() { String keystore = null; String secret = null; Optional<String> jwtPublicKeyPem = Optional.empty(); Optional<Integer> port = Optional.empty(); JMAPConfiguration expectedJMAPConfiguration = new JMAPConfiguration(DISABLED, keystore, secret, jwtPublicKeyPem, port); JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder() .disable() .build(); assertThat(jmapConfiguration).isEqualToComparingFieldByField(expectedJMAPConfiguration); } }
@Test public void buildShouldWorkWhenRandomPort() { JMAPConfiguration expectedJMAPConfiguration = new JMAPConfiguration(ENABLED, "keystore", "secret", Optional.of("file://conf/jwt_publickey"), Optional.empty()); JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder() .enable() .keystore("keystore") .secret("secret") .jwtPublicKeyPem(Optional.of("file://conf/jwt_publickey")) .randomPort() .build(); assertThat(jmapConfiguration).isEqualToComparingFieldByField(expectedJMAPConfiguration); }
@Test public void buildShouldWorkWhenFixedPort() { JMAPConfiguration expectedJMAPConfiguration = new JMAPConfiguration(ENABLED, "keystore", "secret", Optional.of("file://conf/jwt_publickey"), Optional.of(80)); JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder() .enable() .keystore("keystore") .secret("secret") .jwtPublicKeyPem(Optional.of("file://conf/jwt_publickey")) .port(80) .build(); assertThat(jmapConfiguration).isEqualToComparingFieldByField(expectedJMAPConfiguration); }