JMAPDraftConfiguration { public static Builder builder() { return new Builder(); } @VisibleForTesting  JMAPDraftConfiguration(boolean enabled, String keystore, String secret, Optional<String> jwtPublicKeyPem); static Builder builder(); boolean isEnabled(); String getKeystore(); String getSecret(); Optional<String> getJwtPublicKeyPem();  }
@Test public void buildShouldThrowWhenKeystoreIsNull() { assertThatThrownBy(() -> JMAPDraftConfiguration.builder() .enable() .keystore(null) .build()) .isInstanceOf(IllegalStateException.class) .hasMessage("'keystore' is mandatory"); }
@Test public void buildShouldThrowWhenKeystoreIsEmpty() { assertThatThrownBy(() -> JMAPDraftConfiguration.builder() .enable() .keystore("") .build()) .isInstanceOf(IllegalStateException.class) .hasMessage("'keystore' is mandatory"); }
@Test public void buildShouldThrowWhenSecretIsNull() { assertThatThrownBy(() -> JMAPDraftConfiguration.builder() .enable() .keystore("keystore") .secret(null) .build()) .isInstanceOf(IllegalStateException.class) .hasMessage("'secret' is mandatory"); }
@Test public void buildShouldThrowWhenSecretIsEmpty() { assertThatThrownBy(() -> JMAPDraftConfiguration.builder() .enable() .keystore("keystore") .secret("") .build()) .isInstanceOf(IllegalStateException.class) .hasMessage("'secret' is mandatory"); }
@Test public void buildShouldThrowWhenJwtPublicKeyPemIsNull() { assertThatThrownBy(() -> JMAPDraftConfiguration.builder() .enable() .keystore("keystore") .secret("secret") .jwtPublicKeyPem(null) .build()) .isInstanceOf(NullPointerException.class); }
@Test public void buildShouldThrowWhenJwtPublicKeyPemIsEmpty() { assertThatThrownBy(() -> JMAPDraftConfiguration.builder() .enable() .keystore("keystore") .secret("secret") .jwtPublicKeyPem(Optional.empty()) .build()) .isInstanceOf(IllegalStateException.class); }
@Test public void buildShouldWorkWhenDisabled() { String keystore = null; String secret = null; Optional<String> jwtPublicKeyPem = Optional.empty(); JMAPDraftConfiguration expectedJMAPDraftConfiguration = new JMAPDraftConfiguration(DISABLED, keystore, secret, jwtPublicKeyPem); JMAPDraftConfiguration jmapDraftConfiguration = JMAPDraftConfiguration.builder() .disable() .build(); assertThat(jmapDraftConfiguration).isEqualToComparingFieldByField(expectedJMAPDraftConfiguration); }