@Test public void test_cannot_delete_uaa_zone() { addMembers(); assertThat( jdbcTemplate.queryForObject( "select count(*) from group_membership where group_id in (select id from groups where identity_zone_id=?)", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(4)); assertThat( jdbcTemplate.queryForObject( "select count(*) from groups where identity_zone_id=?", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(4)); gdao.onApplicationEvent(new EntityDeletedEvent<>(IdentityZone.getUaa(), null)); assertThat( jdbcTemplate.queryForObject( "select count(*) from group_membership where group_id in (select id from groups where identity_zone_id=?)", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(4)); assertThat( jdbcTemplate.queryForObject( "select count(*) from groups where identity_zone_id=?", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(4)); }
@Test public void test_cannot_delete_uaa_provider() { IdentityZoneHolder.set(zone); addMembers(LOGIN_SERVER); assertThat( jdbcTemplate.queryForObject( "select count(*) from group_membership where group_id in (select id from groups where identity_zone_id=?)", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(4)); assertThat( jdbcTemplate.queryForObject( "select count(*) from groups where identity_zone_id=?", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(3)); IdentityProvider loginServer = new IdentityProvider().setOriginKey(UAA).setIdentityZoneId(zone.getId()); gdao.onApplicationEvent(new EntityDeletedEvent<>(loginServer, null)); assertThat( jdbcTemplate.queryForObject( "select count(*) from group_membership where group_id in (select id from groups where identity_zone_id=?)", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(4)); assertThat( jdbcTemplate.queryForObject( "select count(*) from groups where identity_zone_id=?", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(3)); }
@Test public void test_zone_deleted() { String zoneAdminId = generator.generate(); addGroup(zoneAdminId, "zones." + zone.getId() + ".admin", IdentityZone.getUaa().getId()); addMember(zoneAdminId, "m1", "USER", "MEMBER", OriginKeys.UAA); IdentityZoneHolder.set(zone); addMembers(); assertThat( jdbcTemplate.queryForObject( "select count(*) from group_membership where group_id in (select id from groups where identity_zone_id=?)", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(4)); assertThat( jdbcTemplate.queryForObject( "select count(*) from groups where identity_zone_id=?", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(3)); assertThat( jdbcTemplate.queryForObject( "select count(*) from external_group_mapping where group_id in (select id from groups where identity_zone_id=?)", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(3)); assertThat( jdbcTemplate.queryForObject( "select count(*) from group_membership where group_id in (select id from groups where identity_zone_id=? and displayName like ?)", new Object[] { IdentityZone.getUaa().getId(), "zones." + IdentityZoneHolder.get().getId() + ".%" }, Integer.class), is(1)); assertThat( jdbcTemplate.queryForObject( "select count(*) from groups where identity_zone_id=? and displayName like ?", new Object[] { IdentityZone.getUaa().getId(), "zones." + IdentityZoneHolder.get().getId() + ".%" }, Integer.class), is(1)); gdao.onApplicationEvent(new EntityDeletedEvent<>(zone, null)); assertThat( jdbcTemplate.queryForObject( "select count(*) from group_membership where group_id in (select id from groups where identity_zone_id=?)", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(0)); assertThat( jdbcTemplate.queryForObject( "select count(*) from groups where identity_zone_id=?", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(0)); assertThat( jdbcTemplate.queryForObject( "select count(*) from external_group_mapping where group_id in (select id from groups where identity_zone_id=?)", new Object[] {IdentityZoneHolder.get().getId()}, Integer.class), is(0)); assertThat( jdbcTemplate.queryForObject( "select count(*) from group_membership where group_id in (select id from groups where identity_zone_id=? and displayName like ?)", new Object[] { IdentityZone.getUaa().getId(), "zones." + IdentityZoneHolder.get().getId() + ".%" }, Integer.class), is(0)); assertThat( jdbcTemplate.queryForObject( "select count(*) from groups where identity_zone_id=? and displayName like ?", new Object[] { IdentityZone.getUaa().getId(), "zones." + IdentityZoneHolder.get().getId() + ".%" }, Integer.class), is(0)); }