MCPcopy Index your code
hub / github.com/scality/cloudserver / assertListResults

Function assertListResults

tests/multipleBackend/multipartUpload.js:172–228  ·  view source on GitHub ↗
(listResult, testAttribute, uploadId, objectKey)

Source from the content-addressed store, hash-verified

170}
171
172function assertListResults(listResult, testAttribute, uploadId, objectKey) {
173 parseString(listResult, (err, json) => {
174 assert.equal(err, null, `Error parsing list part results: ${err}`);
175 assert.strictEqual(json.ListPartsResult.Key[0], objectKey);
176 assert.strictEqual(json.ListPartsResult.UploadId[0], uploadId);
177 assert.strictEqual(json.ListPartsResult.Initiator[0].ID[0],
178 authInfo.getCanonicalID());
179
180 // attributes to test specific to PartNumberMarker being set
181 // in listParts
182 if (testAttribute === 'partNumMarker') {
183 assert.strictEqual(json.ListPartsResult.NextPartNumberMarker,
184 undefined);
185 assert.strictEqual(json.ListPartsResult.IsTruncated[0], 'false');
186 assert.strictEqual(json.ListPartsResult.Part.length, 1);
187 assert.strictEqual(json.ListPartsResult.PartNumberMarker[0], '1');
188 // data of second part put
189 assert.strictEqual(json.ListPartsResult.Part[0].PartNumber[0], '2');
190 assert.strictEqual(json.ListPartsResult.Part[0].ETag[0],
191 `"${awsETag}"`);
192 assert.strictEqual(json.ListPartsResult.Part[0].Size[0], '11');
193 } else {
194 // common attributes to test if MaxParts set or
195 // neither MaxParts nor PartNumberMarker set
196 assert.strictEqual(json.ListPartsResult.PartNumberMarker,
197 undefined);
198 assert.strictEqual(json.ListPartsResult.Part[0].PartNumber[0], '1');
199 assert.strictEqual(json.ListPartsResult.Part[0].ETag[0],
200 `"${awsETagBigObj}"`);
201 assert.strictEqual(json.ListPartsResult.Part[0].Size[0],
202 '10485760');
203
204 // attributes to test specific to MaxParts being set in listParts
205 if (testAttribute === 'maxParts') {
206 assert.strictEqual(json.ListPartsResult.NextPartNumberMarker[0],
207 '1');
208 assert.strictEqual(json.ListPartsResult.IsTruncated[0], 'true');
209 assert.strictEqual(json.ListPartsResult.Part.length, 1);
210 assert.strictEqual(json.ListPartsResult.MaxParts[0], '1');
211 } else {
212 // attributes to test if neither MaxParts nor
213 // PartNumberMarker set
214 assert.strictEqual(json.ListPartsResult.NextPartNumberMarker,
215 undefined);
216 assert.strictEqual(json.ListPartsResult.IsTruncated[0],
217 'false');
218 assert.strictEqual(json.ListPartsResult.Part.length, 2);
219 assert.strictEqual(json.ListPartsResult.MaxParts[0], '1000');
220 assert.strictEqual(json.ListPartsResult.Part[1].PartNumber[0],
221 '2');
222 assert.strictEqual(json.ListPartsResult.Part[1].ETag[0],
223 `"${awsETag}"`);
224 assert.strictEqual(json.ListPartsResult.Part[1].Size[0], '11');
225 }
226 }
227 });
228}
229

Callers 1

multipartUpload.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected