Merge pull request #126030 from kaisoz/test-SuccessPolicyMet-false-ignored
job_controller: Add test for SuccessCriteriaMet=False
This commit is contained in:
		| @@ -291,6 +291,7 @@ func TestControllerSyncJob(t *testing.T) { | |||||||
| 		podIndexLabelDisabled   bool | 		podIndexLabelDisabled   bool | ||||||
| 		jobPodReplacementPolicy bool | 		jobPodReplacementPolicy bool | ||||||
| 		jobPodFailurePolicy     bool | 		jobPodFailurePolicy     bool | ||||||
|  | 		jobSuccessPolicy        bool | ||||||
| 	}{ | 	}{ | ||||||
| 		"job start": { | 		"job start": { | ||||||
| 			parallelism:       2, | 			parallelism:       2, | ||||||
| @@ -1187,6 +1188,38 @@ func TestControllerSyncJob(t *testing.T) { | |||||||
| 				}, | 				}, | ||||||
| 			}, | 			}, | ||||||
| 		}, | 		}, | ||||||
|  | 		"SuccessCriteriaMet=False condition added manually is ignored": { | ||||||
|  | 			jobSuccessPolicy: true, | ||||||
|  | 			parallelism:      1, | ||||||
|  | 			completions:      1, | ||||||
|  | 			activePods:       1, | ||||||
|  | 			readyPods:        1, | ||||||
|  | 			initialStatus: &jobInitialStatus{ | ||||||
|  | 				active: 1, | ||||||
|  | 				startTime: func() *time.Time { | ||||||
|  | 					now := time.Now() | ||||||
|  | 					return &now | ||||||
|  | 				}(), | ||||||
|  | 				conditions: []batch.JobCondition{ | ||||||
|  | 					{ | ||||||
|  | 						Type:    batch.JobSuccessCriteriaMet, | ||||||
|  | 						Status:  v1.ConditionFalse, | ||||||
|  | 						Reason:  "ConditionAddedManually", | ||||||
|  | 						Message: "Testing", | ||||||
|  | 					}, | ||||||
|  | 				}, | ||||||
|  | 			}, | ||||||
|  | 			expectedActive: 1, | ||||||
|  | 			expectedReady:  ptr.To[int32](1), | ||||||
|  | 			expectedConditions: []batch.JobCondition{ | ||||||
|  | 				{ | ||||||
|  | 					Type:    batch.JobSuccessCriteriaMet, | ||||||
|  | 					Status:  v1.ConditionFalse, | ||||||
|  | 					Reason:  "ConditionAddedManually", | ||||||
|  | 					Message: "Testing", | ||||||
|  | 				}, | ||||||
|  | 			}, | ||||||
|  | 		}, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	for name, tc := range testCases { | 	for name, tc := range testCases { | ||||||
| @@ -1195,6 +1228,7 @@ func TestControllerSyncJob(t *testing.T) { | |||||||
| 			featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.PodIndexLabel, !tc.podIndexLabelDisabled) | 			featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.PodIndexLabel, !tc.podIndexLabelDisabled) | ||||||
| 			featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.JobPodReplacementPolicy, tc.jobPodReplacementPolicy) | 			featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.JobPodReplacementPolicy, tc.jobPodReplacementPolicy) | ||||||
| 			featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.JobPodFailurePolicy, tc.jobPodFailurePolicy) | 			featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.JobPodFailurePolicy, tc.jobPodFailurePolicy) | ||||||
|  | 			featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.JobSuccessPolicy, tc.jobSuccessPolicy) | ||||||
| 			// job manager setup | 			// job manager setup | ||||||
| 			clientSet := clientset.NewForConfigOrDie(&restclient.Config{Host: "", ContentConfig: restclient.ContentConfig{GroupVersion: &schema.GroupVersion{Group: "", Version: "v1"}}}) | 			clientSet := clientset.NewForConfigOrDie(&restclient.Config{Host: "", ContentConfig: restclient.ContentConfig{GroupVersion: &schema.GroupVersion{Group: "", Version: "v1"}}}) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Prow Robot
					Kubernetes Prow Robot