use of com.google.cloud.servicedirectory.v1.Service in project yakc by manusa.
the class ServiceLegacyIT method awaitCreateWatch.
@Test
@DisplayName("listNamespacedService.watch, should await for notification of newly created Service")
void awaitCreateWatch() throws IOException {
// Given
final AtomicBoolean hasError = new AtomicBoolean(false);
final AtomicBoolean hasCompleted = new AtomicBoolean(false);
// When
final Disposable d = KC.create(CoreV1Api.class).listNamespacedService(NAMESPACE).watch().filter(we -> we.getObject().getMetadata().getName().equals(serviceName)).takeUntil(we -> we.getType() == Type.ADDED).timeout(20, TimeUnit.SECONDS).subscribe(we -> hasCompleted.set(true), we -> hasError.set(true));
// Then
assertThat(d).isNotNull();
assertThat(hasError.get()).as("Watch subscribe ended with an error").isFalse();
assertThat(hasCompleted.get()).as("Watch subscribe did not complete").isTrue();
}
use of com.google.cloud.servicedirectory.v1.Service in project quarkus by quarkusio.
the class KnativeWithSecretConfigTest method assertGeneratedResources.
@Test
public void assertGeneratedResources() throws IOException {
final Path kubernetesDir = prodModeTestResults.getBuildDir().resolve("kubernetes");
assertThat(kubernetesDir).isDirectoryContaining(p -> p.getFileName().endsWith("knative.json")).isDirectoryContaining(p -> p.getFileName().endsWith("knative.yml"));
List<HasMetadata> kubernetesList = DeserializationUtil.deserializeAsList(kubernetesDir.resolve("knative.yml"));
assertThat(kubernetesList).filteredOn(h -> "RoleBinding".equals(h.getKind())).hasSize(2);
assertThat(kubernetesList).filteredOn(h -> "ServiceAccount".equals(h.getKind())).singleElement().satisfies(s -> {
assertThat(s.getMetadata()).satisfies(m -> {
assertThat(m.getName()).isEqualTo("knative-with-secret-config");
});
});
assertThat(kubernetesList).filteredOn(h -> "Service".equals(h.getKind())).singleElement().isInstanceOf(Service.class).satisfies(s -> {
assertThat(s.getMetadata()).satisfies(m -> {
assertThat(m.getName()).isEqualTo("knative-with-secret-config");
});
assertThat(((Service) s).getSpec()).satisfies(serviceSpec -> {
assertThat(serviceSpec.getTemplate()).satisfies(revisionTemplateSpec -> {
assertThat(revisionTemplateSpec.getSpec()).satisfies(revisionSpec -> {
assertThat(revisionSpec.getServiceAccountName()).isEqualTo("knative-with-secret-config");
});
});
});
});
}
use of com.google.cloud.servicedirectory.v1.Service in project quarkus by quarkusio.
the class KnativeWithTrafficSplittingTest method assertGeneratedResources.
@Test
public void assertGeneratedResources() throws IOException {
Path kubernetesDir = prodModeTestResults.getBuildDir().resolve("kubernetes");
assertThat(kubernetesDir).isDirectoryContaining(p -> p.getFileName().endsWith("knative.json")).isDirectoryContaining(p -> p.getFileName().endsWith("knative.yml")).satisfies(p -> assertThat(p.toFile().listFiles()).hasSize(2));
List<HasMetadata> kubernetesList = DeserializationUtil.deserializeAsList(kubernetesDir.resolve("knative.yml"));
assertThat(kubernetesList).filteredOn(i -> "Service".equals(i.getKind())).singleElement().satisfies(i -> {
assertThat(i).isInstanceOfSatisfying(Service.class, s -> {
assertThat(s.getSpec()).satisfies(spec -> {
assertThat(s.getMetadata()).satisfies(m -> {
assertThat(m.getName()).isEqualTo("knative-with-traffic-splitting");
});
assertThat(spec.getTemplate()).satisfies(template -> {
assertThat(template.getMetadata().getName()).isEqualTo("my-revision");
});
assertThat(spec.getTraffic()).singleElement().satisfies(t -> {
assertThat(t.getPercent()).isEqualTo(80);
});
});
});
});
}
use of com.google.cloud.servicedirectory.v1.Service in project quarkus by quarkusio.
the class KnativeWithRevisionAutoscalingTest method assertGeneratedResources.
@Test
public void assertGeneratedResources() throws IOException {
Path kubernetesDir = prodModeTestResults.getBuildDir().resolve("kubernetes");
assertThat(kubernetesDir).isDirectoryContaining(p -> p.getFileName().endsWith("knative.json")).isDirectoryContaining(p -> p.getFileName().endsWith("knative.yml")).satisfies(p -> assertThat(p.toFile().listFiles()).hasSize(2));
List<HasMetadata> kubernetesList = DeserializationUtil.deserializeAsList(kubernetesDir.resolve("knative.yml"));
assertThat(kubernetesList).filteredOn(i -> "Service".equals(i.getKind())).singleElement().satisfies(i -> {
Service service = (Service) i;
assertThat(service.getMetadata().getName()).isEqualTo(NAME);
// Issue: https://github.com/quarkusio/quarkus/issues/23832
// assertThat(service.getSpec().getTemplate().getSpec().getContainerConcurrency()).isEqualTo(5);
Map<String, String> annotations = service.getSpec().getTemplate().getMetadata().getAnnotations();
assertThat(annotations).contains(entry("autoscaling.knative.dev/class", "kpa.autoscaling.knative.dev"));
assertThat(annotations).contains(entry("autoscaling.knative.dev/metric", "cpu"));
assertThat(annotations).contains(entry("autoscaling.knative.dev/target-utilization-percentage", "55"));
assertThat(annotations).contains(entry("autoscaling.knative.dev/target", "80"));
});
}
use of com.google.cloud.servicedirectory.v1.Service in project quarkus by quarkusio.
the class KnativeWithSpecifiedContainerNameTest method assertGeneratedResources.
@Test
public void assertGeneratedResources() throws IOException {
Path kubernetesDir = prodModeTestResults.getBuildDir().resolve("kubernetes");
assertThat(kubernetesDir).isDirectoryContaining(p -> p.getFileName().endsWith("knative.json")).isDirectoryContaining(p -> p.getFileName().endsWith("knative.yml")).satisfies(p -> assertThat(p.toFile().listFiles()).hasSize(2));
List<HasMetadata> kubernetesList = DeserializationUtil.deserializeAsList(kubernetesDir.resolve("knative.yml"));
assertThat(kubernetesList).filteredOn(i -> "Service".equals(i.getKind())).singleElement().satisfies(i -> {
assertThat(i).isInstanceOfSatisfying(Service.class, s -> {
assertThat(s.getSpec()).satisfies(spec -> {
assertThat(s.getMetadata()).satisfies(m -> {
assertThat(m.getName()).isEqualTo("kfoo");
});
assertThat(spec.getTemplate().getSpec().getContainers()).singleElement().satisfies(container -> {
assertThat(container.getCommand()).contains("my-command");
assertThat(container.getName()).isEqualTo("kbar");
assertThat(container.getArgs()).containsExactly("A", "B");
});
});
});
});
}
Aggregations