@Test public void deactivate_user_deletes_his_properties() { logInAsSystemAdministrator(); UserDto user = db.users().insertUser(); ComponentDto project = db.components().insertPrivateProject(); db.properties().insertProperty(newUserPropertyDto(user)); db.properties().insertProperty(newUserPropertyDto(user)); db.properties().insertProperty(newUserPropertyDto(user).setResourceId(project.getId())); deactivate(user.getLogin()); assertThat(db.getDbClient().propertiesDao().selectByQuery(PropertyQuery.builder().setUserId(user.getId()).build(), dbSession)).isEmpty(); assertThat(db.getDbClient().propertiesDao().selectByQuery(PropertyQuery.builder().setUserId(user.getId()).setComponentId(project.getId()).build(), dbSession)).isEmpty(); }
@Test public void select_properties_by_keys_and_component_ids() { ComponentDto project = db.components().insertPrivateProject(); ComponentDto project2 = db.components().insertPrivateProject(); UserDto user = db.users().insertUser(); String key = "key"; String anotherKey = "anotherKey"; insertProperties( newGlobalPropertyDto().setKey(key), newComponentPropertyDto(project).setKey(key), newComponentPropertyDto(project2).setKey(key), newComponentPropertyDto(project2).setKey(anotherKey), newUserPropertyDto(user).setKey(key)); assertThat(underTest.selectPropertiesByKeysAndComponentIds(session, newHashSet(key), newHashSet(project.getId()))) .extracting("key", "resourceId").containsOnly(tuple(key, project.getId())); assertThat(underTest.selectPropertiesByKeysAndComponentIds(session, newHashSet(key), newHashSet(project.getId(), project2.getId()))) .extracting("key", "resourceId").containsOnly( tuple(key, project.getId()), tuple(key, project2.getId())); assertThat(underTest.selectPropertiesByKeysAndComponentIds(session, newHashSet(key, anotherKey), newHashSet(project.getId(), project2.getId()))) .extracting("key", "resourceId").containsOnly( tuple(key, project.getId()), tuple(key, project2.getId()), tuple(anotherKey, project2.getId())); assertThat(underTest.selectPropertiesByKeysAndComponentIds(session, newHashSet("unknown"), newHashSet(project.getId()))).isEmpty(); assertThat(underTest.selectPropertiesByKeysAndComponentIds(session, newHashSet("key"), newHashSet(123456789L))).isEmpty(); assertThat(underTest.selectPropertiesByKeysAndComponentIds(session, newHashSet("unknown"), newHashSet(123456789L))).isEmpty(); }
@Test public void ignore_user_setting_when_removing_global_setting() { logInAsSystemAdministrator(); UserDto user = dbClient.userDao().insert(dbSession, UserTesting.newUserDto()); propertyDb.insertProperties(newUserPropertyDto("foo", "one", user)); executeRequestOnGlobalSetting("foo"); assertUserPropertyExists("foo", user); }
@Test public void ignore_user_setting_when_removing_project_setting() { logInAsProjectAdmin(); UserDto user = dbClient.userDao().insert(dbSession, UserTesting.newUserDto()); propertyDb.insertProperties(newUserPropertyDto("foo", "one", user)); executeRequestOnProjectSetting("foo"); assertUserPropertyExists("foo", user); }
@Test public void does_not_delete_user_settings() { UserDto user = dbClient.userDao().insert(dbSession, UserTesting.newUserDto()); propertyDb.insertProperties(newUserPropertyDto("foo", "one", user)); propertyDb.insertProperties(newGlobalPropertyDto().setKey("foo").setValue("one")); underTest.deleteGlobalSettings(dbSession, "foo"); assertUserPropertyExists("foo", user); }
@Test public void select_component_properties_by_ids() { ComponentDto project = db.components().insertPrivateProject(); ComponentDto project2 = db.components().insertPrivateProject(); UserDto user = db.users().insertUser(); String key = "key"; String anotherKey = "anotherKey"; insertProperties( newGlobalPropertyDto().setKey(key), newComponentPropertyDto(project).setKey(key), newComponentPropertyDto(project2).setKey(key), newComponentPropertyDto(project2).setKey(anotherKey), newUserPropertyDto(user).setKey(key)); assertThat(underTest.selectPropertiesByComponentIds(session, newHashSet(project.getId()))) .extracting("key", "resourceId").containsOnly(tuple(key, project.getId())); assertThat(underTest.selectPropertiesByComponentIds(session, newHashSet(project.getId(), project2.getId()))) .extracting("key", "resourceId").containsOnly( tuple(key, project.getId()), tuple(key, project2.getId()), tuple(anotherKey, project2.getId())); assertThat(underTest.selectPropertiesByComponentIds(session, newHashSet(123456789L))).isEmpty(); }