@@ -34,7 +34,7 @@ import (
34
34
"reflect"
35
35
"testing"
36
36
37
- "k8s.io/api/core/v1"
37
+ v1 "k8s.io/api/core/v1"
38
38
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
39
39
)
40
40
@@ -206,3 +206,62 @@ func TestDeleteTaskInfo(t *testing.T) {
206
206
}
207
207
}
208
208
}
209
+
210
+ func TestCloneJob (t * testing.T ) {
211
+ case01UID := JobID ("job_1" )
212
+ case01Ns := "c1"
213
+ case01_owner := buildOwnerReference ("uid" )
214
+
215
+ case01Pod1 := buildPod ("c1" , "p1" , "" , v1 .PodPending , buildResourceList ("1000m" , "1G" ), []metav1.OwnerReference {case01_owner }, make (map [string ]string ))
216
+ case01Pod2 := buildPod ("c1" , "p2" , "n1" , v1 .PodRunning , buildResourceList ("2000m" , "2G" ), []metav1.OwnerReference {case01_owner }, make (map [string ]string ))
217
+ case01Pod3 := buildPod ("c1" , "p3" , "n1" , v1 .PodPending , buildResourceList ("1000m" , "1G" ), []metav1.OwnerReference {case01_owner }, make (map [string ]string ))
218
+ case01Pod4 := buildPod ("c1" , "p4" , "n1" , v1 .PodPending , buildResourceList ("1000m" , "1G" ), []metav1.OwnerReference {case01_owner }, make (map [string ]string ))
219
+ case01Task1 := NewTaskInfo (case01Pod1 )
220
+ case01Task2 := NewTaskInfo (case01Pod2 )
221
+ case01Task3 := NewTaskInfo (case01Pod3 )
222
+ case01Task4 := NewTaskInfo (case01Pod4 )
223
+
224
+ tests := []struct {
225
+ name string
226
+ expected * JobInfo
227
+ }{
228
+ {
229
+ name : "add 1 pending owner pod, 1 running owner pod" ,
230
+ expected : & JobInfo {
231
+ UID : case01UID ,
232
+ Name : "job_1" ,
233
+ Namespace : case01Ns ,
234
+ MinAvailable : 1 ,
235
+
236
+ Allocated : buildResource ("4000m" , "4G" ),
237
+ TotalRequest : buildResource ("5000m" , "5G" ),
238
+ Tasks : tasksMap {
239
+ case01Task1 .UID : case01Task1 ,
240
+ case01Task2 .UID : case01Task2 ,
241
+ case01Task3 .UID : case01Task3 ,
242
+ case01Task4 .UID : case01Task4 ,
243
+ },
244
+ TaskStatusIndex : map [TaskStatus ]tasksMap {
245
+ Running : {
246
+ case01Task2 .UID : case01Task2 ,
247
+ },
248
+ Pending : {
249
+ case01Task1 .UID : case01Task1 ,
250
+ },
251
+ Bound : {
252
+ case01Task3 .UID : case01Task3 ,
253
+ case01Task4 .UID : case01Task4 ,
254
+ },
255
+ },
256
+ },
257
+ },
258
+ }
259
+
260
+ for i , test := range tests {
261
+ clone := test .expected .Clone ()
262
+ //assert.Equal(t, test.expected, clone)
263
+ if ! jobInfoEqual (clone , test .expected ) {
264
+ t .Errorf ("clone info %d: \n expected: %v, \n got: %v \n " , i , test .expected , clone )
265
+ }
266
+ }
267
+ }
0 commit comments