add assertions to logical backup test
This commit is contained in:
		
							parent
							
								
									3e42713d9b
								
							
						
					
					
						commit
						45896d503f
					
				|  | @ -157,19 +157,31 @@ class SmokeTestCase(unittest.TestCase): | |||
|         k8s = K8sApi() | ||||
| 
 | ||||
|         # create the cron job | ||||
|         schedule = "7 7 7 7 *" | ||||
|         pg_patch_enable_backup = { | ||||
|             "spec": { | ||||
|                "enableLogicalBackup" : True, | ||||
|                "logicalBackupSchedule" :  "7 7 7 7 *" | ||||
|                "logicalBackupSchedule" : schedule | ||||
|             } | ||||
|         } | ||||
|         k8s.custom_objects_api.patch_namespaced_custom_object("acid.zalan.do", "v1", "default", "postgresqls", "acid-minimal-cluster", pg_patch_enable_backup) | ||||
|         Utils.wait_for_logical_backup_job_creation(k8s, self.RETRY_TIMEOUT_SEC) | ||||
|          | ||||
|         jobs = Utils.get_logical_backup_job(k8s).items | ||||
|         self.assertTrue(1 == len(jobs), | ||||
|                        "Expected 1 logical backup job, found {}".format(len(jobs))) | ||||
| 
 | ||||
|         job = jobs[0] | ||||
|         self.assertTrue(job.metadata.name == "logical-backup-acid-minimal-cluster", | ||||
|         "Expected job name {}, found {}".format("logical-backup-acid-minimal-cluster", job.metadata.name)) | ||||
|         self.assertTrue(job.spec.schedule == schedule, | ||||
|         "Expected {} schedule, found {}".format(schedule, job.spec.schedule)) | ||||
| 
 | ||||
|         # update the cluster-wide image of the logical backup pod | ||||
|         image = "test-image-name" | ||||
|         config_map_patch = { | ||||
|             "data": { | ||||
|                "logical_backup_docker_image" : "test-image-name", | ||||
|                "logical_backup_docker_image" : image, | ||||
|             } | ||||
|         } | ||||
|         k8s.core_v1.patch_namespaced_config_map("postgres-operator", "default", config_map_patch) | ||||
|  | @ -180,6 +192,11 @@ class SmokeTestCase(unittest.TestCase): | |||
|         #HACK avoid dropping a delete event when the operator pod has the label but is still starting  | ||||
|         time.sleep(10) | ||||
| 
 | ||||
|         jobs = Utils.get_logical_backup_job(k8s).items | ||||
|         actual_image = jobs[0].spec.job_template.spec.template.spec.containers[0].image | ||||
|         self.assertTrue(actual_image == image, | ||||
|         "Expected job image {}, found {}".format(image, actual_image)) | ||||
| 
 | ||||
|         # delete the logical backup cron job | ||||
|         pg_patch_disable_backup = { | ||||
|             "spec": { | ||||
|  | @ -188,6 +205,9 @@ class SmokeTestCase(unittest.TestCase): | |||
|         } | ||||
|         k8s.custom_objects_api.patch_namespaced_custom_object("acid.zalan.do", "v1", "default", "postgresqls", "acid-minimal-cluster", pg_patch_disable_backup) | ||||
|         Utils.wait_for_logical_backup_job_deletion(k8s, self.RETRY_TIMEOUT_SEC) | ||||
|         jobs = Utils.get_logical_backup_job(k8s).items | ||||
|         self.assertTrue(0 == len(jobs), | ||||
|                        "Expected 0 logical backup jobs, found {}".format(len(jobs))) | ||||
| 
 | ||||
| 
 | ||||
| class K8sApi: | ||||
|  | @ -263,9 +283,13 @@ class Utils: | |||
|                 pod_phase = pods[0].status.phase | ||||
|         time.sleep(retry_timeout_sec) | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def get_logical_backup_job(k8s_api): | ||||
|         return k8s_api.batch_v1_beta1.list_namespaced_cron_job("default", label_selector="application=spilo") | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def wait_for_logical_backup_job(k8s_api, retry_timeout_sec, expected_num_of_jobs): | ||||
|         while (len(k8s_api.batch_v1_beta1.list_namespaced_cron_job("default", label_selector="application=spilo").items) != expected_num_of_jobs): | ||||
|         while (len(Utils.get_logical_backup_job(k8s_api).items) != expected_num_of_jobs): | ||||
|             time.sleep(retry_timeout_sec) | ||||
| 
 | ||||
|     @staticmethod | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue