@@ -13,7 +13,7 @@ import (
1313)
1414
1515func TestAccKubernetesCronJob_basic (t * testing.T ) {
16- var conf v1beta1.CronJob
16+ var conf1 , conf2 v1beta1.CronJob
1717 name := fmt .Sprintf ("tf-acc-test-%s" , acctest .RandStringFromCharSet (10 , acctest .CharSetAlphaNum ))
1818 imageName := alpineImageVersion
1919
@@ -26,7 +26,7 @@ func TestAccKubernetesCronJob_basic(t *testing.T) {
2626 {
2727 Config : testAccKubernetesCronJobConfig_basic (name , imageName ),
2828 Check : resource .ComposeAggregateTestCheckFunc (
29- testAccCheckKubernetesCronJobExists ("kubernetes_cron_job.test" , & conf ),
29+ testAccCheckKubernetesCronJobExists ("kubernetes_cron_job.test" , & conf1 ),
3030 resource .TestCheckResourceAttr ("kubernetes_cron_job.test" , "metadata.0.name" , name ),
3131 resource .TestCheckResourceAttrSet ("kubernetes_cron_job.test" , "metadata.0.generation" ),
3232 resource .TestCheckResourceAttrSet ("kubernetes_cron_job.test" , "metadata.0.resource_version" ),
@@ -46,9 +46,9 @@ func TestAccKubernetesCronJob_basic(t *testing.T) {
4646 ),
4747 },
4848 {
49- Config : testAccKubernetesCronJobConfig_modified (name , imageName ),
49+ Config : testAccKubernetesCronJobConfig_modified (name , "test" ),
5050 Check : resource .ComposeAggregateTestCheckFunc (
51- testAccCheckKubernetesCronJobExists ("kubernetes_cron_job.test" , & conf ),
51+ testAccCheckKubernetesCronJobExists ("kubernetes_cron_job.test" , & conf2 ),
5252 resource .TestCheckResourceAttr ("kubernetes_cron_job.test" , "metadata.0.name" , name ),
5353 resource .TestCheckResourceAttrSet ("kubernetes_cron_job.test" , "metadata.0.generation" ),
5454 resource .TestCheckResourceAttrSet ("kubernetes_cron_job.test" , "metadata.0.resource_version" ),
@@ -65,6 +65,7 @@ func TestAccKubernetesCronJob_basic(t *testing.T) {
6565 resource .TestCheckResourceAttr ("kubernetes_cron_job.test" , "spec.0.job_template.0.spec.0.template.0.spec.0.container.0.name" , "hello" ),
6666 resource .TestCheckResourceAttr ("kubernetes_cron_job.test" , "spec.0.job_template.0.spec.0.template.0.metadata.#" , "1" ),
6767 resource .TestCheckResourceAttr ("kubernetes_cron_job.test" , "spec.0.job_template.0.spec.0.template.0.metadata.0.labels.%" , "1" ),
68+ testAccCheckKubernetesCronJobForceNew (& conf1 , & conf2 , false ),
6869 ),
6970 },
7071 },
@@ -293,3 +294,18 @@ func testAccKubernetesCronJobConfig_extraModified(name, imageName string) string
293294 }
294295}` , name , imageName )
295296}
297+
298+ func testAccCheckKubernetesCronJobForceNew (old , new * v1beta1.CronJob , wantNew bool ) resource.TestCheckFunc {
299+ return func (s * terraform.State ) error {
300+ if wantNew {
301+ if old .ObjectMeta .UID != new .ObjectMeta .UID {
302+ return fmt .Errorf ("Expecting forced replacement" )
303+ }
304+ } else {
305+ if old .ObjectMeta .UID != new .ObjectMeta .UID {
306+ return fmt .Errorf ("Unexpected forced replacement" )
307+ }
308+ }
309+ return nil
310+ }
311+ }
0 commit comments