Skip to content

Commit cd7bc86

Browse files
committed
feat: remove reference validation
1 parent cf14642 commit cd7bc86

9 files changed

Lines changed: 28 additions & 834 deletions

File tree

stackgres-k8s/src/operator/src/test/java/io/stackgres/operator/mutation/distributedlogs/DefaultPostgresConfigMutatorTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99

1010
import io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogs;
1111
import io.stackgres.common.crd.sgpgconfig.StackGresPostgresConfig;
12-
import io.stackgres.common.labels.DistributedLogsLabelFactory;
13-
import io.stackgres.common.labels.DistributedLogsLabelMapper;
1412
import io.stackgres.operator.common.StackGresDistributedLogsReview;
1513
import io.stackgres.operator.common.fixture.AdmissionReviewFixtures;
1614
import io.stackgres.operator.initialization.DefaultDistributedLogsPostgresConfigFactory;
@@ -30,9 +28,7 @@ protected StackGresDistributedLogsReview getAdmissionReview() {
3028

3129
@Override
3230
protected DefaultPostgresConfigMutator getDefaultConfigMutator() {
33-
var resourceFactory = new DefaultDistributedLogsPostgresConfigFactory(
34-
new DistributedLogsLabelFactory(
35-
new DistributedLogsLabelMapper()));
31+
var resourceFactory = new DefaultDistributedLogsPostgresConfigFactory();
3632
var mutator = new DefaultPostgresConfigMutator(
3733
resourceFactory, finder, scheduler);
3834
return mutator;

stackgres-k8s/src/operator/src/test/java/io/stackgres/operator/validation/backup/ClusterReferenceValidatorTest.java

Lines changed: 2 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -7,146 +7,24 @@
77

88
import static org.junit.jupiter.api.Assertions.assertEquals;
99
import static org.junit.jupiter.api.Assertions.assertThrows;
10-
import static org.mockito.ArgumentMatchers.anyString;
11-
import static org.mockito.ArgumentMatchers.eq;
12-
import static org.mockito.Mockito.never;
13-
import static org.mockito.Mockito.verify;
14-
import static org.mockito.Mockito.when;
15-
16-
import java.util.Arrays;
17-
import java.util.Optional;
18-
19-
import io.stackgres.common.StackGresUtil;
20-
import io.stackgres.common.crd.sgbackup.BackupStatus;
21-
import io.stackgres.common.crd.sgbackup.StackGresBackupInformation;
22-
import io.stackgres.common.crd.sgcluster.StackGresCluster;
23-
import io.stackgres.common.crd.sgcluster.StackGresClusterBackupConfiguration;
24-
import io.stackgres.common.fixture.Fixtures;
25-
import io.stackgres.common.resource.CustomResourceFinder;
10+
2611
import io.stackgres.operator.common.StackGresBackupReview;
2712
import io.stackgres.operator.common.fixture.AdmissionReviewFixtures;
2813
import io.stackgres.operatorframework.admissionwebhook.Operation;
2914
import io.stackgres.operatorframework.admissionwebhook.validating.ValidationFailed;
3015
import org.junit.jupiter.api.BeforeEach;
3116
import org.junit.jupiter.api.Test;
3217
import org.junit.jupiter.api.extension.ExtendWith;
33-
import org.mockito.Mock;
3418
import org.mockito.junit.jupiter.MockitoExtension;
3519

3620
@ExtendWith(MockitoExtension.class)
3721
class ClusterReferenceValidatorTest {
3822

3923
private ClusterValidator validator;
4024

41-
@Mock
42-
private CustomResourceFinder<StackGresCluster> clusterFinder;
43-
44-
private StackGresCluster cluster;
45-
46-
private StackGresClusterBackupConfiguration backup;
47-
4825
@BeforeEach
4926
void setUp() throws Exception {
5027
validator = new ClusterValidator();
51-
cluster = Fixtures.cluster().loadDefault().get();
52-
backup = new StackGresClusterBackupConfiguration();
53-
}
54-
55-
@Test
56-
void givenAClusterWithNoBackupConfigReferenceOnCreation_shouldFail() throws ValidationFailed {
57-
final StackGresBackupReview review = AdmissionReviewFixtures.backup().loadCreate().get();
58-
review.getRequest().getObject().getStatus().setSgBackupConfig(null);
59-
60-
String clusterName =
61-
review.getRequest().getObject().getSpec().getSgCluster();
62-
String namespace = review.getRequest().getObject().getMetadata().getNamespace();
63-
64-
cluster.getSpec().getConfigurations().setBackups(null);
65-
66-
when(clusterFinder.findByNameAndNamespace(clusterName, namespace))
67-
.thenReturn(Optional.of(cluster));
68-
69-
ValidationFailed ex = assertThrows(ValidationFailed.class, () -> {
70-
validator.validate(review);
71-
});
72-
73-
String resultMessage = ex.getMessage();
74-
75-
assertEquals("SGCluster " + clusterName + " has no backup configuration", resultMessage);
76-
}
77-
78-
@Test
79-
void givenValidStackGresReferenceOnCreation_shouldNotFail() throws ValidationFailed {
80-
final StackGresBackupReview review = AdmissionReviewFixtures.backup().loadCreate().get();
81-
review.getRequest().getObject().getStatus().setSgBackupConfig(null);
82-
83-
String clusterName =
84-
review.getRequest().getObject().getSpec().getSgCluster();
85-
String namespace = review.getRequest().getObject().getMetadata().getNamespace();
86-
cluster.getSpec().getConfigurations().setBackups(Arrays.asList(backup));
87-
88-
when(clusterFinder.findByNameAndNamespace(clusterName, namespace))
89-
.thenReturn(Optional.of(cluster));
90-
91-
validator.validate(review);
92-
93-
verify(clusterFinder).findByNameAndNamespace(eq(clusterName), eq(namespace));
94-
}
95-
96-
@Test
97-
void givenComposedStackGresReferenceOnCreationWithRequiredStatus_shouldNotFail()
98-
throws ValidationFailed {
99-
final StackGresBackupReview review = AdmissionReviewFixtures.backup().loadCreate().get();
100-
review.getRequest().getObject().getSpec().setSgCluster(
101-
StackGresUtil.getRelativeId(
102-
cluster.getMetadata().getName(),
103-
cluster.getMetadata().getNamespace(),
104-
review.getRequest().getObject().getMetadata().getNamespace()));
105-
review.getRequest().getObject().getStatus().getProcess()
106-
.setStatus(BackupStatus.COMPLETED.status());
107-
review.getRequest().getObject().getStatus()
108-
.setBackupInformation(new StackGresBackupInformation());
109-
review.getRequest().getObject().getStatus()
110-
.setInternalName("test");
111-
112-
validator.validate(review);
113-
}
114-
115-
@Test
116-
void giveInvalidStackGresReferenceOnCreation_shouldFail() {
117-
final StackGresBackupReview review = AdmissionReviewFixtures.backup().loadCreate().get();
118-
review.getRequest().getObject().getStatus().setSgBackupConfig(null);
119-
120-
String clusterName =
121-
review.getRequest().getObject().getSpec().getSgCluster();
122-
String namespace = review.getRequest().getObject().getMetadata().getNamespace();
123-
124-
when(clusterFinder.findByNameAndNamespace(clusterName, namespace))
125-
.thenReturn(Optional.empty());
126-
127-
ValidationFailed ex = assertThrows(ValidationFailed.class, () -> {
128-
validator.validate(review);
129-
});
130-
131-
String resultMessage = ex.getMessage();
132-
133-
assertEquals("SGCluster " + clusterName + " not found", resultMessage);
134-
135-
verify(clusterFinder).findByNameAndNamespace(anyString(), anyString());
136-
}
137-
138-
@Test
139-
void giveInvalidStackGresReferenceOnCreationWithStatusBackupConfig_shouldNotFail()
140-
throws ValidationFailed {
141-
final StackGresBackupReview review = AdmissionReviewFixtures.backup().loadCreate().get();
142-
143-
String clusterName =
144-
review.getRequest().getObject().getSpec().getSgCluster();
145-
String namespace = review.getRequest().getObject().getMetadata().getNamespace();
146-
147-
validator.validate(review);
148-
149-
verify(clusterFinder, never()).findByNameAndNamespace(eq(clusterName), eq(namespace));
15028
}
15129

15230
@Test
@@ -162,9 +40,7 @@ void giveAnAttemptToUpdateReferencedCluster_shouldFail() {
16240

16341
String resultMessage = ex.getMessage();
16442

165-
assertEquals("Backup sgCluster can not be updated.", resultMessage);
166-
167-
verify(clusterFinder, never()).findByNameAndNamespace(anyString(), anyString());
43+
assertEquals("SGBackup sgCluster can not be updated.", resultMessage);
16844
}
16945

17046
@Test
@@ -176,8 +52,6 @@ void giveAnAttemptToUpdateManagedLifecycle_shouldNotFail() throws ValidationFail
17652
!review.getRequest().getObject().getSpec().getManagedLifecycle());
17753

17854
validator.validate(review);
179-
180-
verify(clusterFinder, never()).findByNameAndNamespace(anyString(), anyString());
18155
}
18256

18357
@Test
@@ -186,8 +60,6 @@ void giveAnAttemptToDelete_shouldNotFail() throws ValidationFailed {
18660
review.getRequest().setOperation(Operation.DELETE);
18761

18862
validator.validate(review);
189-
190-
verify(clusterFinder, never()).findByNameAndNamespace(anyString(), anyString());
19163
}
19264

19365
}

stackgres-k8s/src/operator/src/test/java/io/stackgres/operator/validation/cluster/ClusterValidationQuarkusTest.java

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -190,27 +190,6 @@ void given_validStackGresClusterReview_shouldNotFail() {
190190
.statusCode(200);
191191
}
192192

193-
@Test
194-
void given_withoutValidStorageClass_shouldFail() {
195-
var storage = Fixtures.storageClass().loadDefault().get();
196-
client.storage().v1().storageClasses().withName(storage.getMetadata().getName()).delete();
197-
198-
StackGresClusterReview clusterReview = getConstraintClusterReview();
199-
RestAssured.given()
200-
.body(clusterReview)
201-
.contentType(ContentType.JSON)
202-
.accept(ContentType.JSON)
203-
.post(ValidationUtil.CLUSTER_VALIDATION_PATH)
204-
.then()
205-
.body("response.allowed", is(false),
206-
"kind", is("AdmissionReview"),
207-
"response.status.code", is(400),
208-
"response.status.message", is("StorageClass standard not found"))
209-
.statusCode(200);
210-
211-
client.resource(storage).create();
212-
}
213-
214193
@Test
215194
void given_withoutInstalledExtensions_shouldFail() {
216195
StackGresClusterReview clusterReview = getConstraintClusterReview();

stackgres-k8s/src/operator/src/test/java/io/stackgres/operator/validation/cluster/PatroniInitialConfigValidatorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ void givenAnUpdateWithPatroniInitialConfigChanged_shouldFail() {
8484
.getPatroni().getInitialConfig().put("test", true);
8585

8686
ValidationUtils.assertValidationFailed(() -> validator.validate(review),
87-
"Cannot update cluster's patroni initial configuration");
87+
"Cannot update patroni initial configuration");
8888
}
8989

9090
@Test

0 commit comments

Comments
 (0)