Skip to content
This repository was archived by the owner on Jan 31, 2025. It is now read-only.

Commit

Permalink
BC-7234 - add test
Browse files Browse the repository at this point in the history
  • Loading branch information
mamutmk5 authored Jun 21, 2024
1 parent 9f894f3 commit 14e5fbe
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 1 deletion.
1 change: 0 additions & 1 deletion src/main/java/de/svs/doido/mongo/ConfigmapApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import io.fabric8.kubernetes.client.KubernetesClient;
import jakarta.inject.Inject;
import svs.doido.mongo.dto.Configmap;
import svs.doido.mongo.kubernetes.configmap.Read;
Expand Down
66 changes: 66 additions & 0 deletions src/test/java/de/svs/doido/mongo/ConfigmapApiTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package svs.doido.mongo;

import io.quarkus.test.junit.QuarkusTest;
import io.quarkus.test.kubernetes.client.KubernetesTestServer;
import io.quarkus.test.kubernetes.client.WithKubernetesTestServer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.AfterEach;
import jakarta.inject.Inject;

import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
import io.fabric8.kubernetes.api.model.Namespace;
import io.fabric8.kubernetes.api.model.NamespaceBuilder;
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.ConfigMapBuilder;

import java.lang.HashMap;

import static io.restassured.RestAssured.given;
import static org.hamcrest.CoreMatchers.is;




@WithKubernetesTestServer
@QuarkusTest
class ConfigmapApiTest {

@KubernetesTestServer
KubernetesServer mockServer;
@Inject
KubernetesClient client;

@BeforeEach
public void before() {
final Namespace namespace1 = new NamespaceBuilder().withNewMetadata().withName("namespaceA").and().build();
final ConfigMap cfgTest = new ConfigMapBuilder().withNewMetadata().withName("test").withNamespace("namespaceA").and().build();
final HashMap<String,String> data = new HashMap<String,String>();
data.put("uri","http://www.test.de");
cfgTest.setData(data);

// Set up Kubernetes so that our "pretend" pods namespaces created
client.namespaces().resource(namespace1).create();
client.configmaps().resource(cfgTest).create();
}

@AfterEach
public void after() {
final Namespace namespace1 = new NamespaceBuilder().withNewMetadata().withName("namespaceA").and().build();

// Set up Kubernetes so that our "pretend" namespaces are deleted
client.namespaces().resource(namespace1).delete();
}


@Test
void testInteractionWithAPIServerForConfigmaps() {
given()
.when().get("/configmap/namespaceA/test")
.then()
.statusCode(200)
.body("size()", is(2));
}

}

0 comments on commit 14e5fbe

Please sign in to comment.