realm-object-server
Version:
41 lines • 2.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const virtPath_1 = require("./virtPath");
const chai_1 = require("chai");
describe("mapVirtToRealmPath", () => {
const cases = [
["/var/data", "", null, "path is empty or doesn't start with slash"],
["/var/data", "/", null, "encountered an invalid segment: ''. Error: segment is empty"],
["/var/data", "/.hidden", null, "encountered an invalid segment: '.hidden'. Error: segment starts with dot (.)"],
["/var/data", "/hello/", null, "encountered an invalid segment: ''. Error: segment is empty"],
["/var/data", "/hello/../world", null, "encountered an invalid segment: '..'. Error: segment starts with dot (.)"],
["/var/data", "//", null, "encountered an invalid segment: ''. Error: segment is empty"],
["/var/data", "/hello/./world/", null, "encountered an invalid segment: '.'. Error: segment starts with dot (.)"],
["/var/data", "/hello/world.realm", null, "encountered an invalid segment: 'world.realm'. Error: segment ends with one of .realm, .realm.lock, .realm.management"],
["/var/data", "/hello/world.realm.lock", null, "encountered an invalid segment: 'world.realm.lock'. Error: segment ends with one of .realm, .realm.lock, .realm.management"],
["/var/data", "/hello/world.realm.management", null, "encountered an invalid segment: 'world.realm.management'. Error: segment ends with one of .realm, .realm.lock, .realm.management"],
["/var/data", "/привет", null, "encountered an invalid segment: 'привет'. Error: segment is not composed of alphanumeric characters"],
["/var/data", "/cæt", null, "encountered an invalid segment: 'cæt'. Error: segment is not composed of alphanumeric characters"],
["/var/data", "/hello@world", null, "encountered an invalid segment: 'hello@world'. Error: segment is not composed of alphanumeric characters"],
["/var/data", "/hello/world", "/var/data/hello/world.realm", null],
["/var/data", "/hello", "/var/data/hello.realm", null],
["/var/data", "/hello-._World123", "/var/data/hello-._World123.realm", null],
];
for (const [root, virt, out, expectedError] of cases) {
if (out) {
it(`should resolve ${virt} to ${out}`, () => {
const { path, error } = virtPath_1.mapVirtToRealmPath(root, virt);
chai_1.assert.strictEqual(path, out);
chai_1.assert.isUndefined(error);
});
}
else {
it(`should reject ${virt}`, () => {
const { path, error } = virtPath_1.mapVirtToRealmPath(root, virt);
chai_1.assert.isUndefined(path);
chai_1.assert.strictEqual(error, expectedError);
});
}
}
});
//# sourceMappingURL=virtPath.spec.js.map