Search in sources :

Example 56 with InternalRecipe

use of org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe in project devspaces-images by redhat-developer.

the class OpenShiftEnvironmentFactoryTest method exceptionOnObjectsWithTheSameNameAndKind.

@Test(expectedExceptions = ValidationException.class, expectedExceptionsMessageRegExp = "Environment can not contain two 'Service' objects with the same name 'db'")
public void exceptionOnObjectsWithTheSameNameAndKind() throws Exception {
    HasMetadata object1 = new ServiceBuilder().withNewMetadata().withName("db").endMetadata().build();
    HasMetadata object2 = new ServiceBuilder().withNewMetadata().withName("db").endMetadata().build();
    when(k8sRecipeParser.parse(any(InternalRecipe.class))).thenReturn(asList(object1, object2));
    osEnvFactory.doCreate(internalRecipe, emptyMap(), emptyList());
}
Also used : HasMetadata(io.fabric8.kubernetes.api.model.HasMetadata) InternalRecipe(org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe) ServiceBuilder(io.fabric8.kubernetes.api.model.ServiceBuilder) Test(org.testng.annotations.Test)

Example 57 with InternalRecipe

use of org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe in project devspaces-images by redhat-developer.

the class OpenShiftEnvironmentFactoryTest method exceptionOnRecipeLoadError.

@Test(expectedExceptions = ValidationException.class)
public void exceptionOnRecipeLoadError() throws Exception {
    when(k8sRecipeParser.parse(any(InternalRecipe.class))).thenThrow(new ValidationException("Could not parse recipe"));
    osEnvFactory.doCreate(internalRecipe, emptyMap(), emptyList());
}
Also used : ValidationException(org.eclipse.che.api.core.ValidationException) InternalRecipe(org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe) Test(org.testng.annotations.Test)

Example 58 with InternalRecipe

use of org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe in project devspaces-images by redhat-developer.

the class OpenShiftEnvironmentFactoryTest method shouldCreateOpenShiftEnvironmentWithServicesFromRecipe.

@Test
public void shouldCreateOpenShiftEnvironmentWithServicesFromRecipe() throws Exception {
    // given
    Service service1 = new ServiceBuilder().withNewMetadata().withName("service1").endMetadata().build();
    Service service2 = new ServiceBuilder().withNewMetadata().withName("service2").endMetadata().build();
    when(k8sRecipeParser.parse(any(InternalRecipe.class))).thenReturn(asList(service1, service2));
    // when
    KubernetesEnvironment osEnv = osEnvFactory.doCreate(internalRecipe, emptyMap(), emptyList());
    // then
    assertEquals(osEnv.getServices().size(), 2);
    assertEquals(osEnv.getServices().get("service1"), service1);
    assertEquals(osEnv.getServices().get("service2"), service2);
}
Also used : InternalRecipe(org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe) KubernetesEnvironment(org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment) Service(io.fabric8.kubernetes.api.model.Service) ServiceBuilder(io.fabric8.kubernetes.api.model.ServiceBuilder) Test(org.testng.annotations.Test)

Example 59 with InternalRecipe

use of org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe in project devspaces-images by redhat-developer.

the class OpenShiftEnvironmentFactoryTest method addSecretsWhenRecipeContainsThem.

@Test
public void addSecretsWhenRecipeContainsThem() throws Exception {
    Secret secret = new SecretBuilder().withNewMetadata().withName("test-secret").endMetadata().build();
    when(k8sRecipeParser.parse(any(InternalRecipe.class))).thenReturn(singletonList(secret));
    final OpenShiftEnvironment parsed = osEnvFactory.doCreate(internalRecipe, emptyMap(), emptyList());
    assertEquals(parsed.getSecrets().size(), 1);
    assertEquals(parsed.getSecrets().get("test-secret").getMetadata().getName(), secret.getMetadata().getName());
}
Also used : Secret(io.fabric8.kubernetes.api.model.Secret) SecretBuilder(io.fabric8.kubernetes.api.model.SecretBuilder) InternalRecipe(org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe) Test(org.testng.annotations.Test)

Example 60 with InternalRecipe

use of org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe in project devspaces-images by redhat-developer.

the class OpenShiftEnvironmentFactoryTest method addDeploymentsWhenRecipeContainsThem.

@Test
public void addDeploymentsWhenRecipeContainsThem() throws Exception {
    // given
    PodTemplateSpec podTemplate = new PodTemplateSpecBuilder().withNewMetadata().withName("deployment-pod").endMetadata().withNewSpec().endSpec().build();
    Deployment deployment = new DeploymentBuilder().withNewMetadata().withName("deployment-test").endMetadata().withNewSpec().withTemplate(podTemplate).endSpec().build();
    when(k8sRecipeParser.parse(any(InternalRecipe.class))).thenReturn(singletonList(deployment));
    // when
    final KubernetesEnvironment osEnv = osEnvFactory.doCreate(internalRecipe, emptyMap(), emptyList());
    // then
    assertEquals(osEnv.getDeploymentsCopy().size(), 1);
    assertEquals(osEnv.getDeploymentsCopy().get("deployment-test"), deployment);
    assertEquals(osEnv.getPodsData().size(), 1);
    assertEquals(osEnv.getPodsData().get("deployment-test").getMetadata(), podTemplate.getMetadata());
    assertEquals(osEnv.getPodsData().get("deployment-test").getSpec(), podTemplate.getSpec());
}
Also used : PodTemplateSpec(io.fabric8.kubernetes.api.model.PodTemplateSpec) InternalRecipe(org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe) PodTemplateSpecBuilder(io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder) KubernetesEnvironment(org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment) Deployment(io.fabric8.kubernetes.api.model.apps.Deployment) DeploymentBuilder(io.fabric8.kubernetes.api.model.apps.DeploymentBuilder) Test(org.testng.annotations.Test)

Aggregations

InternalRecipe (org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe)60 Test (org.testng.annotations.Test)60 HasMetadata (io.fabric8.kubernetes.api.model.HasMetadata)20 PodTemplateSpec (io.fabric8.kubernetes.api.model.PodTemplateSpec)16 PodTemplateSpecBuilder (io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder)16 Deployment (io.fabric8.kubernetes.api.model.apps.Deployment)16 DeploymentBuilder (io.fabric8.kubernetes.api.model.apps.DeploymentBuilder)16 KubernetesEnvironment (org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment)14 Pod (io.fabric8.kubernetes.api.model.Pod)12 PodBuilder (io.fabric8.kubernetes.api.model.PodBuilder)12 ServiceBuilder (io.fabric8.kubernetes.api.model.ServiceBuilder)12 ConfigMap (io.fabric8.kubernetes.api.model.ConfigMap)8 ConfigMapBuilder (io.fabric8.kubernetes.api.model.ConfigMapBuilder)8 ObjectMetaBuilder (io.fabric8.kubernetes.api.model.ObjectMetaBuilder)8 PersistentVolumeClaim (io.fabric8.kubernetes.api.model.PersistentVolumeClaim)8 PersistentVolumeClaimBuilder (io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder)8 PodSpec (io.fabric8.kubernetes.api.model.PodSpec)8 Secret (io.fabric8.kubernetes.api.model.Secret)8 SecretBuilder (io.fabric8.kubernetes.api.model.SecretBuilder)8 Service (io.fabric8.kubernetes.api.model.Service)8