@Test public void isSystemAdministrator_returns_true_if_org_feature_is_enabled_and_user_is_root() { organizationFlags.setEnabled(true); UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); UserSession session = newUserSession(root); assertThat(session.isSystemAdministrator()).isTrue(); }
@Test public void isRoot_is_false_is_flag_root_is_false_on_UserDto() { UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); assertThat(newUserSession(root).isRoot()).isTrue(); UserDto notRoot = db.users().insertUser(); assertThat(newUserSession(notRoot).isRoot()).isFalse(); }
@Test public void hasComponentUuidPermission_returns_true_when_flag_root_is_true_on_UserDto_no_matter_if_user_has_project_permission_for_given_uuid() { UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertPrivateProject(organization); ComponentDto file = db.components().insertComponent(newFileDto(project)); UserSession underTest = newUserSession(root); assertThat(underTest.hasComponentUuidPermission(UserRole.USER, file.uuid())).isTrue(); assertThat(underTest.hasComponentUuidPermission(UserRole.CODEVIEWER, file.uuid())).isTrue(); assertThat(underTest.hasComponentUuidPermission(UserRole.ADMIN, file.uuid())).isTrue(); assertThat(underTest.hasComponentUuidPermission("whatever", "who cares?")).isTrue(); }
@Test public void checkIsRoot_does_not_fail_if_flag_root_is_true_on_UserDto() { UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); UserSession underTest = newUserSession(root); assertThat(underTest.checkIsRoot()).isSameAs(underTest); }
@Test public void hasMembership() { OrganizationDto organization = db.organizations().insert(); UserDto notMember = db.users().insertUser(); UserDto member = db.users().insertUser(); db.organizations().addMember(organization, member); UserDto root = db.users().makeRoot(db.users().insertUser()); assertThat(newUserSession(member).hasMembership(organization)).isTrue(); assertThat(newUserSession(notMember).hasMembership(organization)).isFalse(); assertThat(newUserSession(root).hasMembership(organization)).isTrue(); }
@Test public void keepAuthorizedComponents_returns_all_specified_components_if_root() { UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); OrganizationDto organization = db.organizations().insert(); ComponentDto publicProject = db.components().insertPublicProject(organization); ComponentDto privateProject = db.components().insertPrivateProject(organization); UserSession underTest = newUserSession(root); assertThat(underTest.keepAuthorizedComponents(UserRole.ADMIN, Arrays.asList(privateProject, publicProject))) .containsExactly(privateProject, publicProject); }
@Test public void hasComponentPermissionByDtoOrUuid_returns_true_for_any_project_or_permission_for_root_user() { UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); OrganizationDto organization = db.organizations().insert(); ComponentDto publicProject = db.components().insertPublicProject(organization); ServerUserSession underTest = newUserSession(root); assertThat(hasComponentPermissionByDtoOrUuid(underTest, "does not matter", publicProject)).isTrue(); }
@Test public void checkIsSystemAdministrator_succeeds_if_system_administrator() { organizationFlags.setEnabled(true); UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); UserSession session = newUserSession(root); session.checkIsSystemAdministrator(); }
@Test public void checkPermission_succeeds_when_user_is_root() { OrganizationDto org = db.organizations().insert(); UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); newUserSession(root).checkPermission(PROVISION_PROJECTS, org); }
@Test public void checkMembership_succeeds_when_user_is_not_member_of_organization_but_root() { OrganizationDto organization = db.organizations().insert(); UserDto root = db.users().makeRoot(db.users().insertUser()); newUserSession(root).checkMembership(organization); }
@Test public void checkComponentUuidPermission_succeeds_if_user_has_permission_for_specified_uuid_in_db() { UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertPrivateProject(organization); ComponentDto file = db.components().insertComponent(newFileDto(project)); UserSession underTest = newUserSession(root); assertThat(underTest.checkComponentUuidPermission(UserRole.USER, file.uuid())).isSameAs(underTest); assertThat(underTest.checkComponentUuidPermission("whatever", "who cares?")).isSameAs(underTest); }
@Test public void checkPermission_succeeds_when_user_has_the_specified_permission_on_organization() { OrganizationDto org = db.organizations().insert(); UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); db.users().insertPermissionOnUser(org, root, PROVISIONING); newUserSession(root).checkPermission(PROVISION_PROJECTS, org); }