160 lines
5.2 KiB
YAML
160 lines
5.2 KiB
YAML
description: "gridfs-downloadByName"
|
|
|
|
schemaVersion: "1.0"
|
|
|
|
createEntities:
|
|
- client:
|
|
id: &client0 client0
|
|
- database:
|
|
id: &database0 database0
|
|
client: *client0
|
|
databaseName: &database0Name gridfs-tests
|
|
- bucket:
|
|
id: &bucket0 bucket0
|
|
database: *database0
|
|
- collection:
|
|
id: &bucket0_files_collection bucket0_files_collection
|
|
database: *database0
|
|
collectionName: &bucket0_files_collectionName fs.files
|
|
- collection:
|
|
id: &bucket0_chunks_collection bucket0_chunks_collection
|
|
database: *database0
|
|
collectionName: &bucket0_chunks_collectionName fs.chunks
|
|
|
|
initialData:
|
|
- collectionName: *bucket0_files_collectionName
|
|
databaseName: *database0Name
|
|
documents:
|
|
- _id: { $oid: "000000000000000000000001" }
|
|
length: 1
|
|
chunkSize: 4
|
|
uploadDate: { $date: "1970-01-01T00:00:00.000Z" }
|
|
md5: "47ed733b8d10be225eceba344d533586"
|
|
filename: "abc"
|
|
contentType: "application/octet-stream"
|
|
aliases: []
|
|
metadata: {}
|
|
- _id: { $oid: "000000000000000000000002" }
|
|
length: 1
|
|
chunkSize: 4
|
|
uploadDate: { $date: "1970-01-02T00:00:00.000Z" }
|
|
md5: "b15835f133ff2e27c7cb28117bfae8f4"
|
|
filename: "abc"
|
|
contentType: "application/octet-stream"
|
|
aliases: []
|
|
metadata: {}
|
|
- _id: { $oid: "000000000000000000000003" }
|
|
length: 1
|
|
chunkSize: 4
|
|
uploadDate: { $date: "1970-01-03T00:00:00.000Z" }
|
|
md5: "eccbc87e4b5ce2fe28308fd9f2a7baf3"
|
|
filename: "abc"
|
|
contentType: "application/octet-stream"
|
|
aliases: []
|
|
metadata: {}
|
|
- _id: { $oid: "000000000000000000000004" }
|
|
length: 1
|
|
chunkSize: 4
|
|
uploadDate: { $date: "1970-01-04T00:00:00.000Z" }
|
|
md5: "f623e75af30e62bbd73d6df5b50bb7b5"
|
|
filename: "abc"
|
|
contentType: "application/octet-stream"
|
|
aliases: []
|
|
metadata: {}
|
|
- _id: { $oid: "000000000000000000000005" }
|
|
length: 1
|
|
chunkSize: 4
|
|
uploadDate: { $date: "1970-01-05T00:00:00.000Z" }
|
|
md5: "4c614360da93c0a041b22e537de151eb"
|
|
filename: "abc"
|
|
contentType: "application/octet-stream"
|
|
aliases: []
|
|
metadata: {}
|
|
- collectionName: *bucket0_chunks_collectionName
|
|
databaseName: *database0Name
|
|
documents:
|
|
- _id: { $oid: "000000000000000000000001" }
|
|
files_id: { $oid: "000000000000000000000001" }
|
|
n: 0
|
|
data: { "$binary": { "base64": "EQ==", "subType": "00" } } # hex: 11
|
|
- _id: { $oid: "000000000000000000000002" }
|
|
files_id: { $oid: "000000000000000000000002" }
|
|
n: 0
|
|
data: { "$binary": { "base64": "Ig==", "subType": "00" } } # hex: 22
|
|
- _id: { $oid: "000000000000000000000003" }
|
|
files_id: { $oid: "000000000000000000000003" }
|
|
n: 0
|
|
data: { "$binary": { "base64": "Mw==", "subType": "00" } } # hex: 33
|
|
- _id: { $oid: "000000000000000000000004" }
|
|
files_id: { $oid: "000000000000000000000004" }
|
|
n: 0
|
|
data: { "$binary": { "base64": "RA==", "subType": "00" } } # hex: 44
|
|
- _id: { $oid: "000000000000000000000005" }
|
|
files_id: { $oid: "000000000000000000000005" }
|
|
n: 0
|
|
data: { "$binary": { "base64": "VQ==", "subType": "00" } } # hex: 55
|
|
|
|
tests:
|
|
- description: "downloadByName defaults to latest revision (-1)"
|
|
operations:
|
|
- name: downloadByName
|
|
object: *bucket0
|
|
arguments:
|
|
filename: "abc"
|
|
expectResult: { $$matchesHexBytes: "55" }
|
|
- description: "downloadByName when revision is 0"
|
|
operations:
|
|
- name: downloadByName
|
|
object: *bucket0
|
|
arguments:
|
|
filename: "abc"
|
|
revision: 0
|
|
expectResult: { $$matchesHexBytes: "11" }
|
|
- description: "downloadByName when revision is 1"
|
|
operations:
|
|
- name: downloadByName
|
|
object: *bucket0
|
|
arguments:
|
|
filename: "abc"
|
|
revision: 1
|
|
expectResult: { $$matchesHexBytes: "22" }
|
|
- description: "downloadByName when revision is 2"
|
|
operations:
|
|
- name: downloadByName
|
|
object: *bucket0
|
|
arguments:
|
|
filename: "abc"
|
|
revision: 2
|
|
expectResult: { $$matchesHexBytes: "33" }
|
|
- description: "downloadByName when revision is -2"
|
|
operations:
|
|
- name: downloadByName
|
|
object: *bucket0
|
|
arguments:
|
|
filename: "abc"
|
|
revision: -2
|
|
expectResult: { $$matchesHexBytes: "44" }
|
|
- description: "downloadByName when revision is -1"
|
|
operations:
|
|
- name: downloadByName
|
|
object: *bucket0
|
|
arguments:
|
|
filename: "abc"
|
|
revision: -1
|
|
expectResult: { $$matchesHexBytes: "55" }
|
|
- description: "downloadByName when files entry does not exist"
|
|
operations:
|
|
- name: downloadByName
|
|
object: *bucket0
|
|
arguments:
|
|
filename: "xyz"
|
|
expectError: { isError: true } # FileNotFound
|
|
- description: "downloadByName when revision does not exist"
|
|
operations:
|
|
- name: downloadByName
|
|
object: *bucket0
|
|
arguments:
|
|
filename: "abc"
|
|
revision: 999
|
|
expectError: { isError: true } # RevisionNotFound
|