Search in sources :

Example 1 with CronJob

use of io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob in project kubernetes-client by fabric8io.

the class CronJobIT method update.

@Test
public void update() {
    currentNamespace = session.getNamespace();
    CronJob cronJob1 = client.batch().cronjobs().inNamespace(currentNamespace).withName("hello-update").edit(c -> new CronJobBuilder(c).editSpec().withSchedule("*/1 * * * *").endSpec().build());
    assertEquals("*/1 * * * *", cronJob1.getSpec().getSchedule());
}
Also used : CronJob(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob) CronJobBuilder(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJobBuilder) Test(org.junit.Test)

Example 2 with CronJob

use of io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob in project kubernetes-client by fabric8io.

the class CronJobCrudTest method testCrud.

@Test
void testCrud() {
    CronJob cronJob1 = new CronJobBuilder().withNewMetadata().withName("cronJob1").withResourceVersion("1").addToLabels("foo", "bar").endMetadata().withNewSpec().withSchedule("1 2-14 * * 0-1,5-6").withNewJobTemplate().withNewSpec().withNewTemplate().withNewSpec().addNewImagePullSecret().withName("gcr-secret").endImagePullSecret().addNewContainer().withName("devopsish-netlify-cronjob").withImage("gcr.io/chrisshort-net/devopsish-netlify-cron:latest").addNewEnv().withName("URL").withNewValueFrom().withNewSecretKeyRef().withName("devops-build-hook").withKey("url").endSecretKeyRef().endValueFrom().endEnv().endContainer().endSpec().endTemplate().endSpec().endJobTemplate().endSpec().build();
    CronJob cronJob2 = new CronJobBuilder().withNewMetadata().withName("cronJob2").withResourceVersion("1").endMetadata().withNewSpec().withSchedule("*/1 * * * *").withNewJobTemplate().withNewSpec().withNewTemplate().withNewSpec().addNewContainer().withName("app").withImage("bitnami/kubecfg:0.5.0").addNewEnv().withName("TOKEN").withNewValueFrom().withNewSecretKeyRef().withName("default-token-rtw2m").withKey("token").endSecretKeyRef().endValueFrom().endEnv().endContainer().endSpec().endTemplate().endSpec().endJobTemplate().endSpec().build();
    client.batch().cronjobs().inNamespace("ns1").create(cronJob1);
    client.batch().cronjobs().inNamespace("ns2").create(cronJob2);
    CronJobList cronJobList = client.batch().cronjobs().list();
    assertNotNull(cronJobList);
    assertEquals(0, cronJobList.getItems().size());
    cronJobList = client.batch().cronjobs().inAnyNamespace().list();
    assertNotNull(cronJobList);
    assertEquals(2, cronJobList.getItems().size());
    cronJobList = client.batch().cronjobs().inNamespace("ns1").list();
    assertNotNull(cronJobList);
    assertEquals(1, cronJobList.getItems().size());
    cronJobList = client.batch().cronjobs().inNamespace("ns2").list();
    assertNotNull(cronJobList);
    assertEquals(1, cronJobList.getItems().size());
    cronJobList = client.batch().cronjobs().inNamespace("ns1").withLabels(Collections.singletonMap("foo", "bar")).list();
    assertNotNull(cronJobList);
    assertEquals(1, cronJobList.getItems().size());
    boolean bDeleted = client.batch().cronjobs().inNamespace("ns1").withName("cronJob1").delete();
    cronJobList = client.batch().cronjobs().inNamespace("ns1").list();
    assertTrue(bDeleted);
    assertEquals(0, cronJobList.getItems().size());
    cronJob2 = client.batch().cronjobs().inNamespace("ns2").withName("cronJob2").edit(c -> new CronJobBuilder(c).editSpec().withSchedule("*/1 * * * *").and().build());
    assertNotNull(cronJob2);
    assertEquals("*/1 * * * *", cronJob2.getSpec().getSchedule());
}
Also used : Test(org.junit.jupiter.api.Test) CronJobBuilder(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJobBuilder) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) EnableKubernetesMockClient(io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) CronJob(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob) KubernetesClient(io.fabric8.kubernetes.client.KubernetesClient) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) Collections(java.util.Collections) CronJobList(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJobList) CronJobList(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJobList) CronJob(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob) CronJobBuilder(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJobBuilder) Test(org.junit.jupiter.api.Test)

Example 3 with CronJob

use of io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob in project kubernetes-client by fabric8io.

the class CronJobTest method testDeleteWithNamespaceMismatch.

@Test
void testDeleteWithNamespaceMismatch() {
    CronJob cronjob1 = new CronJobBuilder().withNewMetadata().withName("cronjob1").withNamespace("test").and().build();
    Boolean deleted = client.batch().cronjobs().inNamespace("test1").delete(cronjob1);
    assertFalse(deleted);
}
Also used : CronJob(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob) CronJobBuilder(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJobBuilder) Test(org.junit.jupiter.api.Test)

Example 4 with CronJob

use of io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob in project kubernetes-client by fabric8io.

the class CronJobTest method testGet.

@Test
void testGet() {
    server.expect().withPath("/apis/batch/v1beta1/namespaces/test/cronjobs/cronjob1").andReturn(200, new CronJobBuilder().build()).once();
    server.expect().withPath("/apis/batch/v1beta1/namespaces/ns1/cronjobs/cronjob2").andReturn(200, new CronJobBuilder().build()).once();
    CronJob cronjob = client.batch().cronjobs().withName("cronjob1").get();
    assertNotNull(cronjob);
    cronjob = client.batch().cronjobs().withName("cronjob2").get();
    assertNull(cronjob);
    cronjob = client.batch().cronjobs().inNamespace("ns1").withName("cronjob2").get();
    assertNotNull(cronjob);
}
Also used : CronJob(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob) CronJobBuilder(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJobBuilder) Test(org.junit.jupiter.api.Test)

Example 5 with CronJob

use of io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob in project kubernetes-client by fabric8io.

the class CronJobTest method testDelete.

@Test
void testDelete() {
    server.expect().withPath("/apis/batch/v1beta1/namespaces/test/cronjobs/cronJob1").andReturn(200, new CronJobBuilder().withNewMetadata().withName("cronJob1").withResourceVersion("1").endMetadata().withNewSpec().withSchedule("1 2-14 * * 0-1,5-6").withNewJobTemplate().withNewSpec().withNewTemplate().withNewSpec().addNewImagePullSecret().withName("gcr-secret").endImagePullSecret().addNewContainer().withName("devopsish-netlify-cronjob").withImage("gcr.io/chrisshort-net/devopsish-netlify-cron:latest").addNewEnv().withName("URL").withNewValueFrom().withNewSecretKeyRef().withName("devops-build-hook").withKey("url").endSecretKeyRef().endValueFrom().endEnv().endContainer().endSpec().endTemplate().endSpec().endJobTemplate().endSpec().build()).once();
    server.expect().withPath("/apis/batch/v1beta1/namespaces/test/cronjobs/cronJob2").andReturn(200, new CronJobBuilder().withNewMetadata().withName("cronJob2").withResourceVersion("1").endMetadata().withNewSpec().withSchedule("*/1 * * * *").withNewJobTemplate().withNewSpec().withNewTemplate().withNewSpec().addNewContainer().withName("app").withImage("bitnami/kubecfg:0.5.0").addNewEnv().withName("TOKEN").withNewValueFrom().withNewSecretKeyRef().withName("default-token-rtw2m").withKey("token").endSecretKeyRef().endValueFrom().endEnv().endContainer().endSpec().endTemplate().endSpec().endJobTemplate().endSpec().build()).once();
    Boolean deleted = client.batch().cronjobs().withName("cronJob1").delete();
    assertNotNull(deleted);
    assertTrue(deleted);
    deleted = client.batch().cronjobs().withName("cronJob2").delete();
    assertTrue(deleted);
}
Also used : CronJobBuilder(io.fabric8.kubernetes.api.model.batch.v1beta1.CronJobBuilder) Test(org.junit.jupiter.api.Test)

Aggregations

CronJob (io.fabric8.kubernetes.api.model.batch.v1beta1.CronJob)14 Test (org.junit.jupiter.api.Test)12 CronJob (io.fabric8.kubernetes.api.model.batch.v1.CronJob)9 CronJobBuilder (io.fabric8.kubernetes.api.model.batch.v1.CronJobBuilder)8 CronJobBuilder (io.fabric8.kubernetes.api.model.batch.v1beta1.CronJobBuilder)8 CronJob (com.marcnuri.yakc.model.io.k8s.api.batch.v1beta1.CronJob)5 Container (io.fabric8.kubernetes.api.model.Container)4 PodTemplateSpec (io.fabric8.kubernetes.api.model.PodTemplateSpec)4 JobTemplateSpec (io.fabric8.kubernetes.api.model.batch.v1beta1.JobTemplateSpec)4 ContainerBuilder (io.fabric8.kubernetes.api.model.ContainerBuilder)3 ObjectMeta (io.fabric8.kubernetes.api.model.ObjectMeta)3 Pod (io.fabric8.kubernetes.api.model.Pod)3 Job (io.fabric8.kubernetes.api.model.batch.v1.Job)3 Random (java.util.Random)3 JobTemplateSpec (com.marcnuri.yakc.model.io.k8s.api.batch.v1beta1.JobTemplateSpec)2 PodBuilder (io.fabric8.kubernetes.api.model.PodBuilder)2 PodTemplate (io.fabric8.kubernetes.api.model.PodTemplate)2 PodTemplateBuilder (io.fabric8.kubernetes.api.model.PodTemplateBuilder)2 ReplicationController (io.fabric8.kubernetes.api.model.ReplicationController)2 ReplicationControllerBuilder (io.fabric8.kubernetes.api.model.ReplicationControllerBuilder)2