Repository navigation
Expand file tree
/
Copy pathcases.json
More file actions
279 lines (279 loc) · 9.76 KB
/
Copy pathcases.json
File metadata and controls
279 lines (279 loc) · 9.76 KB
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
{
"cases": [
{
"name": "no-config-uses-default-directory",
"tree": {
"metaobjects/meta.users.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": null,
"expectFiles": ["metaobjects/meta.users.json"]
},
{
"name": "empty-sources-uses-default-directory",
"tree": {
"metaobjects/meta.users.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [] },
"expectFiles": ["metaobjects/meta.users.json"]
},
{
"name": "declared-path-replaces-the-default-entirely",
"tree": {
"metaobjects/ignored.json": "{\"metadata.root\":{\"children\":[]}}",
"model/meta.orders.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [{ "path": "model" }] },
"expectFiles": ["model/meta.orders.json"]
},
{
"name": "directory-is-walked-recursively",
"tree": {
"model/meta.a.json": "{\"metadata.root\":{\"children\":[]}}",
"model/nested/meta.b.yaml": "metadata.root:\n children: []\n",
"model/nested/deep/meta.c.yml": "metadata.root:\n children: []\n"
},
"config": { "schema_version": 1, "sources": [{ "path": "model" }] },
"expectFiles": [
"model/meta.a.json",
"model/nested/meta.b.yaml",
"model/nested/deep/meta.c.yml"
]
},
{
"name": "non-metadata-extensions-are-ignored",
"tree": {
"model/meta.a.json": "{\"metadata.root\":{\"children\":[]}}",
"model/README.md": "not metadata",
"model/notes.txt": "not metadata",
"model/script.ts": "export {}"
},
"config": { "schema_version": 1, "sources": [{ "path": "model" }] },
"expectFiles": ["model/meta.a.json"]
},
{
"name": "metadata-extensions-are-matched-case-insensitively",
"tree": {
"model/meta.a.json": "{\"metadata.root\":{\"children\":[]}}",
"model/meta.b.JSON": "{\"metadata.root\":{\"children\":[]}}",
"model/meta.c.YAML": "metadata.root:\n children: []\n",
"model/meta.d.Yml": "metadata.root:\n children: []\n",
"model/notes.TXT": "not metadata"
},
"config": { "schema_version": 1, "sources": [{ "path": "model" }] },
"expectFiles": [
"model/meta.a.json",
"model/meta.b.JSON",
"model/meta.c.YAML",
"model/meta.d.Yml"
]
},
{
"name": "a-single-file-path-resolves-to-that-file",
"tree": {
"vendor/meta.catalog.json": "{\"metadata.root\":{\"children\":[]}}",
"vendor/meta.other.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [{ "path": "vendor/meta.catalog.json" }] },
"expectFiles": ["vendor/meta.catalog.json"]
},
{
"name": "two-sources-union",
"tree": {
"a/meta.a.json": "{\"metadata.root\":{\"children\":[]}}",
"b/meta.b.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [{ "path": "a" }, { "path": "b" }] },
"expectFiles": ["a/meta.a.json", "b/meta.b.json"]
},
{
"name": "overlapping-sources-yield-each-file-once",
"tree": {
"model/meta.a.json": "{\"metadata.root\":{\"children\":[]}}",
"model/nested/meta.b.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": {
"schema_version": 1,
"sources": [{ "path": "model" }, { "path": "model/nested" }]
},
"expectFiles": ["model/meta.a.json", "model/nested/meta.b.json"]
},
{
"name": "source-order-does-not-change-the-resolved-set",
"tree": {
"a/meta.a.json": "{\"metadata.root\":{\"children\":[]}}",
"b/meta.b.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [{ "path": "b" }, { "path": "a" }] },
"expectFiles": ["a/meta.a.json", "b/meta.b.json"]
},
{
"name": "a-parent-relative-path-resolves-against-the-declaring-configs-directory",
"tree": {
"shared/meta.shared.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [{ "path": "../shared" }] },
"resolveFrom": "app",
"expectFiles": ["shared/meta.shared.json"]
},
{
"name": "a-declared-path-that-does-not-exist-is-an-error",
"tree": {
"metaobjects/meta.users.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [{ "path": "nope" }] },
"expectError": "ERR_SOURCE_UNRESOLVED"
},
{
"name": "an-empty-directory-source-resolves-to-no-files",
"tree": {
"model/.keep": ""
},
"config": { "schema_version": 1, "sources": [{ "path": "model" }] },
"expectFiles": []
},
{
"name": "resource-kind-is-unsupported",
"tree": {
"metaobjects/meta.users.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [{ "resource": "com/acme/model" }] },
"expectError": "ERR_SOURCE_KIND_UNSUPPORTED"
},
{
"name": "package-kind-is-unsupported",
"tree": {
"metaobjects/meta.users.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [{ "package": "acme-model" }] },
"expectError": "ERR_SOURCE_KIND_UNSUPPORTED"
},
{
"name": "unsupported-kind-precedes-unresolved-path-when-path-is-declared-first",
"tree": {
"metaobjects/meta.users.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": {
"schema_version": 1,
"sources": [{ "path": "nope" }, { "resource": "com/acme/model" }]
},
"expectError": "ERR_SOURCE_KIND_UNSUPPORTED"
},
{
"name": "unsupported-kind-precedes-unresolved-path-when-path-is-declared-second",
"tree": {
"metaobjects/meta.users.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": {
"schema_version": 1,
"sources": [{ "resource": "com/acme/model" }, { "path": "nope" }]
},
"expectError": "ERR_SOURCE_KIND_UNSUPPORTED"
},
{
"name": "no-config-and-no-default-directory-is-an-error",
"tree": {
"src/.keep": ""
},
"config": null,
"expectError": "ERR_COLLECTION_NOT_FOUND"
},
{
"name": "typescript-owned-top-level-keys-do-not-affect-source-resolution",
"tree": {
"model/meta.a.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": {
"schema_version": 1,
"sources": [{ "path": "model" }],
"pending_in_git": true,
"confidence_thresholds": { "pending_promote": 0.8 },
"extract": { "metaignore": ".metaignore" },
"migrate": { "dialect": "postgres" }
},
"expectFiles": ["model/meta.a.json"]
},
{
"name": "sources-must-be-an-array-not-an-object",
"tree": {
"metaobjects/meta.stale.json": "{\"metadata.root\":{\"children\":[]}}",
"custom/meta.real.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": { "path": "custom" } },
"expectError": true
},
{
"name": "sources-null-is-an-error-not-the-default",
"tree": {
"metaobjects/meta.stale.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": null },
"expectError": true
},
{
"name": "an-empty-path-is-an-error",
"tree": {
"metaobjects/meta.users.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [{ "path": "" }] },
"expectError": true
},
{
"name": "a-sources-entry-with-two-keys-is-an-error",
"tree": {
"metaobjects/meta.stale.json": "{\"metadata.root\":{\"children\":[]}}",
"custom/meta.real.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": {
"schema_version": 1,
"sources": [{ "path": "custom", "resource": "com/acme/model" }]
},
"expectError": true
},
{
"name": "an-unsupported-schema-version-is-an-error",
"tree": {
"metaobjects/meta.stale.json": "{\"metadata.root\":{\"children\":[]}}",
"model/meta.real.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 2, "sources": [{ "path": "model" }] },
"expectError": true
},
{
"name": "a-non-string-source-value-is-an-error",
"tree": {
"123/meta.real.json": "{\"metadata.root\":{\"children\":[]}}"
},
"config": { "schema_version": 1, "sources": [{ "path": 123 }] },
"expectError": true
},
{
"name": "a-symlinked-sources-path-resolves-through-it",
"tree": {
"real/meta.a.json": "{\"metadata.root\":{\"children\":[]}}"
},
"symlinks": { "link": "real" },
"config": { "schema_version": 1, "sources": [{ "path": "link" }] },
"expectFiles": ["link/meta.a.json"]
},
{
"name": "a-symlinked-subdirectory-inside-a-walked-tree-resolves-through-it",
"tree": {
"model/meta.top.json": "{\"metadata.root\":{\"children\":[]}}",
"external/meta.linked.json": "{\"metadata.root\":{\"children\":[]}}"
},
"symlinks": { "model/linked": "external" },
"config": { "schema_version": 1, "sources": [{ "path": "model" }] },
"expectFiles": ["model/meta.top.json", "model/linked/meta.linked.json"]
},
{
"name": "a-symlink-cycle-is-an-error",
"tree": {
"model/meta.a.json": "{\"metadata.root\":{\"children\":[]}}"
},
"symlinks": { "model/loop": "model" },
"config": { "schema_version": 1, "sources": [{ "path": "model" }] },
"expectError": true,
"errorIsNative": true
}
]
}