@Test
 public void test_delete_group() {
   Group group = Group.Builder.create().name("group1").build();
   subjectCredentialsService.createGroup(group.getName());
   subjectCredentialsService.delete(group);
   assertThat(subjectCredentialsService.getGroups()).isEmpty();
 }
 @Test
 public void test_delete_user() {
   SubjectCredentials subjectCredentials =
       SubjectCredentials.Builder.create()
           .authenticationType(SubjectCredentials.AuthenticationType.PASSWORD)
           .name("user1")
           .password("password")
           .build();
   subjectCredentialsService.save(subjectCredentials);
   subjectCredentialsService.delete(subjectCredentials);
   assertThat(
           subjectCredentialsService.getSubjectCredentials(
               SubjectCredentials.AuthenticationType.PASSWORD))
       .isEmpty();
 }
  @Test
  public void test_delete_application() throws IOException {
    SubjectCredentials subjectCredentials =
        SubjectCredentials.Builder.create()
            .authenticationType(SubjectCredentials.AuthenticationType.CERTIFICATE)
            .name("app1")
            .certificate(getCertificate())
            .enabled(true)
            .build();
    subjectCredentialsService.save(subjectCredentials);

    subjectCredentialsService.delete(subjectCredentials);
    assertThat(
            subjectCredentialsService.getSubjectCredentials(
                SubjectCredentials.AuthenticationType.CERTIFICATE))
        .isEmpty();

    OpalKeyStore keyStore = credentialsKeyStoreService.getKeyStore();
    assertThat(keyStore.aliasExists(subjectCredentials.getName())).isFalse();
  }
  @Test
  public void test_delete_user_with_groups() {
    SubjectCredentials subjectCredentials =
        SubjectCredentials.Builder.create()
            .authenticationType(SubjectCredentials.AuthenticationType.PASSWORD)
            .name("user1")
            .password("password")
            .groups(Sets.newHashSet("group1", "group2"))
            .build();
    subjectCredentialsService.save(subjectCredentials);

    subjectCredentialsService.delete(subjectCredentials);

    assertThat(
            subjectCredentialsService.getSubjectCredentials(
                SubjectCredentials.AuthenticationType.PASSWORD))
        .isEmpty();

    Group group1 = subjectCredentialsService.getGroup("group1");
    assertThat(group1.getSubjectCredentials()).isEmpty();

    Group group2 = subjectCredentialsService.getGroup("group2");
    assertThat(group2.getSubjectCredentials()).isEmpty();
  }