Skip to content

Commit a741e4b

Browse files
authored
ci: initial fixes to run OpenShift specific pipelines
1 parent fb0683e commit a741e4b

21 files changed

+114
-74
lines changed

.github/workflows/e2e-httpclient-tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
strategy:
6767
fail-fast: false
6868
matrix:
69-
openshift: [v3.11.0, v3.10.0]
69+
openshift: [v3.10.0]
7070
httpclient: [jdk,jetty,vertx]
7171
steps:
7272
- name: Checkout

.github/workflows/e2e-tests.yml

+1-21
Original file line numberDiff line numberDiff line change
@@ -132,28 +132,8 @@ jobs:
132132
strategy:
133133
fail-fast: false
134134
matrix:
135-
openshift: [v3.11.0, v3.10.0]
135+
openshift: [v3.10.0]
136136
steps:
137-
- name: Free up Space
138-
run: |
139-
sudo apt list --installed
140-
sudo apt-get purge -y \
141-
'aspnetcore.*' \
142-
'cabal-install.*' \
143-
'clang.*' \
144-
'dotnet.*' \
145-
'firefox.*' \
146-
'ghc.*' \
147-
'google-chrome.*' \
148-
'heroku.*' \
149-
'libmagic.*' \
150-
'libmono.*' \
151-
'mono-.*' \
152-
'mysql.*' \
153-
'php.*' \
154-
'ruby.*'
155-
sudo apt-get autoremove
156-
df -h
157137
- name: Checkout
158138
uses: actions/checkout@v4
159139
- name: Setup OpenShift

kubernetes-itests/src/test/java/io/fabric8/openshift/AdaptIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package io.fabric8.openshift;
1717

18+
import io.fabric8.junit.jupiter.api.KubernetesTest;
1819
import io.fabric8.junit.jupiter.api.RequireK8sSupport;
1920
import io.fabric8.kubernetes.client.KubernetesClient;
2021
import io.fabric8.openshift.api.model.Project;
@@ -24,6 +25,7 @@
2425
import static org.junit.jupiter.api.Assertions.assertNotNull;
2526
import static org.junit.jupiter.api.Assertions.assertTrue;
2627

28+
@KubernetesTest(createEphemeralNamespace = false)
2729
@RequireK8sSupport(Project.class)
2830
class AdaptIT {
2931

kubernetes-itests/src/test/java/io/fabric8/openshift/BuildConfigIT.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@
1515
*/
1616
package io.fabric8.openshift;
1717

18+
import io.fabric8.junit.jupiter.api.KubernetesTest;
1819
import io.fabric8.junit.jupiter.api.LoadKubernetesManifests;
1920
import io.fabric8.junit.jupiter.api.RequireK8sSupport;
2021
import io.fabric8.openshift.api.model.BuildConfig;
2122
import io.fabric8.openshift.api.model.BuildConfigBuilder;
2223
import io.fabric8.openshift.api.model.BuildConfigList;
2324
import io.fabric8.openshift.api.model.BuildSourceBuilder;
2425
import io.fabric8.openshift.client.OpenShiftClient;
26+
import org.assertj.core.api.InstanceOfAssertFactories;
2527
import org.junit.jupiter.api.Test;
2628

2729
import java.util.Objects;
@@ -32,6 +34,7 @@
3234
import static org.junit.jupiter.api.Assertions.assertNotNull;
3335
import static org.junit.jupiter.api.Assertions.assertTrue;
3436

37+
@KubernetesTest(createEphemeralNamespace = false)
3538
@RequireK8sSupport(BuildConfig.class)
3639
@LoadKubernetesManifests("/buildconfig-it.yml")
3740
class BuildConfigIT {
@@ -54,8 +57,11 @@ void get() {
5457
@Test
5558
void list() {
5659
BuildConfigList bcList = client.buildConfigs().list();
57-
assertThat(bcList).isNotNull();
58-
assertTrue(bcList.getItems().size() >= 1);
60+
assertThat(bcList)
61+
.isNotNull()
62+
.extracting(BuildConfigList::getItems)
63+
.asInstanceOf(InstanceOfAssertFactories.list(BuildConfig.class))
64+
.hasSizeGreaterThanOrEqualTo(1);
5965
}
6066

6167
@Test

kubernetes-itests/src/test/java/io/fabric8/openshift/BuildConfigWatchIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package io.fabric8.openshift;
1717

18+
import io.fabric8.junit.jupiter.api.KubernetesTest;
1819
import io.fabric8.junit.jupiter.api.LoadKubernetesManifests;
1920
import io.fabric8.junit.jupiter.api.RequireK8sSupport;
2021
import io.fabric8.kubernetes.client.Watch;
@@ -37,6 +38,7 @@
3738
import static org.junit.jupiter.api.Assertions.assertNotNull;
3839
import static org.junit.jupiter.api.Assertions.assertTrue;
3940

41+
@KubernetesTest(createEphemeralNamespace = false)
4042
@RequireK8sSupport(BuildConfig.class)
4143
@LoadKubernetesManifests("/build-config-watch.yml")
4244
class BuildConfigWatchIT {

kubernetes-itests/src/test/java/io/fabric8/openshift/DeploymentConfigIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package io.fabric8.openshift;
1717

18+
import io.fabric8.junit.jupiter.api.KubernetesTest;
1819
import io.fabric8.junit.jupiter.api.LoadKubernetesManifests;
1920
import io.fabric8.junit.jupiter.api.RequireK8sSupport;
2021
import io.fabric8.openshift.api.model.DeploymentConfig;
@@ -30,6 +31,7 @@
3031
import static org.junit.jupiter.api.Assertions.assertNotNull;
3132
import static org.junit.jupiter.api.Assertions.assertTrue;
3233

34+
@KubernetesTest(createEphemeralNamespace = false)
3335
@RequireK8sSupport(DeploymentConfig.class)
3436
@LoadKubernetesManifests("/deploymentconfig-it.yml")
3537
class DeploymentConfigIT {

kubernetes-itests/src/test/java/io/fabric8/openshift/ImageStreamIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package io.fabric8.openshift;
1717

18+
import io.fabric8.junit.jupiter.api.KubernetesTest;
1819
import io.fabric8.junit.jupiter.api.LoadKubernetesManifests;
1920
import io.fabric8.junit.jupiter.api.RequireK8sSupport;
2021
import io.fabric8.openshift.api.model.ImageStream;
@@ -31,6 +32,7 @@
3132
import static org.junit.jupiter.api.Assertions.assertNotNull;
3233
import static org.junit.jupiter.api.Assertions.assertTrue;
3334

35+
@KubernetesTest(createEphemeralNamespace = false)
3436
@RequireK8sSupport(ImageStream.class)
3537
@LoadKubernetesManifests("/imagestream-it.yml")
3638
class ImageStreamIT {

kubernetes-itests/src/test/java/io/fabric8/openshift/ImageStreamTagIT.java

+19-17
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package io.fabric8.openshift;
1717

18+
import io.fabric8.junit.jupiter.api.KubernetesTest;
1819
import io.fabric8.junit.jupiter.api.LoadKubernetesManifests;
1920
import io.fabric8.junit.jupiter.api.RequireK8sSupport;
2021
import io.fabric8.openshift.api.model.ImageStreamTag;
@@ -30,6 +31,7 @@
3031
import static org.junit.jupiter.api.Assertions.assertNotNull;
3132
import static org.junit.jupiter.api.Assertions.assertTrue;
3233

34+
@KubernetesTest(createEphemeralNamespace = false)
3335
@RequireK8sSupport(ImageStreamTag.class)
3436
@LoadKubernetesManifests("/imagestreamtag-it.yml")
3537
class ImageStreamTagIT {
@@ -49,63 +51,63 @@ void load() {
4951

5052
@Test
5153
void get() {
52-
client.imageStreams().withName("get").waitUntilCondition(is -> is != null && is.getStatus() != null &&
54+
client.imageStreams().withName("is-tag-get").waitUntilCondition(is -> is != null && is.getStatus() != null &&
5355
is.getStatus().getTags().stream().anyMatch(nt -> nt.getTag().equals("1.0.12")),
5456
30, TimeUnit.SECONDS);
55-
ImageStreamTag getIST = client.imageStreamTags().withName("get:1.0.12").get();
57+
ImageStreamTag getIST = client.imageStreamTags().withName("is-tag-get:1.0.12").get();
5658

5759
assertNotNull(getIST);
58-
assertEquals("get:1.0.12", getIST.getMetadata().getName());
60+
assertEquals("is-tag-get:1.0.12", getIST.getMetadata().getName());
5961
assertEquals("DockerImage", getIST.getTag().getFrom().getKind());
60-
assertEquals("busybox:latest", getIST.getTag().getFrom().getName());
62+
assertEquals("quay.io/quay/busybox:latest", getIST.getTag().getFrom().getName());
6163
}
6264

6365
@Test
6466
void list() {
65-
client.imageStreams().withName("list").waitUntilCondition(is -> is != null && is.getStatus() != null &&
67+
client.imageStreams().withName("is-tag-list").waitUntilCondition(is -> is != null && is.getStatus() != null &&
6668
is.getStatus().getTags().stream().anyMatch(nt -> nt.getTag().equals("1.0.12")),
6769
30, TimeUnit.SECONDS);
6870
ImageStreamTagList istagList = client.imageStreamTags().list();
6971

7072
assertNotNull(istagList);
7173
assertTrue(istagList.getItems().size() >= 1);
7274
Optional<ImageStreamTag> imageStreamTag = istagList.getItems().stream()
73-
.filter(i -> i.getMetadata().getName().equalsIgnoreCase("list:1.0.12")).findFirst();
75+
.filter(i -> i.getMetadata().getName().equalsIgnoreCase("is-tag-list:1.0.12")).findFirst();
7476
assertTrue(imageStreamTag.isPresent());
75-
assertEquals("list:1.0.12", imageStreamTag.get().getMetadata().getName());
77+
assertEquals("is-tag-list:1.0.12", imageStreamTag.get().getMetadata().getName());
7678
assertEquals("DockerImage", imageStreamTag.get().getTag().getFrom().getKind());
77-
assertEquals("busybox:latest", imageStreamTag.get().getTag().getFrom().getName());
79+
assertEquals("quay.io/quay/busybox:latest", imageStreamTag.get().getTag().getFrom().getName());
7880
}
7981

8082
@Test
8183
void update() {
82-
client.imageStreams().withName("update").waitUntilCondition(is -> is != null && is.getStatus() != null &&
84+
client.imageStreams().withName("is-tag-update").waitUntilCondition(is -> is != null && is.getStatus() != null &&
8385
is.getStatus().getTags().stream().anyMatch(nt -> nt.getTag().equals("1.0.12")),
8486
30, TimeUnit.SECONDS);
85-
ImageStreamTag istag2 = new ImageStreamTagBuilder().withNewMetadata().withName("update:1.0.12").endMetadata()
87+
ImageStreamTag istag2 = new ImageStreamTagBuilder().withNewMetadata().withName("is-tag-update:1.0.12").endMetadata()
8688
.withNewTag()
8789
.withNewFrom()
8890
.withKind("DockerImage")
89-
.withName("busybox:latest")
91+
.withName("quay.io/quay/busybox:latest")
9092
.endFrom()
9193
.endTag()
9294
.build();
93-
ImageStreamTag istag = client.imageStreamTags().withName("update:1.0.12").patch(istag2);
95+
ImageStreamTag istag = client.imageStreamTags().withName("is-tag-update:1.0.12").patch(istag2);
9496

9597
assertNotNull(istag);
96-
assertEquals("update:1.0.12", istag.getMetadata().getName());
98+
assertEquals("is-tag-update:1.0.12", istag.getMetadata().getName());
9799
assertEquals("DockerImage", istag.getTag().getFrom().getKind());
98-
assertEquals("busybox:latest", istag.getTag().getFrom().getName());
100+
assertEquals("quay.io/quay/busybox:latest", istag.getTag().getFrom().getName());
99101
}
100102

101103
@Test
102104
void delete() {
103-
client.imageStreams().withName("delete").waitUntilCondition(is -> is != null && is.getStatus() != null &&
105+
client.imageStreams().withName("is-tag-delete").waitUntilCondition(is -> is != null && is.getStatus() != null &&
104106
is.getStatus().getTags().stream().anyMatch(nt -> nt.getTag().equals("1.0.12")),
105107
30, TimeUnit.SECONDS);
106-
boolean deleted = client.imageStreamTags().withName("delete:1.0.12").delete().size() == 1;
108+
boolean deleted = client.imageStreamTags().withName("is-tag-delete:1.0.12").delete().size() == 1;
107109
assertTrue(deleted);
108-
client.imageStreamTags().withName("delete:1.0.12")
110+
client.imageStreamTags().withName("is-tag-delete:1.0.12")
109111
.waitUntilCondition(r -> r == null || r.getMetadata().getDeletionTimestamp() != null, 30, TimeUnit.SECONDS);
110112
}
111113

kubernetes-itests/src/test/java/io/fabric8/openshift/K8sAuthorizationOnOpenShiftIT.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
*/
1616
package io.fabric8.openshift;
1717

18+
import io.fabric8.junit.jupiter.api.KubernetesTest;
1819
import io.fabric8.junit.jupiter.api.RequireK8sSupport;
19-
import io.fabric8.kubernetes.api.model.Namespace;
2020
import io.fabric8.kubernetes.api.model.authorization.v1.LocalSubjectAccessReview;
2121
import io.fabric8.kubernetes.api.model.authorization.v1.LocalSubjectAccessReviewBuilder;
2222
import io.fabric8.kubernetes.api.model.authorization.v1.SubjectAccessReview;
@@ -38,13 +38,12 @@
3838
import static org.junit.jupiter.api.Assertions.assertNotNull;
3939
import static org.junit.jupiter.api.Assertions.assertTrue;
4040

41+
@KubernetesTest(createEphemeralNamespace = false)
4142
@RequireK8sSupport(Project.class)
4243
class K8sAuthorizationOnOpenShiftIT {
4344

4445
OpenShiftClient client;
4546

46-
Namespace namespace;
47-
4847
@Test
4948
void createRoleK8s() {
5049
// Given
@@ -151,7 +150,7 @@ void createClusterRoleK8s() {
151150
void createLocalSubjectAccessReview() {
152151
// Given
153152
User currentUser = client.currentUser();
154-
String ns = namespace.getMetadata().getName();
153+
String ns = client.getConfiguration().getNamespace();
155154
LocalSubjectAccessReview lsar = new LocalSubjectAccessReviewBuilder()
156155
.withNewMetadata().withNamespace(ns).endMetadata()
157156
.withNewSpec()
@@ -177,10 +176,11 @@ void createLocalSubjectAccessReview() {
177176
void createSubjectAccessReview() {
178177
// Given
179178
String user = client.currentUser().getMetadata().getName();
179+
String ns = client.getConfiguration().getNamespace();
180180
SubjectAccessReview sar = new SubjectAccessReviewBuilder()
181181
.withNewSpec()
182182
.withNewResourceAttributes()
183-
.withNamespace(namespace.getMetadata().getName())
183+
.withNamespace(ns)
184184
.withVerb("get")
185185
.withResource("pods")
186186
.endResourceAttributes()

kubernetes-itests/src/test/java/io/fabric8/openshift/OpenShiftAuthorizationIT.java

+11-8
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
*/
1616
package io.fabric8.openshift;
1717

18+
import io.fabric8.junit.jupiter.api.KubernetesTest;
1819
import io.fabric8.junit.jupiter.api.RequireK8sSupport;
19-
import io.fabric8.kubernetes.api.model.Namespace;
2020
import io.fabric8.openshift.api.model.LocalResourceAccessReview;
2121
import io.fabric8.openshift.api.model.LocalResourceAccessReviewBuilder;
2222
import io.fabric8.openshift.api.model.LocalSubjectAccessReview;
@@ -40,13 +40,12 @@
4040
import static org.junit.jupiter.api.Assertions.assertNotNull;
4141
import static org.junit.jupiter.api.Assertions.assertTrue;
4242

43+
@KubernetesTest(createEphemeralNamespace = false)
4344
@RequireK8sSupport(RoleBindingRestriction.class)
4445
class OpenShiftAuthorizationIT {
4546

4647
OpenShiftClient client;
4748

48-
Namespace namespace;
49-
5049
@Test
5150
void createSubjectAccessReviewOpenShift() {
5251
// Given
@@ -67,14 +66,15 @@ void createSubjectAccessReviewOpenShift() {
6766
void createSubjectRulesReviewOpenShift() {
6867
// Given
6968
String user = client.currentUser().getMetadata().getName();
69+
String namespace = client.getConfiguration().getNamespace();
7070
SubjectRulesReview srr = new SubjectRulesReviewBuilder()
7171
.withNewSpec()
7272
.withUser(user)
7373
.endSpec()
7474
.build();
7575

7676
// When
77-
SubjectRulesReview createdSrr = client.subjectRulesReviews().inNamespace(namespace.getMetadata().getName()).create(srr);
77+
SubjectRulesReview createdSrr = client.subjectRulesReviews().inNamespace(namespace).create(srr);
7878

7979
// Then
8080
assertNotNull(createdSrr);
@@ -85,10 +85,11 @@ void createSubjectRulesReviewOpenShift() {
8585
@Test
8686
void createSelfSubjectRulesReview() {
8787
// Given
88+
String namespace = client.getConfiguration().getNamespace();
8889
SelfSubjectRulesReview ssrr = new SelfSubjectRulesReviewBuilder().build();
8990

9091
// When
91-
SelfSubjectRulesReview createdSsrr = client.selfSubjectRulesReviews().inNamespace(namespace.getMetadata().getName())
92+
SelfSubjectRulesReview createdSsrr = client.selfSubjectRulesReviews().inNamespace(namespace)
9293
.create(ssrr);
9394

9495
// Then
@@ -100,13 +101,14 @@ void createSelfSubjectRulesReview() {
100101
@Test
101102
void createLocalResourceAccessReview() {
102103
// Given
104+
String namespace = client.getConfiguration().getNamespace();
103105
LocalResourceAccessReview lrar = new LocalResourceAccessReviewBuilder()
104106
.withVerb("create")
105107
.withResource("configmaps")
106108
.build();
107109

108110
// When
109-
ResourceAccessReviewResponse rarr = client.localResourceAccessReviews().inNamespace(namespace.getMetadata().getName())
111+
ResourceAccessReviewResponse rarr = client.localResourceAccessReviews().inNamespace(namespace)
110112
.create(lrar);
111113

112114
// Then
@@ -118,14 +120,15 @@ void createLocalResourceAccessReview() {
118120
@Test
119121
void createLocalSubjectAccessReview() {
120122
// Given
123+
String namespace = client.getConfiguration().getNamespace();
121124
LocalSubjectAccessReview localSubjectAccessReview = new LocalSubjectAccessReviewBuilder()
122-
.withNamespace(namespace.getMetadata().getName())
125+
.withNamespace(namespace)
123126
.withVerb("get")
124127
.withResource("pods")
125128
.build();
126129

127130
// When
128-
SubjectAccessReviewResponse response = client.localSubjectAccessReviews().inNamespace(namespace.getMetadata().getName())
131+
SubjectAccessReviewResponse response = client.localSubjectAccessReviews().inNamespace(namespace)
129132
.create(localSubjectAccessReview);
130133

131134
// Then

kubernetes-itests/src/test/java/io/fabric8/openshift/ProjectIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package io.fabric8.openshift;
1717

18+
import io.fabric8.junit.jupiter.api.KubernetesTest;
1819
import io.fabric8.junit.jupiter.api.RequireK8sSupport;
1920
import io.fabric8.kubernetes.api.model.HasMetadata;
2021
import io.fabric8.openshift.api.model.Project;
@@ -28,6 +29,7 @@
2829
import static org.junit.jupiter.api.Assertions.assertNotNull;
2930
import static org.junit.jupiter.api.Assertions.assertTrue;
3031

32+
@KubernetesTest(createEphemeralNamespace = false)
3133
@RequireK8sSupport(Project.class)
3234
class ProjectIT {
3335

0 commit comments

Comments
 (0)