Skip to content

Commit e269dbd

Browse files
Yavor16anthonydahanne
authored andcommitted
add readiness health check support in client
add integration test Upgrade JUnit4 to JUnit5 Java 17 and 21 CI is now manually triggered ala workflow_dispatch Revert removal of Test import * make sure that we also compile the integration tests during Github CI updates Conditonal CloudFoundry version based test to JUnit 5 Do not use ExtendWith * when the extension has a mandatory field to initialize, because ExtendWith only works with default constructor Junit4 to Junit4 Integration Tests migration * add the extension registration declaratively (using an annotation) Modified getOrganizationId() & getSpaceId() as per V3 adding security groups v3 create api adding create security group impl and tests adding get security group api and tests adding get security group impl + test adding list security groups impl + api adding update security group api adding update security group api v3 impl adding security groups delete api v3 impl and tests adding bind running/staging security group v3 api adding bind impl adding unbind security group adding list running/staging api and tests adding create security group test adding integration tests adding integration tests fixing setup/teardown fixing integration tests refactoring integration tests Ignore .idea/ for real now Migration to Junit5 * tests from radoslav commits Make integration tests chatty * cause they have interesting things to display Add globally enabled Spotless apply; include integration-test mask off non-permission bits apply spotless formatting * on top of Hans Schulz "mask off non-permission bits" porting check route to v3 api porting delete orphaned routes pushing delete route cleaning up leftovers in tests applying default style and fixing missing imports PR #1194: rebase and format with spotless defaultApplication-api minor changes Modified Junit tests to adopt V3 changes. rebasing 1173 fix health check type serialization Update tcp-routes.yml Update tcp-routes.yml Update IntegrationTestConfiguration.java fix formatting test
1 parent a7e8b64 commit e269dbd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+741
-2
lines changed

.DS_Store

8 KB
Binary file not shown.

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ bin/
88
.settings/
99
.factorypath
1010
.gradle
11-
.history/
11+
.history/

ci/tcp-routes.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,9 @@
2525
path: /product-properties/.cloud_controller.default_quota_memory_limit_mb
2626
value:
2727
value: ((DEFAULT_QUOTA_MEM_MB))
28+
- type: replace
29+
path: /resource-config/compute/instances
30+
value: 4
31+
- type: replace
32+
path: /resource-config/compute/instance_type/id
33+
value: "2xlarge.mem"
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module external.linked.project.id="$MODULE_DIR$/pom.xml" external.system.module.type="SINGLE_MODULE" external.system.module.version="223-2" org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
4+
<output url="file://$MODULE_DIR$/target/classes" />
5+
<output-test url="file://$MODULE_DIR$/target/test-classes" />
6+
<content url="file://$MODULE_DIR$">
7+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
8+
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
9+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
10+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
11+
<sourceFolder url="file://$MODULE_DIR$/target/generated-sources/annotations" isTestSource="false" generated="true" />
12+
<sourceFolder url="file://$MODULE_DIR$/target/generated-test-sources/test-annotations" isTestSource="true" generated="true" />
13+
<excludeFolder url="file://$MODULE_DIR$/target" />
14+
</content>
15+
<orderEntry type="inheritedJdk" />
16+
<orderEntry type="sourceFolder" forTests="false" />
17+
<orderEntry type="library" scope="TEST" name="Maven: ch.qos.logback:logback-classic:1.4.14" level="project" />
18+
<orderEntry type="library" scope="TEST" name="Maven: ch.qos.logback:logback-core:1.4.14" level="project" />
19+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.15.3" level="project" />
20+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.15.3" level="project" />
21+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.15.3" level="project" />
22+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.15.3" level="project" />
23+
<orderEntry type="library" name="Maven: com.github.zafarkhaja:java-semver:0.9.0" level="project" />
24+
<orderEntry type="library" scope="TEST" name="Maven: com.squareup.okhttp3:mockwebserver3-junit5:5.0.0-alpha.11" level="project" />
25+
<orderEntry type="library" scope="TEST" name="Maven: com.squareup.okhttp3:mockwebserver3:5.0.0-alpha.11" level="project" />
26+
<orderEntry type="library" scope="TEST" name="Maven: com.squareup.okhttp3:okhttp-jvm:5.0.0-alpha.11" level="project" />
27+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.10.1" level="project" />
28+
<orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.3.0" level="project" />
29+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.10.1" level="project" />
30+
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.2" level="project" />
31+
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.21" level="project" />
32+
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib:1.9.21" level="project" />
33+
<orderEntry type="library" name="Maven: org.jetbrains:annotations:13.0" level="project" />
34+
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.21" level="project" />
35+
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-api:0.11.5" level="project" />
36+
<orderEntry type="library" scope="RUNTIME" name="Maven: io.jsonwebtoken:jjwt-impl:0.11.5" level="project" />
37+
<orderEntry type="library" scope="RUNTIME" name="Maven: io.jsonwebtoken:jjwt-jackson:0.11.5" level="project" />
38+
<orderEntry type="library" scope="TEST" name="Maven: io.projectreactor:reactor-test:3.6.1" level="project" />
39+
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.6.1" level="project" />
40+
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.4" level="project" />
41+
<orderEntry type="library" name="Maven: io.projectreactor.netty:reactor-netty:1.1.14" level="project" />
42+
<orderEntry type="library" name="Maven: io.projectreactor.netty:reactor-netty-core:1.1.14" level="project" />
43+
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.104.Final" level="project" />
44+
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.104.Final" level="project" />
45+
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.104.Final" level="project" />
46+
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.104.Final" level="project" />
47+
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.104.Final" level="project" />
48+
<orderEntry type="library" name="Maven: io.netty:netty-transport-native-unix-common:4.1.104.Final" level="project" />
49+
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.104.Final" level="project" />
50+
<orderEntry type="library" name="Maven: io.netty:netty-handler-proxy:4.1.104.Final" level="project" />
51+
<orderEntry type="library" name="Maven: io.netty:netty-codec-socks:4.1.104.Final" level="project" />
52+
<orderEntry type="library" name="Maven: io.netty:netty-resolver-dns:4.1.104.Final" level="project" />
53+
<orderEntry type="library" name="Maven: io.netty:netty-codec-dns:4.1.104.Final" level="project" />
54+
<orderEntry type="library" name="Maven: io.netty:netty-resolver-dns-native-macos:osx-x86_64:4.1.104.Final" level="project" />
55+
<orderEntry type="library" name="Maven: io.netty:netty-resolver-dns-classes-macos:4.1.104.Final" level="project" />
56+
<orderEntry type="library" name="Maven: io.netty:netty-transport-native-epoll:linux-x86_64:4.1.104.Final" level="project" />
57+
<orderEntry type="library" name="Maven: io.netty:netty-transport-classes-epoll:4.1.104.Final" level="project" />
58+
<orderEntry type="library" name="Maven: io.projectreactor.netty:reactor-netty-http:1.1.14" level="project" />
59+
<orderEntry type="library" name="Maven: io.netty:netty-codec-http:4.1.104.Final" level="project" />
60+
<orderEntry type="library" name="Maven: io.netty:netty-codec-http2:4.1.104.Final" level="project" />
61+
<orderEntry type="library" scope="RUNTIME" name="Maven: io.projectreactor.netty.incubator:reactor-netty-incubator-quic:0.1.14" level="project" />
62+
<orderEntry type="library" scope="RUNTIME" name="Maven: io.netty.incubator:netty-incubator-codec-native-quic:linux-x86_64:0.0.54.Final" level="project" />
63+
<orderEntry type="library" scope="RUNTIME" name="Maven: io.netty.incubator:netty-incubator-codec-classes-quic:0.0.54.Final" level="project" />
64+
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:2.1.1" level="project" />
65+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:3.2.1" level="project" />
66+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter:3.2.1" level="project" />
67+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot:3.2.1" level="project" />
68+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-context:6.1.2" level="project" />
69+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-aop:6.1.2" level="project" />
70+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-beans:6.1.2" level="project" />
71+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-expression:6.1.2" level="project" />
72+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-autoconfigure:3.2.1" level="project" />
73+
<orderEntry type="library" scope="TEST" name="Maven: org.yaml:snakeyaml:2.2" level="project" />
74+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:3.2.1" level="project" />
75+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:3.2.1" level="project" />
76+
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.8.0" level="project" />
77+
<orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:4.0.1" level="project" />
78+
<orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:2.1.2" level="project" />
79+
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.5.0" level="project" />
80+
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:2.5.0" level="project" />
81+
<orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:9.3" level="project" />
82+
<orderEntry type="library" scope="TEST" name="Maven: org.awaitility:awaitility:4.2.0" level="project" />
83+
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
84+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.10.1" level="project" />
85+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.10.1" level="project" />
86+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.10.1" level="project" />
87+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.10.1" level="project" />
88+
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:5.7.0" level="project" />
89+
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.1" level="project" />
90+
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
91+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:6.1.2" level="project" />
92+
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.9.1" level="project" />
93+
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.24.2" level="project" />
94+
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy:1.14.10" level="project" />
95+
<orderEntry type="module" module-name="cloudfoundry-client" />
96+
<orderEntry type="library" name="Maven: com.squareup.wire:wire-runtime-jvm:4.9.1" level="project" />
97+
<orderEntry type="library" name="Maven: com.squareup.okio:okio-jvm:3.5.0" level="project" />
98+
<orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-common:1.9.21" level="project" />
99+
<orderEntry type="module" module-name="cloudfoundry-util" />
100+
<orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.24.0" level="project" />
101+
<orderEntry type="library" name="Maven: org.atteo:evo-inflector:1.3" level="project" />
102+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.immutables:value:2.10.0" level="project" />
103+
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:5.7.0" level="project" />
104+
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.14.10" level="project" />
105+
<orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:3.3" level="project" />
106+
<orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:2.0.9" level="project" />
107+
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:2.0.9" level="project" />
108+
<orderEntry type="library" name="Maven: org.springframework:spring-core:6.1.2" level="project" />
109+
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:6.1.2" level="project" />
110+
<orderEntry type="library" name="Maven: org.springframework:spring-web:6.1.2" level="project" />
111+
<orderEntry type="library" name="Maven: io.micrometer:micrometer-observation:1.12.1" level="project" />
112+
<orderEntry type="library" name="Maven: io.micrometer:micrometer-commons:1.12.1" level="project" />
113+
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-logging:3.2.1" level="project" />
114+
<orderEntry type="library" scope="TEST" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.21.1" level="project" />
115+
<orderEntry type="library" scope="TEST" name="Maven: org.apache.logging.log4j:log4j-api:2.21.1" level="project" />
116+
<orderEntry type="library" scope="TEST" name="Maven: org.slf4j:jul-to-slf4j:2.0.9" level="project" />
117+
</component>
118+
<component name="SonarLintModuleSettings">
119+
<option name="uniqueId" value="f5c346aa-4363-4168-bd29-983b660b2f36" />
120+
</component>
121+
</module>

cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/applications/ReactorApplicationsV3Test.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@
117117
import org.cloudfoundry.client.v3.processes.ProcessState;
118118
import org.cloudfoundry.client.v3.processes.ProcessStatisticsResource;
119119
import org.cloudfoundry.client.v3.processes.ProcessUsage;
120+
import org.cloudfoundry.client.v3.processes.ReadinessHealthCheck;
121+
import org.cloudfoundry.client.v3.processes.ReadinessHealthCheckType;
120122
import org.cloudfoundry.client.v3.routes.Application;
121123
import org.cloudfoundry.client.v3.routes.Destination;
122124
import org.cloudfoundry.client.v3.routes.Process;
@@ -807,6 +809,16 @@ void getProcess() {
807809
.endpoint(null)
808810
.build())
809811
.build())
812+
.readinessHealthCheck(
813+
ReadinessHealthCheck.builder()
814+
.type(ReadinessHealthCheckType.PORT)
815+
.data(
816+
Data.builder()
817+
.interval(null)
818+
.timeout(null)
819+
.endpoint(null)
820+
.build())
821+
.build())
810822
.metadata(
811823
Metadata.builder()
812824
.annotations(Collections.emptyMap())
@@ -1627,6 +1639,16 @@ void listProcesses() {
16271639
.endpoint(null)
16281640
.build())
16291641
.build())
1642+
.readinessHealthCheck(
1643+
ReadinessHealthCheck.builder()
1644+
.type(ReadinessHealthCheckType.PORT)
1645+
.data(
1646+
Data.builder()
1647+
.interval(null)
1648+
.timeout(null)
1649+
.endpoint(null)
1650+
.build())
1651+
.build())
16301652
.metadata(
16311653
Metadata.builder()
16321654
.annotations(Collections.emptyMap())
@@ -1685,6 +1707,16 @@ void listProcesses() {
16851707
.endpoint(null)
16861708
.build())
16871709
.build())
1710+
.readinessHealthCheck(
1711+
ReadinessHealthCheck.builder()
1712+
.type(ReadinessHealthCheckType.PORT)
1713+
.data(
1714+
Data.builder()
1715+
.interval(null)
1716+
.timeout(null)
1717+
.endpoint(null)
1718+
.build())
1719+
.build())
16881720
.metadata(
16891721
Metadata.builder()
16901722
.annotations(Collections.emptyMap())
@@ -2052,6 +2084,16 @@ void scale() {
20522084
.endpoint(null)
20532085
.build())
20542086
.build())
2087+
.readinessHealthCheck(
2088+
ReadinessHealthCheck.builder()
2089+
.type(ReadinessHealthCheckType.PORT)
2090+
.data(
2091+
Data.builder()
2092+
.interval(null)
2093+
.timeout(null)
2094+
.endpoint(null)
2095+
.build())
2096+
.build())
20552097
.metadata(
20562098
Metadata.builder()
20572099
.annotations(Collections.emptyMap())

0 commit comments

Comments
 (0)