use of io.fabric8.kubernetes.client.dsl.MixedOperation in project strimzi by strimzi.
the class AbstractResourceOperatorTest method deletionThrows.
@Test
public void deletionThrows(TestContext context) {
T resource = resource();
RuntimeException ex = new RuntimeException();
Resource mockResource = mock(resourceType());
when(mockResource.get()).thenReturn(resource);
when(mockResource.delete()).thenThrow(ex);
NonNamespaceOperation mockNameable = mock(NonNamespaceOperation.class);
when(mockNameable.withName(matches(RESOURCE_NAME))).thenReturn(mockResource);
MixedOperation mockCms = mock(MixedOperation.class);
when(mockCms.inNamespace(matches(NAMESPACE))).thenReturn(mockNameable);
C mockClient = mock(clientType());
mocker(mockClient, mockCms);
AbstractResourceOperator<C, T, L, D, R, P> op = createResourceOperations(vertx, mockClient);
Async async = context.async();
op.reconcile(resource.getMetadata().getNamespace(), resource.getMetadata().getName(), null).setHandler(ar -> {
assertTrue(ar.failed());
assertEquals(ex, ar.cause());
async.complete();
});
}
use of io.fabric8.kubernetes.client.dsl.MixedOperation in project strimzi by strimzi.
the class AbstractResourceOperatorTest method deleteWhenResourceDoesNotExistIsANop.
@Test
public void deleteWhenResourceDoesNotExistIsANop(TestContext context) {
T resource = resource();
Resource mockResource = mock(resourceType());
NonNamespaceOperation mockNameable = mock(NonNamespaceOperation.class);
when(mockNameable.withName(matches(RESOURCE_NAME))).thenReturn(mockResource);
MixedOperation mockCms = mock(MixedOperation.class);
when(mockCms.inNamespace(matches(NAMESPACE))).thenReturn(mockNameable);
C mockClient = mock(clientType());
mocker(mockClient, mockCms);
AbstractResourceOperator<C, T, L, D, R, P> op = createResourceOperations(vertx, mockClient);
Async async = context.async();
op.reconcile(resource.getMetadata().getNamespace(), resource.getMetadata().getName(), null).setHandler(ar -> {
assertTrue(ar.succeeded());
verify(mockResource).get();
verify(mockResource, never()).delete();
async.complete();
});
}
use of io.fabric8.kubernetes.client.dsl.MixedOperation in project strimzi by strimzi.
the class AbstractResourceOperatorTest method successfulDeletion.
@Test
public void successfulDeletion(TestContext context) {
T resource = resource();
Resource mockResource = mock(resourceType());
when(mockResource.get()).thenReturn(resource);
NonNamespaceOperation mockNameable = mock(NonNamespaceOperation.class);
when(mockNameable.withName(matches(RESOURCE_NAME))).thenReturn(mockResource);
MixedOperation mockCms = mock(MixedOperation.class);
when(mockCms.inNamespace(matches(NAMESPACE))).thenReturn(mockNameable);
C mockClient = mock(clientType());
mocker(mockClient, mockCms);
AbstractResourceOperator<C, T, L, D, R, P> op = createResourceOperations(vertx, mockClient);
Async async = context.async();
op.reconcile(resource.getMetadata().getNamespace(), resource.getMetadata().getName(), null).setHandler(ar -> {
if (ar.failed())
ar.cause().printStackTrace();
assertTrue(ar.succeeded());
verify(mockResource).delete();
async.complete();
});
}
use of io.fabric8.kubernetes.client.dsl.MixedOperation in project strimzi by strimzi.
the class StatefulSetOperatorTest method mocker.
@Override
protected void mocker(KubernetesClient mockClient, MixedOperation op) {
AppsAPIGroupDSL mockExt = mock(AppsAPIGroupDSL.class);
when(mockExt.statefulSets()).thenReturn(op);
when(mockClient.apps()).thenReturn(mockExt);
}
use of io.fabric8.kubernetes.client.dsl.MixedOperation in project strimzi by strimzi.
the class K8sImplTest method testList.
@Test
public void testList(TestContext context) {
Async async = context.async();
KubernetesClient mockClient = mock(KubernetesClient.class);
MixedOperation<ConfigMap, ConfigMapList, DoneableConfigMap, Resource<ConfigMap, DoneableConfigMap>> mockConfigMaps = mock(MixedOperation.class);
when(mockClient.configMaps()).thenReturn(mockConfigMaps);
when(mockConfigMaps.withLabels(any())).thenReturn(mockConfigMaps);
when(mockConfigMaps.inNamespace(any())).thenReturn(mockConfigMaps);
when(mockConfigMaps.list()).thenReturn(new ConfigMapListBuilder().addNewItem().withKind("ConfigMap").withNewMetadata().withName("unrelated").withLabels(Collections.singletonMap("foo", "bar")).endMetadata().withData(Collections.singletonMap("foo", "bar")).endItem().addNewItem().endItem().build());
K8sImpl k8s = new K8sImpl(vertx, mockClient, new LabelPredicate("foo", "bar"), "default");
k8s.listMaps(ar -> {
List<ConfigMap> list = ar.result();
context.assertFalse(list.isEmpty());
async.complete();
});
}
Aggregations