@@ -95,7 +95,64 @@ func TestCreateWorkloadTxn(t *testing.T) {
95
95
},
96
96
}
97
97
98
- store := c .store .(* storemocks.Store )
98
+ store := & storemocks.Store {}
99
+ sche := & schedulermocks.Scheduler {}
100
+ scheduler .InitSchedulerV1 (sche )
101
+ c .store = store
102
+ c .scheduler = sche
103
+ engine := & enginemocks.API {}
104
+
105
+ node1 := & types.Node {
106
+ NodeMeta : types.NodeMeta {
107
+ Name : "n1" ,
108
+ },
109
+ Engine : engine ,
110
+ }
111
+ node2 := & types.Node {
112
+ NodeMeta : types.NodeMeta {
113
+ Name : "n2" ,
114
+ },
115
+ Engine : engine ,
116
+ }
117
+ nodes = []* types.Node {node1 , node2 }
118
+
119
+ store .On ("SaveProcessing" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
120
+ store .On ("UpdateProcessing" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
121
+ store .On ("DeleteProcessing" , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
122
+
123
+ // doAllocResource fails: MakeDeployStatus
124
+ lock := & lockmocks.DistributedLock {}
125
+ lock .On ("Lock" , mock .Anything ).Return (context .Background (), nil )
126
+ lock .On ("Unlock" , mock .Anything ).Return (nil )
127
+ store .On ("CreateLock" , mock .Anything , mock .Anything ).Return (lock , nil )
128
+ store .On ("GetNodesByPod" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nodes , nil )
129
+ store .On ("GetNode" ,
130
+ mock .AnythingOfType ("*context.emptyCtx" ),
131
+ mock .AnythingOfType ("string" ),
132
+ ).Return (
133
+ func (_ context.Context , name string ) (node * types.Node ) {
134
+ node = node1
135
+ if name == "n2" {
136
+ node = node2
137
+ }
138
+ return
139
+ }, nil )
140
+ sche .On ("SelectStorageNodes" , mock .AnythingOfType ("[]resourcetypes.ScheduleInfo" ), mock .AnythingOfType ("int64" )).Return (func (scheduleInfos []resourcetypes.ScheduleInfo , _ int64 ) []resourcetypes.ScheduleInfo {
141
+ return scheduleInfos
142
+ }, len (nodes ), nil )
143
+ sche .On ("SelectStorageNodes" , mock .AnythingOfType ("[]types.ScheduleInfo" ), mock .AnythingOfType ("int64" )).Return (func (scheduleInfos []resourcetypes.ScheduleInfo , _ int64 ) []resourcetypes.ScheduleInfo {
144
+ return scheduleInfos
145
+ }, len (nodes ), nil )
146
+ sche .On ("SelectVolumeNodes" , mock .AnythingOfType ("[]types.ScheduleInfo" ), mock .AnythingOfType ("types.VolumeBindings" )).Return (func (scheduleInfos []resourcetypes.ScheduleInfo , _ types.VolumeBindings ) []resourcetypes.ScheduleInfo {
147
+ return scheduleInfos
148
+ }, nil , len (nodes ), nil )
149
+ sche .On ("SelectMemoryNodes" , mock .AnythingOfType ("[]types.ScheduleInfo" ), mock .AnythingOfType ("float64" ), mock .AnythingOfType ("int64" )).Return (
150
+ func (scheduleInfos []resourcetypes.ScheduleInfo , _ float64 , _ int64 ) []resourcetypes.ScheduleInfo {
151
+ for i := range scheduleInfos {
152
+ scheduleInfos [i ].Capacity = 1
153
+ }
154
+ return scheduleInfos
155
+ }, len (nodes ), nil )
99
156
store .On ("MakeDeployStatus" , mock .Anything , mock .Anything , mock .Anything ).Return (
100
157
errors .Wrap (context .DeadlineExceeded , "MakeDeployStatus" ),
101
158
).Once ()
@@ -133,7 +190,7 @@ func TestCreateWorkloadTxn(t *testing.T) {
133
190
assert .Error (t , m .Error , "UpdateNodes1" )
134
191
}
135
192
assert .EqualValues (t , 1 , cnt )
136
- node1 , node2 : = nodes [0 ], nodes [1 ]
193
+ node1 , node2 = nodes [0 ], nodes [1 ]
137
194
assert .EqualValues (t , 1 , node1 .CPUUsed )
138
195
assert .EqualValues (t , 1 , node2 .CPUUsed )
139
196
node1 .CPUUsed = 0
@@ -153,18 +210,7 @@ func TestCreateWorkloadTxn(t *testing.T) {
153
210
}
154
211
return
155
212
}, nil )
156
- store .On ("GetNode" ,
157
- mock .AnythingOfType ("*context.cancelCtx" ),
158
- mock .AnythingOfType ("string" ),
159
- ).Return (
160
- func (_ context.Context , name string ) (node * types.Node ) {
161
- node = node1
162
- if name == "n2" {
163
- node = node2
164
- }
165
- return
166
- }, nil )
167
- engine := node1 .Engine .(* enginemocks.API )
213
+ engine = node1 .Engine .(* enginemocks.API )
168
214
engine .On ("ImageLocalDigests" , mock .Anything , mock .Anything ).Return (nil , errors .Wrap (context .DeadlineExceeded , "ImageLocalDigest" )).Twice ()
169
215
engine .On ("ImagePull" , mock .Anything , mock .Anything , mock .Anything ).Return (nil , errors .Wrap (context .DeadlineExceeded , "ImagePull" )).Twice ()
170
216
store .On ("UpdateProcessing" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
@@ -241,7 +287,8 @@ func TestCreateWorkloadTxn(t *testing.T) {
241
287
assert .EqualValues (t , 2 , cnt )
242
288
assert .EqualValues (t , 1 , errCnt )
243
289
assert .EqualValues (t , 1 , node1 .CPUUsed + node2 .CPUUsed )
244
- return
290
+ store .AssertExpectations (t )
291
+ engine .AssertExpectations (t )
245
292
}
246
293
247
294
func newCreateWorkloadCluster (t * testing.T ) (* Calcium , []* types.Node ) {
0 commit comments