Search in sources :

Example 26 with Role

use of io.fabric8.kubernetes.api.model.rbac.Role in project kubernetes-client by fabric8io.

the class RoleBindingIT method update.

@Test
public void update() {
    RoleBinding roleBinding = client.rbac().roleBindings().inNamespace(session.getNamespace()).withName("rb-update").edit(r -> new RoleBindingBuilder(r).editSubject(0).withName("jane-new").endSubject().build());
    assertNotNull(roleBinding);
    assertEquals("RoleBinding", roleBinding.getKind());
    assertNotNull(roleBinding.getMetadata());
    assertEquals("rb-update", roleBinding.getMetadata().getName());
    assertNotNull(roleBinding.getSubjects());
    assertEquals(1, roleBinding.getSubjects().size());
    assertEquals("rbac.authorization.k8s.io", roleBinding.getSubjects().get(0).getApiGroup());
    assertEquals("User", roleBinding.getSubjects().get(0).getKind());
    assertEquals("jane-new", roleBinding.getSubjects().get(0).getName());
    assertEquals("default", roleBinding.getSubjects().get(0).getNamespace());
    assertNotNull(roleBinding.getRoleRef());
    assertEquals("Role", roleBinding.getRoleRef().getKind());
    assertEquals("job-reader", roleBinding.getRoleRef().getName());
    assertEquals("rbac.authorization.k8s.io", roleBinding.getRoleRef().getApiGroup());
}
Also used : RoleBindingBuilder(io.fabric8.kubernetes.api.model.rbac.RoleBindingBuilder) RoleBinding(io.fabric8.kubernetes.api.model.rbac.RoleBinding) Test(org.junit.Test)

Example 27 with Role

use of io.fabric8.kubernetes.api.model.rbac.Role in project kubernetes-client by fabric8io.

the class RoleIT method delete.

@Test
public void delete() {
    int countBeforeDeletion = client.rbac().roles().inNamespace(currentNamespace).list().getItems().size();
    boolean deleted = client.rbac().roles().inNamespace(currentNamespace).withName("role-delete").delete();
    assertTrue(deleted);
    DeleteEntity<Role> deleteEntity = new DeleteEntity<>(Role.class, client, "role-delete", currentNamespace);
    await().atMost(30, TimeUnit.SECONDS).until(deleteEntity);
    RoleList roleList = client.rbac().roles().inNamespace(currentNamespace).list();
    assertEquals(countBeforeDeletion - 1, roleList.getItems().size());
}
Also used : Role(io.fabric8.kubernetes.api.model.rbac.Role) RoleList(io.fabric8.kubernetes.api.model.rbac.RoleList) DeleteEntity(io.fabric8.commons.DeleteEntity) Test(org.junit.Test)

Example 28 with Role

use of io.fabric8.kubernetes.api.model.rbac.Role in project kubernetes-client by fabric8io.

the class RoleIT method get.

@Test
public void get() {
    Role role = client.rbac().roles().inNamespace(currentNamespace).withName("role-get").get();
    assertNotNull(role);
    assertEquals("Role", role.getKind());
    assertNotNull(role.getMetadata());
    assertEquals("role-get", role.getMetadata().getName());
    assertNotNull(role.getRules());
    assertEquals(1, role.getRules().size());
    assertNotNull(role.getRules().get(0).getApiGroups());
    assertEquals(1, role.getRules().get(0).getApiGroups().size());
    assertEquals("batch", role.getRules().get(0).getApiGroups().get(0));
    assertNotNull(role.getRules().get(0).getResourceNames());
    assertEquals(1, role.getRules().get(0).getResourceNames().size());
    assertEquals("my-job", role.getRules().get(0).getResourceNames().get(0));
    assertNotNull(role.getRules().get(0).getResources());
    assertEquals(1, role.getRules().get(0).getResources().size());
    assertEquals("jobs", role.getRules().get(0).getResources().get(0));
    assertNotNull(role.getRules().get(0).getVerbs());
    assertEquals(3, role.getRules().get(0).getVerbs().size());
    assertEquals("get", role.getRules().get(0).getVerbs().get(0));
    assertEquals("watch", role.getRules().get(0).getVerbs().get(1));
    assertEquals("list", role.getRules().get(0).getVerbs().get(2));
}
Also used : Role(io.fabric8.kubernetes.api.model.rbac.Role) Test(org.junit.Test)

Example 29 with Role

use of io.fabric8.kubernetes.api.model.rbac.Role in project kubernetes-client by fabric8io.

the class RoleIT method update.

@Test
public void update() {
    Role role = client.rbac().roles().inNamespace(currentNamespace).withName("role-update").edit(r -> new RoleBuilder(r).editRule(0).addToApiGroups(1, "extensions").endRule().build());
    assertNotNull(role);
    assertEquals("Role", role.getKind());
    assertNotNull(role.getMetadata());
    assertEquals("role-update", role.getMetadata().getName());
    assertNotNull(role.getRules());
    assertEquals(1, role.getRules().size());
    assertNotNull(role.getRules().get(0).getApiGroups());
    assertEquals(2, role.getRules().get(0).getApiGroups().size());
    assertEquals("batch", role.getRules().get(0).getApiGroups().get(0));
    assertEquals("extensions", role.getRules().get(0).getApiGroups().get(1));
    assertNotNull(role.getRules().get(0).getResourceNames());
    assertEquals(1, role.getRules().get(0).getResourceNames().size());
    assertEquals("my-job", role.getRules().get(0).getResourceNames().get(0));
    assertNotNull(role.getRules().get(0).getResources());
    assertEquals(1, role.getRules().get(0).getResources().size());
    assertEquals("jobs", role.getRules().get(0).getResources().get(0));
    assertNotNull(role.getRules().get(0).getVerbs());
    assertEquals(3, role.getRules().get(0).getVerbs().size());
    assertEquals("get", role.getRules().get(0).getVerbs().get(0));
    assertEquals("watch", role.getRules().get(0).getVerbs().get(1));
    assertEquals("list", role.getRules().get(0).getVerbs().get(2));
}
Also used : Role(io.fabric8.kubernetes.api.model.rbac.Role) RoleBuilder(io.fabric8.kubernetes.api.model.rbac.RoleBuilder) Test(org.junit.Test)

Example 30 with Role

use of io.fabric8.kubernetes.api.model.rbac.Role in project kubernetes-client by fabric8io.

the class NetworkPolicyCrudTest method crudTest.

@Test
void crudTest() {
    NetworkPolicy networkPolicy = new NetworkPolicyBuilder().withNewMetadata().withName("networkpolicy").addToLabels("foo", "bar").endMetadata().withNewSpec().withNewPodSelector().addToMatchLabels("role", "db").endPodSelector().addToIngress(0, new NetworkPolicyIngressRuleBuilder().addToFrom(0, new NetworkPolicyPeerBuilder().withNewPodSelector().addToMatchLabels("role", "frontend").endPodSelector().build()).addToFrom(1, new NetworkPolicyPeerBuilder().withNewNamespaceSelector().addToMatchLabels("project", "myproject").endNamespaceSelector().build()).addToPorts(0, new NetworkPolicyPortBuilder().withPort(new IntOrString(6379)).withProtocol("TCP").build()).build()).endSpec().build();
    // test of Creation
    networkPolicy = client.network().v1().networkPolicies().create(networkPolicy);
    assertNotNull(networkPolicy);
    assertEquals("networkpolicy", networkPolicy.getMetadata().getName());
    assertEquals("db", networkPolicy.getSpec().getPodSelector().getMatchLabels().get("role"));
    assertEquals("myproject", networkPolicy.getSpec().getIngress().get(0).getFrom().get(1).getNamespaceSelector().getMatchLabels().get("project"));
    assertEquals("frontend", networkPolicy.getSpec().getIngress().get(0).getFrom().get(0).getPodSelector().getMatchLabels().get("role"));
    assertEquals("TCP", networkPolicy.getSpec().getIngress().get(0).getPorts().get(0).getProtocol());
    assertEquals(6379, networkPolicy.getSpec().getIngress().get(0).getPorts().get(0).getPort().getIntVal().intValue());
    // test of list
    NetworkPolicyList networkPolicyList = client.network().networkPolicies().withLabels(Collections.singletonMap("foo", "bar")).list();
    assertNotNull(networkPolicyList);
    assertEquals(1, networkPolicyList.getItems().size());
    assertEquals("networkpolicy", networkPolicyList.getItems().get(0).getMetadata().getName());
    assertEquals("db", networkPolicyList.getItems().get(0).getSpec().getPodSelector().getMatchLabels().get("role"));
    assertEquals("myproject", networkPolicyList.getItems().get(0).getSpec().getIngress().get(0).getFrom().get(1).getNamespaceSelector().getMatchLabels().get("project"));
    assertEquals("frontend", networkPolicyList.getItems().get(0).getSpec().getIngress().get(0).getFrom().get(0).getPodSelector().getMatchLabels().get("role"));
    assertEquals("TCP", networkPolicyList.getItems().get(0).getSpec().getIngress().get(0).getPorts().get(0).getProtocol());
    assertEquals(6379, networkPolicyList.getItems().get(0).getSpec().getIngress().get(0).getPorts().get(0).getPort().getIntVal().intValue());
    logger.info(networkPolicyList.toString());
    // test of updation
    networkPolicy = client.network().networkPolicies().withName("networkpolicy").edit(n -> new NetworkPolicyBuilder(n).editSpec().editIngress(0).editFirstPort().withPort(new IntOrString(6679)).endPort().endIngress().endSpec().build());
    logger.info("Updated PodSecurityPolicy : " + networkPolicy.toString());
    assertNotNull(networkPolicy);
    assertEquals("networkpolicy", networkPolicy.getMetadata().getName());
    assertEquals("db", networkPolicy.getSpec().getPodSelector().getMatchLabels().get("role"));
    assertEquals("myproject", networkPolicy.getSpec().getIngress().get(0).getFrom().get(1).getNamespaceSelector().getMatchLabels().get("project"));
    assertEquals("frontend", networkPolicy.getSpec().getIngress().get(0).getFrom().get(0).getPodSelector().getMatchLabels().get("role"));
    assertEquals("TCP", networkPolicy.getSpec().getIngress().get(0).getPorts().get(0).getProtocol());
    assertEquals(6679, networkPolicy.getSpec().getIngress().get(0).getPorts().get(0).getPort().getIntVal().intValue());
    // test of deletion
    boolean deleted = client.network().networkPolicies().delete();
    assertTrue(deleted);
    networkPolicyList = client.network().networkPolicies().list();
    assertEquals(0, networkPolicyList.getItems().size());
}
Also used : NetworkPolicyList(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyList) NetworkPolicyIngressRuleBuilder(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyIngressRuleBuilder) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) Logger(org.slf4j.Logger) IntOrString(io.fabric8.kubernetes.api.model.IntOrString) LoggerFactory(org.slf4j.LoggerFactory) Test(org.junit.jupiter.api.Test) EnableKubernetesMockClient(io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient) NetworkPolicyPortBuilder(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyPortBuilder) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) KubernetesClient(io.fabric8.kubernetes.client.KubernetesClient) NetworkPolicy(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicy) NetworkPolicyBuilder(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyBuilder) NetworkPolicyPeerBuilder(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyPeerBuilder) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) NetworkPolicyList(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyList) Collections(java.util.Collections) NetworkPolicy(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicy) IntOrString(io.fabric8.kubernetes.api.model.IntOrString) NetworkPolicyPortBuilder(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyPortBuilder) NetworkPolicyIngressRuleBuilder(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyIngressRuleBuilder) NetworkPolicyBuilder(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyBuilder) NetworkPolicyPeerBuilder(io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyPeerBuilder) Test(org.junit.jupiter.api.Test)

Aggregations

Role (io.fabric8.kubernetes.api.model.rbac.Role)40 RoleRefBuilder (io.fabric8.kubernetes.api.model.rbac.RoleRefBuilder)31 RoleBinding (io.fabric8.kubernetes.api.model.rbac.RoleBinding)27 SubjectBuilder (io.fabric8.kubernetes.api.model.rbac.SubjectBuilder)25 RoleRef (io.fabric8.kubernetes.api.model.rbac.RoleRef)24 RoleBindingBuilder (io.fabric8.kubernetes.api.model.rbac.RoleBindingBuilder)21 KubernetesClient (io.fabric8.kubernetes.client.KubernetesClient)19 RoleBuilder (io.fabric8.kubernetes.api.model.rbac.RoleBuilder)18 Subject (io.fabric8.kubernetes.api.model.rbac.Subject)18 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)16 ArgumentMatchers.eq (org.mockito.ArgumentMatchers.eq)16 Mockito.when (org.mockito.Mockito.when)16 PolicyRule (io.fabric8.kubernetes.api.model.rbac.PolicyRule)15 RoleList (io.fabric8.kubernetes.api.model.rbac.RoleList)15 Test (org.junit.Test)15 RoleBindingList (io.fabric8.kubernetes.api.model.rbac.RoleBindingList)14 List (java.util.List)14 IOException (java.io.IOException)13 Collections (java.util.Collections)13 Optional (java.util.Optional)13