@Test
public void hasComponentPermissionByDtoOrUuid_keeps_cache_of_permissions_of_logged_in_user() {
UserDto user = db.users().insertUser();
OrganizationDto organization = db.organizations().insert();
ComponentDto publicProject = db.components().insertPublicProject(organization);
db.users().insertProjectPermissionOnUser(user, UserRole.ADMIN, publicProject);
UserSession underTest = newUserSession(user);
assertThat(hasComponentPermissionByDtoOrUuid(underTest, UserRole.ADMIN, publicProject)).isTrue();
db.users().deletePermissionFromUser(publicProject, user, UserRole.ADMIN);
db.users().insertProjectPermissionOnUser(user, UserRole.ISSUE_ADMIN, publicProject);
assertThat(hasComponentPermissionByDtoOrUuid(underTest, UserRole.ADMIN, publicProject)).isTrue();
assertThat(hasComponentPermissionByDtoOrUuid(underTest, UserRole.ISSUE_ADMIN, publicProject)).isFalse();
}