summaryrefslogtreecommitdiff
path: root/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/data/gridfs/delete.yml
blob: ef02359391d5027242ed5e15ceb5bb87bd51cbe3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
data:
    files:
        -
            _id: { "$oid" : "000000000000000000000001" }
            length: 0
            chunkSize: 4
            uploadDate: { "$date" : "1970-01-01T00:00:00.000Z" }
            md5: "d41d8cd98f00b204e9800998ecf8427e"
            filename: "length-0"
            contentType: "application/octet-stream"
            aliases: []
            metadata: {}
        -
            _id: { "$oid" : "000000000000000000000002" }
            length: 0
            chunkSize: 4
            uploadDate: { "$date" : "1970-01-01T00:00:00.000Z" }
            md5: "d41d8cd98f00b204e9800998ecf8427e"
            filename: "length-0-with-empty-chunk"
            contentType: "application/octet-stream"
            aliases: []
            metadata: {}
        -
            _id: { "$oid" : "000000000000000000000003" }
            length: 2
            chunkSize: 4
            uploadDate: { "$date" : "1970-01-01T00:00:00.000Z" }
            md5: "c700ed4fdb1d27055aa3faa2c2432283"
            filename: "length-2"
            contentType: "application/octet-stream"
            aliases: []
            metadata: {}
        -
            _id: { "$oid" : "000000000000000000000004" }
            length: 8
            chunkSize: 4
            uploadDate: { "$date" : "1970-01-01T00:00:00.000Z" }
            md5: "dd254cdc958e53abaa67da9f797125f5"
            filename: "length-8"
            contentType: "application/octet-stream"
            aliases: []
            metadata: {}
    chunks:
        - { _id : { "$oid" : "000000000000000000000001" }, files_id : { "$oid" : "000000000000000000000002" }, n : 0, data : { $hex : "" } }
        - { _id : { "$oid" : "000000000000000000000002" }, files_id : { "$oid" : "000000000000000000000003" }, n : 0, data : { $hex : "1122" } }
        - { _id : { "$oid" : "000000000000000000000003" }, files_id : { "$oid" : "000000000000000000000004" }, n : 0, data : { $hex : "11223344" } }
        - { _id : { "$oid" : "000000000000000000000004" }, files_id : { "$oid" : "000000000000000000000004" }, n : 1, data : { $hex : "55667788" } }

tests:
    -
        description: "Delete when length is 0"
        act:
            operation: delete
            arguments:
                id: { "$oid" : "000000000000000000000001" }
        assert:
            result: void
            data:
                -
                    { delete : "expected.files", deletes : [
                        { q : { _id : { "$oid" : "000000000000000000000001" } }, limit : 1 }
                    ] }                           
    -
        description: "Delete when length is 0 and there is one extra empty chunk"
        act:
            operation: delete
            arguments:
                id: { "$oid" : "000000000000000000000002" }
        assert:
            result: void
            data:
                -
                    { delete : "expected.files", deletes : [
                        { q : { _id : { "$oid" : "000000000000000000000002" } }, limit : 1 }
                    ] }
                -
                    { delete : "expected.chunks", deletes : [
                        { q : { files_id : { "$oid" : "000000000000000000000002" } }, limit : 0 }
                    ] }
    -
        description: "Delete when length is 8"
        act:
            operation: delete
            arguments:
                id: { "$oid" : "000000000000000000000004" }
        assert:
            result: void
            data:
                -
                    { delete : "expected.files", deletes : [
                        { q : { _id : { "$oid" : "000000000000000000000004" } }, limit : 1 }
                    ] }
                -
                    { delete : "expected.chunks", deletes : [
                        { q : { files_id : { "$oid" : "000000000000000000000004" } }, limit : 0 }
                    ] }
    -
        description: "Delete when files entry does not exist"
        act:
            operation: delete
            arguments:
                id: { "$oid" : "000000000000000000000000" }
        assert:
            error: "FileNotFound"
    -
        description: "Delete when files entry does not exist and there are orphaned chunks"
        arrange:
            data:
                -
                    { delete : "fs.files", deletes : [
                        { q : { _id : { "$oid" : "000000000000000000000004" } }, limit : 1 }
                    ] }
        act:
            operation: delete
            arguments:
                id: { "$oid" : "000000000000000000000004" }
        assert:
            error: "FileNotFound"
            data:
                -
                    { delete : "expected.files", deletes : [
                        { q : { _id : { "$oid" : "000000000000000000000004" } }, limit : 1 }
                    ] }