fix: Re-enable KubernetesNamespaceFactoryTest and upgrade kubernetes client to 5.4 (#22)

pull/24/head
Sergii Kabashniuk 2021-06-07 20:16:28 +03:00 committed by GitHub
parent 161264168e
commit d1c3570fca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 35 additions and 42 deletions

View File

@ -23,8 +23,8 @@ import io.fabric8.kubernetes.api.model.apps.DaemonSet;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.apps.ReplicaSet;
import io.fabric8.kubernetes.api.model.apps.StatefulSet;
import io.fabric8.kubernetes.api.model.batch.CronJob;
import io.fabric8.kubernetes.api.model.batch.Job;
import io.fabric8.kubernetes.api.model.batch.v1.CronJob;
import io.fabric8.kubernetes.api.model.batch.v1.Job;
import io.fabric8.openshift.api.model.DeploymentConfig;
import io.fabric8.openshift.api.model.Template;
import java.util.Collection;

View File

@ -113,7 +113,7 @@ public class CertificateProvisioner implements ConfigurationProvisioner<Kubernet
private VolumeMount buildCertVolumeMount() {
return new VolumeMountBuilder()
.withName(CHE_SELF_SIGNED_CERT_VOLUME)
.withNewReadOnly(true)
.withReadOnly(true)
.withMountPath(CERT_MOUNT_PATH)
.build();
}

View File

@ -250,7 +250,6 @@ public class GitConfigProvisioner implements ConfigurationProvisioner<Kubernetes
.withMountPath(GIT_CONFIG_PATH)
.withSubPath(GIT_CONFIG)
.withReadOnly(false)
.withNewReadOnly(false)
.build();
container.getVolumeMounts().add(volumeMount);
});

View File

@ -160,7 +160,7 @@ public class KubernetesTrustedCAProvisioner implements TrustedCAProvisioner {
.add(
new VolumeMountBuilder()
.withName(CHE_TRUST_STORE_VOLUME)
.withNewReadOnly(true)
.withReadOnly(true)
.withMountPath(certificateMountPath)
.build());
}

View File

@ -271,7 +271,6 @@ public class SshKeysProvisioner implements ConfigurationProvisioner<KubernetesEn
VolumeMount volumeMount =
new VolumeMountBuilder()
.withName(secretName)
.withNewReadOnly(true)
.withReadOnly(true)
.withMountPath(SSH_PRIVATE_KEYS_PATH)
.build();
@ -328,7 +327,6 @@ public class SshKeysProvisioner implements ConfigurationProvisioner<KubernetesEn
.withMountPath(SSH_CONFIG_PATH)
.withSubPath(SSH_CONFIG)
.withReadOnly(true)
.withNewReadOnly(true)
.build();
container.getVolumeMounts().add(volumeMount);
});

View File

@ -133,7 +133,7 @@ public class VcsSslCertificateProvisioner
private VolumeMount buildCertVolumeMount() {
return new VolumeMountBuilder()
.withName(CHE_GIT_SELF_SIGNED_VOLUME)
.withNewReadOnly(true)
.withReadOnly(true)
.withMountPath(CERT_MOUNT_PATH)
.build();
}

View File

@ -32,10 +32,10 @@ import io.fabric8.kubernetes.api.model.apps.ReplicaSet;
import io.fabric8.kubernetes.api.model.apps.ReplicaSetBuilder;
import io.fabric8.kubernetes.api.model.apps.StatefulSet;
import io.fabric8.kubernetes.api.model.apps.StatefulSetBuilder;
import io.fabric8.kubernetes.api.model.batch.CronJob;
import io.fabric8.kubernetes.api.model.batch.CronJobBuilder;
import io.fabric8.kubernetes.api.model.batch.Job;
import io.fabric8.kubernetes.api.model.batch.JobBuilder;
import io.fabric8.kubernetes.api.model.batch.v1.CronJob;
import io.fabric8.kubernetes.api.model.batch.v1.CronJobBuilder;
import io.fabric8.kubernetes.api.model.batch.v1.Job;
import io.fabric8.kubernetes.api.model.batch.v1.JobBuilder;
import io.fabric8.openshift.api.model.DeploymentConfig;
import io.fabric8.openshift.api.model.DeploymentConfigBuilder;
import io.fabric8.openshift.api.model.Template;

View File

@ -97,7 +97,7 @@ import org.testng.collections.Sets;
*
* @author Sergii Leshchenko
*/
@Test(enabled = false)
@Test
@Listeners(MockitoTestNGListener.class)
public class KubernetesNamespaceFactoryTest {
@ -156,7 +156,7 @@ public class KubernetesNamespaceFactoryTest {
serverMock.after();
}
@Test(enabled = false)
@Test
public void shouldNotThrowExceptionIfDefaultNamespaceIsSpecifiedOnCheckingIfNamespaceIsAllowed()
throws Exception {
namespaceFactory =
@ -177,7 +177,7 @@ public class KubernetesNamespaceFactoryTest {
namespaceFactory.checkIfNamespaceIsAllowed("jondoe-che");
}
@Test(enabled = false)
@Test
public void shouldLookAtStoredNamespacesOnCheckingIfNamespaceIsAllowed() throws Exception {
Map<String, String> prefs = new HashMap<>();
@ -205,7 +205,6 @@ public class KubernetesNamespaceFactoryTest {
}
@Test(
enabled = false,
expectedExceptions = ValidationException.class,
expectedExceptionsMessageRegExp =
"User defined namespaces are not allowed. Only the default namespace 'jondoe-che' is available.")
@ -231,7 +230,6 @@ public class KubernetesNamespaceFactoryTest {
}
@Test(
enabled = false,
expectedExceptions = ConfigurationException.class,
expectedExceptionsMessageRegExp = "che.infra.kubernetes.namespace.default must be configured")
public void shouldThrowExceptionIfNoDefaultNamespaceIsConfigured() {
@ -251,7 +249,7 @@ public class KubernetesNamespaceFactoryTest {
pool);
}
@Test(enabled = false)
@Test
public void shouldReturnPreparedNamespacesWhenFound() throws InfrastructureException {
// given
List<Namespace> namespaces =
@ -311,7 +309,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(availableNamespaces.get(1).getName(), "ns2");
}
@Test(enabled = false)
@Test
public void shouldNotThrowAnExceptionWhenNotAllowedToListNamespaces() throws Exception {
// given
Namespace ns =
@ -351,7 +349,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(availableNamespaces.get(0).getName(), "ns1");
}
@Test(enabled = false, expectedExceptions = InfrastructureException.class)
@Test(expectedExceptions = InfrastructureException.class)
public void throwAnExceptionWhenErrorListingNamespaces() throws Exception {
// given
doThrow(new KubernetesClientException("Not allowed.", 500, new Status()))
@ -379,7 +377,7 @@ public class KubernetesNamespaceFactoryTest {
// then throw
}
@Test(enabled = false)
@Test
public void shouldReturnDefaultNamespaceWhenItExists() throws Exception {
prepareNamespaceToBeFoundByName(
"jondoe-che",
@ -414,7 +412,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(defaultNamespace.getAttributes().get(PHASE_ATTRIBUTE), "Active");
}
@Test(enabled = false)
@Test
public void shouldReturnDefaultNamespaceWhenItDoesNotExistAndUserDefinedIsNotAllowed()
throws Exception {
prepareNamespaceToBeFoundByName("jondoe-che", null);
@ -446,7 +444,6 @@ public class KubernetesNamespaceFactoryTest {
}
@Test(
enabled = false,
expectedExceptions = InfrastructureException.class,
expectedExceptionsMessageRegExp =
"Error occurred when tried to fetch default namespace. Cause: connection refused")
@ -472,7 +469,6 @@ public class KubernetesNamespaceFactoryTest {
}
@Test(
enabled = false,
expectedExceptions = InfrastructureException.class,
expectedExceptionsMessageRegExp =
"Error occurred when tried to list all available namespaces. Cause: connection refused")
@ -496,7 +492,7 @@ public class KubernetesNamespaceFactoryTest {
namespaceFactory.list();
}
@Test(enabled = false)
@Test
public void shouldRequireNamespacePriorExistenceIfDifferentFromDefaultAndUserDefinedIsNotAllowed()
throws Exception {
// There is only one scenario where this can happen. The workspace was created and started in
@ -534,7 +530,7 @@ public class KubernetesNamespaceFactoryTest {
verify(toReturnNamespace).prepare(eq(false), any());
}
@Test(enabled = false)
@Test
public void shouldReturnDefaultNamespaceWhenCreatingIsNotIsNotAllowed() throws Exception {
// given
namespaceFactory =
@ -566,7 +562,7 @@ public class KubernetesNamespaceFactoryTest {
verify(toReturnNamespace).prepare(eq(false), any());
}
@Test(enabled = false)
@Test
public void shouldPrepareWorkspaceServiceAccountIfItIsConfiguredAndNamespaceIsNotPredefined()
throws Exception {
// given
@ -604,7 +600,7 @@ public class KubernetesNamespaceFactoryTest {
verify(serviceAccount).prepare();
}
@Test(enabled = false)
@Test
public void shouldBindToAllConfiguredClusterRoles() throws Exception {
// given
namespaceFactory =
@ -674,7 +670,7 @@ public class KubernetesNamespaceFactoryTest {
"serviceAccount-exec"));
}
@Test(enabled = false)
@Test
public void shouldCreateExecAndViewRolesAndBindings() throws Exception {
// given
namespaceFactory =
@ -732,7 +728,7 @@ public class KubernetesNamespaceFactoryTest {
.collect(Collectors.toSet()));
}
@Test(enabled = false)
@Test
public void testNullClusterRolesResultsInEmptySet() {
namespaceFactory =
new KubernetesNamespaceFactory(
@ -751,7 +747,7 @@ public class KubernetesNamespaceFactoryTest {
assertTrue(namespaceFactory.getClusterRoleNames().isEmpty());
}
@Test(enabled = false)
@Test
public void testClusterRolesProperlyParsed() {
namespaceFactory =
new KubernetesNamespaceFactory(
@ -772,7 +768,7 @@ public class KubernetesNamespaceFactoryTest {
assertTrue(expected.containsAll(namespaceFactory.getClusterRoleNames()));
}
@Test(enabled = false)
@Test
public void
testEvalNamespaceUsesNamespaceDefaultIfWorkspaceDoesntRecordNamespaceAndLegacyNamespaceDoesntExist()
throws Exception {
@ -801,7 +797,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(namespace, "che-123");
}
@Test(enabled = false)
@Test
public void testEvalNamespaceUsesNamespaceFromUserPreferencesIfExist() throws Exception {
namespaceFactory =
new KubernetesNamespaceFactory(
@ -830,7 +826,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(namespace, "che-123");
}
@Test(enabled = false)
@Test
public void testEvalNamespaceSkipsNamespaceFromUserPreferencesIfTemplateChanged()
throws Exception {
namespaceFactory =
@ -861,7 +857,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(namespace, "che-user123-jondoe");
}
@Test(enabled = false)
@Test
public void testEvalNamespaceSkipsNamespaceFromUserPreferencesIfUserAllowedPropertySetFalse()
throws Exception {
namespaceFactory =
@ -892,7 +888,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(namespace, "che-user123-jondoe");
}
@Test(enabled = false)
@Test
public void testEvalNamespaceUsesWorkspaceRecordedNamespaceIfWorkspaceRecordsIt()
throws Exception {
namespaceFactory =
@ -922,7 +918,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(namespace, "wkspcnmspc");
}
@Test(enabled = false)
@Test
public void testEvalNamespaceTreatsWorkspaceRecordedNamespaceLiterally() throws Exception {
namespaceFactory =
new KubernetesNamespaceFactory(
@ -950,7 +946,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(namespace, "ns34345");
}
@Test(enabled = false)
@Test
public void testEvalNamespaceNameWhenPreparedNamespacesFound() throws InfrastructureException {
List<Namespace> namespaces =
Arrays.asList(
@ -996,7 +992,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(namespace, "ns1");
}
@Test(enabled = false)
@Test
public void testUsernamePlaceholderInLabelsIsNotEvaluated() throws InfrastructureException {
List<Namespace> namespaces =
singletonList(
@ -1031,7 +1027,7 @@ public class KubernetesNamespaceFactoryTest {
verify(namespaceOperation).withLabels(Map.of("try_placeholder_here", "<username>"));
}
@Test(enabled = false, dataProvider = "invalidUsernames")
@Test(dataProvider = "invalidUsernames")
public void normalizeTest(String raw, String expected) {
namespaceFactory =
new KubernetesNamespaceFactory(
@ -1050,7 +1046,7 @@ public class KubernetesNamespaceFactoryTest {
assertEquals(expected, namespaceFactory.normalizeNamespaceName(raw));
}
@Test(enabled = false)
@Test
public void normalizeLengthTest() {
namespaceFactory =
new KubernetesNamespaceFactory(

View File

@ -72,7 +72,7 @@
<commons-lang.version>2.6</commons-lang.version>
<integration.mysql.db.image>quay.io/eclipse/che--centos--mysql-57-centos7:latest-e08ee4d43b7356607685b69bde6335e27cf20c020f345b6c6c59400183882764</integration.mysql.db.image>
<integration.postgresql.db.image>quay.io/eclipse/che--centos--postgresql-96-centos7:9.6-b681d78125361519180a6ac05242c296f8906c11eab7e207b5ca9a89b6344392</integration.postgresql.db.image>
<io.fabric8.kubernetes-client>5.3.1</io.fabric8.kubernetes-client>
<io.fabric8.kubernetes-client>5.4.1</io.fabric8.kubernetes-client>
<io.github.mweirauch.micrometer-jvm-extras.version>0.1.3</io.github.mweirauch.micrometer-jvm-extras.version>
<io.jaegertracing.micrometer.version>1.0.0</io.jaegertracing.micrometer.version>
<io.jaegertracing.version>1.0.0</io.jaegertracing.version>