|
7 | 7 | import io.fabric8.kubernetes.api.model.KubernetesResourceList;
|
8 | 8 | import io.fabric8.kubernetes.client.dsl.MixedOperation;
|
9 | 9 | import io.fabric8.kubernetes.client.dsl.Resource;
|
10 |
| -import io.skodjob.testframe.interfaces.NamespacedResourceType; |
| 10 | +import io.skodjob.testframe.interfaces.ResourceType; |
11 | 11 | import io.skodjob.testframe.resources.KubeResourceManager;
|
| 12 | +import io.strimzi.api.kafka.model.common.Condition; |
12 | 13 | import io.strimzi.kafka.access.model.KafkaAccess;
|
13 |
| -import io.strimzi.kafka.access.utils.KafkaAccessUtils; |
| 14 | +import io.strimzi.kafka.access.model.KafkaAccessStatus; |
14 | 15 |
|
| 16 | +import java.util.Optional; |
15 | 17 | import java.util.function.Consumer;
|
16 | 18 |
|
17 |
| -public class KafkaAccessType implements NamespacedResourceType<KafkaAccess> { |
| 19 | +public class KafkaAccessType implements ResourceType<KafkaAccess> { |
18 | 20 |
|
19 | 21 | private final MixedOperation<KafkaAccess, KubernetesResourceList<KafkaAccess>, Resource<KafkaAccess>> client;
|
20 | 22 |
|
@@ -47,47 +49,28 @@ public void update(KafkaAccess kafkaAccess) {
|
47 | 49 | }
|
48 | 50 |
|
49 | 51 | @Override
|
50 |
| - public void delete(String resourceName) { |
51 |
| - client.withName(resourceName).delete(); |
| 52 | + public void delete(KafkaAccess kafkaAccess) { |
| 53 | + client.resource(kafkaAccess).delete(); |
52 | 54 | }
|
53 | 55 |
|
54 | 56 | @Override
|
55 |
| - public void replace(String resourceName, Consumer<KafkaAccess> editor) { |
56 |
| - KafkaAccess toBeReplaced = client.withName(resourceName).get(); |
| 57 | + public void replace(KafkaAccess kafkaAccess, Consumer<KafkaAccess> editor) { |
| 58 | + KafkaAccess toBeReplaced = client.inNamespace(kafkaAccess.getMetadata().getNamespace()).withName(kafkaAccess.getMetadata().getName()).get(); |
57 | 59 | editor.accept(toBeReplaced);
|
58 | 60 | update(toBeReplaced);
|
59 | 61 | }
|
60 | 62 |
|
61 | 63 | @Override
|
62 |
| - public boolean waitForReadiness(KafkaAccess kafkaAccess) { |
63 |
| - return KafkaAccessUtils.waitForKafkaAccessReady(kafkaAccess.getMetadata().getNamespace(), kafkaAccess.getMetadata().getName()); |
64 |
| - } |
65 |
| - |
66 |
| - @Override |
67 |
| - public boolean waitForDeletion(KafkaAccess kafkaAccess) { |
68 |
| - return kafkaAccess == null; |
69 |
| - } |
70 |
| - |
71 |
| - @Override |
72 |
| - public void createInNamespace(String namespaceName, KafkaAccess kafkaAccess) { |
73 |
| - client.inNamespace(namespaceName).resource(kafkaAccess).create(); |
74 |
| - } |
| 64 | + public boolean isReady(KafkaAccess kafkaAccess) { |
| 65 | + KafkaAccessStatus kafkaAccessStatus = client.resource(kafkaAccess).get().getStatus(); |
| 66 | + Optional<Condition> readyCondition = kafkaAccessStatus.getConditions().stream().filter(condition -> condition.getType().equals("Ready")).findFirst(); |
75 | 67 |
|
76 |
| - @Override |
77 |
| - public void updateInNamespace(String namespaceName, KafkaAccess kafkaAccess) { |
78 |
| - client.inNamespace(namespaceName).resource(kafkaAccess).update(); |
| 68 | + return readyCondition.map(condition -> condition.getStatus().equals("True")).orElse(false); |
79 | 69 | }
|
80 | 70 |
|
81 | 71 | @Override
|
82 |
| - public void deleteFromNamespace(String namespaceName, String resourceName) { |
83 |
| - client.inNamespace(namespaceName).withName(resourceName).delete(); |
84 |
| - } |
85 |
| - |
86 |
| - @Override |
87 |
| - public void replaceInNamespace(String namespaceName, String resourceName, Consumer<KafkaAccess> editor) { |
88 |
| - KafkaAccess toBeReplaced = client.inNamespace(namespaceName).withName(resourceName).get(); |
89 |
| - editor.accept(toBeReplaced); |
90 |
| - updateInNamespace(namespaceName, toBeReplaced); |
| 72 | + public boolean isDeleted(KafkaAccess kafkaAccess) { |
| 73 | + return kafkaAccess == null; |
91 | 74 | }
|
92 | 75 |
|
93 | 76 | public static MixedOperation<KafkaAccess, KubernetesResourceList<KafkaAccess>, Resource<KafkaAccess>> kafkaAccessClient() {
|
|
0 commit comments