Search in sources :

Example 1 with Xp7AppSpec

use of com.enonic.kubernetes.client.v1.xp7app.Xp7AppSpec in project xp-operator by enonic.

the class CrudTest method v1Xp7App.

@Test
void v1Xp7App() throws IOException, URISyntaxException {
    EnonicKubernetesClient client = new DefaultEnonicKubernetesClient(server.getClient());
    CustomResourceDefinition crd = client.k8s().apiextensions().v1().customResourceDefinitions().load(getClass().getResourceAsStream("/crds/apps.yaml")).get();
    client.k8s().apiextensions().v1().customResourceDefinitions().create(crd);
    // Create crd client
    MixedOperation<Xp7App, Xp7App.Xp7AppList, Resource<Xp7App>> crdClient = client.enonic().v1().crds().xp7apps();
    // Create resource
    ObjectMetaBuilder metadataBuilder = new ObjectMetaBuilder().withNamespace("test").withName("test-name");
    Xp7App resource = new Xp7App().withSpec(new Xp7AppSpec().withUrl("test"));
    resource.setMetadata(metadataBuilder.build());
    assertCrd(resource, "/crud-app.json");
    // Send to server
    crdClient.create(resource);
    // List
    Xp7App.Xp7AppList list = crdClient.list();
    assertNotNull(list);
    assertEquals(1, list.getItems().size());
    assertEqualsCrd(resource, list.getItems().get(0));
    // Fetch from server
    Xp7App get = crdClient.withName("test-name").get();
    assertNotNull(get);
    assertEqualsCrd(resource, get);
    // Test put
    resource.setMetadata(metadataBuilder.withLabels(Map.of("test2", "test2")).build());
    resource.setSpec(new Xp7AppSpec().withUrl("test"));
    crdClient.withName("test-name").replace(resource);
    // Delete from server
    assertTrue(crdClient.withName("test-name").delete());
}
Also used : CustomResourceDefinition(io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition) Resource(io.fabric8.kubernetes.client.dsl.Resource) CustomResource(io.fabric8.kubernetes.client.CustomResource) Xp7AppSpec(com.enonic.kubernetes.client.v1.xp7app.Xp7AppSpec) Xp7App(com.enonic.kubernetes.client.v1.xp7app.Xp7App) ObjectMetaBuilder(io.fabric8.kubernetes.api.model.ObjectMetaBuilder) Test(org.junit.jupiter.api.Test)

Aggregations

Xp7App (com.enonic.kubernetes.client.v1.xp7app.Xp7App)1 Xp7AppSpec (com.enonic.kubernetes.client.v1.xp7app.Xp7AppSpec)1 ObjectMetaBuilder (io.fabric8.kubernetes.api.model.ObjectMetaBuilder)1 CustomResourceDefinition (io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition)1 CustomResource (io.fabric8.kubernetes.client.CustomResource)1 Resource (io.fabric8.kubernetes.client.dsl.Resource)1 Test (org.junit.jupiter.api.Test)1