| 170 | } |
| 171 | |
| 172 | function 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 | |