-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.js
More file actions
48 lines (40 loc) · 1.33 KB
/
test.js
File metadata and controls
48 lines (40 loc) · 1.33 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
/* eslint-env mocha */
const assert = require("assert");
const validator = require("./index.js");
describe("Validator", ()=>{
describe("Bucket", ()=>{
it("validates invalid chars", ()=>{
assert(!validator.validateBucket("abcd/e"));
assert(!validator.validateBucket("abcd!e"));
});
});
it("validates google spoof", ()=>{
assert(!validator.validateBucket("abcg0og1e"));
});
it("validates length", ()=>{
assert(!validator.validateBucket("a"));
assert(validator.validateBucket("abc"));
});
describe("Object", ()=>{
it("validates length", ()=>{
assert(!validator.validateObject(""));
assert(!validator.validateObject("a".repeat("1025")));
});
it("validates invalid chars", ()=>{
assert(!validator.validateObject("aaa\n"));
});
});
describe("Filepath", ()=>{
it("validates acceptable bucket/object string", ()=>{
assert(validator.validateFilepath("my-bucket/my-folder/my-file"));
assert(validator.validateFilepath("my-bucket/my-file"));
});
it("validates bucket/object string missing object", ()=>{
assert(!validator.validateFilepath("abc"));
assert(!validator.validateFilepath("abc/"));
});
it("validates bucket/object object", ()=>{
assert(validator.validateFilepath({bucket: "my-bucket", object: "my-file"}));
});
});
});