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());
}
Aggregations