Skip to content

Commit e9cf5d3

Browse files
committed
add unit test
Signed-off-by: win5923 <[email protected]>
1 parent 8331f63 commit e9cf5d3

File tree

2 files changed

+33
-6
lines changed

2 files changed

+33
-6
lines changed

kubectl-plugin/pkg/cmd/job/job_submit_test.go

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,25 @@ spec:
9494
workingDir: "Fake/File/Path",
9595
},
9696
},
97+
{
98+
name: "TTLSecondsAfterFinished with shutdownAfterJobFinishes disabled should error",
99+
opts: &SubmitJobOptions{
100+
configFlags: &genericclioptions.ConfigFlags{
101+
Namespace: &testNS,
102+
Context: &testContext,
103+
KubeConfig: &kubeConfigWithCurrentContext,
104+
BearerToken: &testBT,
105+
Impersonate: &testImpersonate,
106+
ImpersonateGroup: &[]string{"fake-group"},
107+
},
108+
ioStreams: &testStreams,
109+
fileName: rayJobYamlPath,
110+
workingDir: "Fake/File/Path",
111+
shutdownAfterJobFinishes: false,
112+
ttlSecondsAfterFinished: 100,
113+
},
114+
expectError: "TTLSecondsAfterFinished only working when ShutdownAfterJobFinishes set to true when ShutdownAfterJobFinishes is set to true",
115+
},
97116
{
98117
name: "Successful submit job validation with RayJob",
99118
opts: &SubmitJobOptions{
@@ -105,9 +124,11 @@ spec:
105124
Impersonate: &testImpersonate,
106125
ImpersonateGroup: &[]string{"fake-group"},
107126
},
108-
ioStreams: &testStreams,
109-
fileName: rayJobYamlPath,
110-
workingDir: "Fake/File/Path",
127+
ioStreams: &testStreams,
128+
fileName: rayJobYamlPath,
129+
workingDir: "Fake/File/Path",
130+
shutdownAfterJobFinishes: true,
131+
ttlSecondsAfterFinished: 100,
111132
},
112133
},
113134
}

kubectl-plugin/pkg/util/generation/generation_test.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,12 @@ func TestGenerateRayCluterApplyConfig(t *testing.T) {
5050

5151
func TestGenerateRayJobApplyConfig(t *testing.T) {
5252
testRayJobYamlObject := RayJobYamlObject{
53-
RayJobName: "test-ray-job",
54-
Namespace: "default",
55-
SubmissionMode: "InteractiveMode",
53+
RayJobName: "test-ray-job",
54+
Namespace: "default",
55+
SubmissionMode: "InteractiveMode",
56+
DeletionPolicy: "DeleteCluster",
57+
TTLSecondsAfterFinished: 100,
58+
ShutdownAfterJobFinishes: true,
5659
RayClusterSpecObject: RayClusterSpecObject{
5760
RayVersion: util.RayVersion,
5861
Image: util.RayImage,
@@ -80,6 +83,9 @@ func TestGenerateRayJobApplyConfig(t *testing.T) {
8083
assert.Equal(t, testRayJobYamlObject.WorkerReplicas, *result.Spec.RayClusterSpec.WorkerGroupSpecs[0].Replicas)
8184
assert.Equal(t, resource.MustParse(testRayJobYamlObject.WorkerCPU), *result.Spec.RayClusterSpec.WorkerGroupSpecs[0].Template.Spec.Containers[0].Resources.Requests.Cpu())
8285
assert.Equal(t, resource.MustParse(testRayJobYamlObject.WorkerMemory), *result.Spec.RayClusterSpec.WorkerGroupSpecs[0].Template.Spec.Containers[0].Resources.Requests.Memory())
86+
assert.Equal(t, rayv1.DeletionPolicy(testRayJobYamlObject.DeletionPolicy), *result.Spec.DeletionPolicy)
87+
assert.Equal(t, testRayJobYamlObject.TTLSecondsAfterFinished, *result.Spec.TTLSecondsAfterFinished)
88+
assert.Equal(t, testRayJobYamlObject.ShutdownAfterJobFinishes, *result.Spec.ShutdownAfterJobFinishes)
8389
}
8490

8591
func TestConvertRayClusterApplyConfigToYaml(t *testing.T) {

0 commit comments

Comments
 (0)