use of com.thoughtworks.go.config.policy.Allow in project gocd by gocd.
the class ClusterProfilesAllowDirectiveTest method forAdministerOfAllClusterProfiles.
@Test
void forAdministerOfAllClusterProfiles() {
Allow directive = new Allow("administer", "cluster_profile", "*");
Result viewAllElasticAgentProfiles = directive.apply("view", ElasticProfile.class, "*", null);
Result viewAllClusterProfiles = directive.apply("view", ClusterProfile.class, "*", null);
Result administerAllElasticAgentProfiles = directive.apply("administer", ElasticProfile.class, "*", null);
Result administerAllClusterProfiles = directive.apply("administer", ClusterProfile.class, "*", null);
assertThat(viewAllElasticAgentProfiles).isEqualTo(Result.ALLOW);
assertThat(viewAllClusterProfiles).isEqualTo(Result.ALLOW);
assertThat(administerAllElasticAgentProfiles).isEqualTo(Result.ALLOW);
assertThat(administerAllClusterProfiles).isEqualTo(Result.ALLOW);
}
use of com.thoughtworks.go.config.policy.Allow in project gocd by gocd.
the class ClusterProfilesAllowDirectiveTest method forViewOfWildcardDefinedClusterProfile.
@Test
void forViewOfWildcardDefinedClusterProfile() {
Allow directive = new Allow("view", "cluster_profile", "team1_*");
Result viewAllElasticAgentProfiles = directive.apply("view", ElasticProfile.class, "*", null);
Result viewAllElasticAgentProfilesUnderTeam1 = directive.apply("view", ElasticProfile.class, "*", "team1_uat");
Result viewAllElasticAgentProfilesUnderTeam2 = directive.apply("view", ElasticProfile.class, "*", "team2_uat");
Result viewAllClusterProfiles = directive.apply("view", ClusterProfile.class, "*", null);
Result viewTeam1ClusterProfile = directive.apply("view", ClusterProfile.class, "team1_uat", null);
Result viewTeam2ClusterProfile = directive.apply("view", ClusterProfile.class, "team2_uat", null);
Result administerAllElasticAgentProfiles = directive.apply("administer", ElasticProfile.class, "*", null);
Result administerAllElasticAgentProfilesUnderTeam1 = directive.apply("administer", ElasticProfile.class, "*", "team1_uat");
Result administerAllElasticAgentProfilesUnderTeam2 = directive.apply("administer", ElasticProfile.class, "*", "team2_uat");
Result administerAllClusterProfiles = directive.apply("administer", ClusterProfile.class, "*", null);
Result administerTeam1ClusterProfile = directive.apply("administer", ClusterProfile.class, "team1_uat", null);
Result administerTeam2ClusterProfile = directive.apply("administer", ClusterProfile.class, "team2_uat", null);
assertThat(viewAllElasticAgentProfiles).isEqualTo(Result.SKIP);
assertThat(viewAllElasticAgentProfilesUnderTeam1).isEqualTo(Result.ALLOW);
assertThat(viewAllElasticAgentProfilesUnderTeam2).isEqualTo(Result.SKIP);
assertThat(viewAllClusterProfiles).isEqualTo(Result.SKIP);
assertThat(viewTeam1ClusterProfile).isEqualTo(Result.ALLOW);
assertThat(viewTeam2ClusterProfile).isEqualTo(Result.SKIP);
assertThat(administerAllElasticAgentProfiles).isEqualTo(Result.SKIP);
assertThat(administerAllElasticAgentProfilesUnderTeam1).isEqualTo(Result.SKIP);
assertThat(administerAllElasticAgentProfilesUnderTeam2).isEqualTo(Result.SKIP);
assertThat(administerAllClusterProfiles).isEqualTo(Result.SKIP);
assertThat(administerTeam1ClusterProfile).isEqualTo(Result.SKIP);
assertThat(administerTeam2ClusterProfile).isEqualTo(Result.SKIP);
}
use of com.thoughtworks.go.config.policy.Allow in project gocd by gocd.
the class RoleConfigTest method shouldAnswerWhetherItHasPermissionsForGivenEntityOfTypeAndName.
@Test
public void shouldAnswerWhetherItHasPermissionsForGivenEntityOfTypeAndName() {
final Policy directives = new Policy();
directives.add(new Allow("view", ENVIRONMENT.getType(), "env_1"));
RoleConfig role = new RoleConfig(new CaseInsensitiveString(""), new Users(), directives);
assertThat(role.hasPermissionsFor(SupportedAction.VIEW, EnvironmentConfig.class, "env_1")).isTrue();
assertThat(role.hasPermissionsFor(SupportedAction.VIEW, EnvironmentConfig.class, "env_2")).isFalse();
assertThat(role.hasPermissionsFor(SupportedAction.VIEW, PipelineConfig.class, "*")).isFalse();
}
use of com.thoughtworks.go.config.policy.Allow in project gocd by gocd.
the class PermissionsServiceIntegrationTest method definePolicy.
private void definePolicy(CruiseConfig cruiseConfig, String type, String resource1, String resource2) {
Role role = new RoleConfig("gocd", new RoleUser(SessionUtils.currentUsername().getUsername()));
Policy policy = new Policy();
policy.add(new Allow("view", type, resource1));
policy.add(new Allow("administer", type, resource2));
role.setPolicy(policy);
cruiseConfig.server().security().getRoles().add(role);
}
Aggregations