Skip to content

[TEST] Add unit tests for remaining Kubernetes resource types #141

@manusa

Description

@manusa

Description

Add unit tests for resource types that currently have no test coverage.

Context

  • Currently tested: Apis, CronJobs, Gateway, Node, Service
  • Pattern established in ServiceTest.java: test DELETE, PUT, and watch endpoints
  • Uses @QuarkusTest, @WithKubernetesTestServer, Awaitility

Resources WITHOUT tests

Priority resources (most commonly used):

  1. DeploymentResource - src/main/java/com/marcnuri/yakd/deployment/
  2. PodResource - src/main/java/com/marcnuri/yakd/pod/
  3. ConfigMapResource - src/main/java/com/marcnuri/yakd/configmaps/
  4. SecretResource - src/main/java/com/marcnuri/yakd/secrets/

Additional resources:
5. ClusterRoleBindingResource - src/main/java/com/marcnuri/yakd/clusterrolebindings/
6. ClusterRoleResource - src/main/java/com/marcnuri/yakd/clusterroles/
7. CustomResourceResource - src/main/java/com/marcnuri/yakd/customresources/
8. CustomResourceDefinitionResource - src/main/java/com/marcnuri/yakd/customresourcedefinitions/
9. DaemonSetResource - src/main/java/com/marcnuri/yakd/daemonsets/
10. DeploymentConfigResource (OpenShift) - src/main/java/com/marcnuri/yakd/deploymentconfigs/
11. EndpointResource - src/main/java/com/marcnuri/yakd/endpoints/
12. HorizontalPodAutoscalerResource - src/main/java/com/marcnuri/yakd/horizontalpodautoscalers/
13. IngressResource - src/main/java/com/marcnuri/yakd/ingresses/
14. JobResource - src/main/java/com/marcnuri/yakd/jobs/
15. NamespaceResource - src/main/java/com/marcnuri/yakd/namespaces/
16. PersistentVolumeResource - src/main/java/com/marcnuri/yakd/persistentvolumes/
17. PersistentVolumeClaimResource - src/main/java/com/marcnuri/yakd/persistentvolumeclaims/
18. ReplicaSetResource - src/main/java/com/marcnuri/yakd/replicaset/
19. ReplicationControllerResource - src/main/java/com/marcnuri/yakd/replicationcontrollers/
20. RoleResource - src/main/java/com/marcnuri/yakd/roles/
21. RoleBindingResource - src/main/java/com/marcnuri/yakd/rolebindings/
22. RouteResource (OpenShift) - src/main/java/com/marcnuri/yakd/routes/
23. ServiceAccountResource - src/main/java/com/marcnuri/yakd/serviceaccounts/
24. StatefulSetResource - src/main/java/com/marcnuri/yakd/statefulsets/

Test template (from ServiceTest.java)

@QuarkusTest
@WithKubernetesTestServer
class XxxTest {
  @Inject KubernetesClient kubernetesClient;
  @TestHTTPResource URL url;

  @Test void delete() { /* DELETE endpoint */ }
  @Test void update() { /* PUT endpoint */ }
  @Test void watch() { /* WebSocket watch */ }
}

Acceptance Criteria

  • At minimum: tests for Deployment, Pod, ConfigMap, Secret
  • Each test covers: delete, update, and watch operations
  • Tests use mock Kubernetes server
  • All tests pass: mvn test

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions