aquameta-datum
Version:
Service layer for the Aquameta database API
39 lines • 4.3 kB
JavaScript
import test from 'tape';
import { database } from '../../index.js';
test('#http - parses request', t => {
const req = {
method: 'POST',
url: '/endpoint/v1/relation/test/table?name=value',
body: {
body: true
}
};
const executable = database.http(req);
t.is(executable.method, 'POST');
t.is(executable.url, 'v1/relation/test/table');
t.deepEqual(executable.args, {
name: 'value'
});
t.deepEqual(executable.data, {
body: true
});
t.end();
});
test('#http - parses source url into fn call', t => {
const req = {
url: '/db/widget/widget/Component.js'
};
const executable = database.http(req);
const expectedArgs = [{
vals: ['widget', 'widget', 'js', 'Component']
}];
t.is(executable.method, 'GET');
t.is(executable.url, 'function/endpoint/source');
t.deepEqual(executable.args, {
args: expectedArgs,
source: true
});
t.is(executable.data, null);
t.end();
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4ZWN1dGFibGUuanMiXSwibmFtZXMiOlsidGVzdCIsImRhdGFiYXNlIiwidCIsInJlcSIsIm1ldGhvZCIsInVybCIsImJvZHkiLCJleGVjdXRhYmxlIiwiaHR0cCIsImlzIiwiZGVlcEVxdWFsIiwiYXJncyIsIm5hbWUiLCJkYXRhIiwiZW5kIiwiZXhwZWN0ZWRBcmdzIiwidmFscyIsInNvdXJjZSJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBT0EsSUFBUCxNQUFpQixNQUFqQjtBQUNBLFNBQVFDLFFBQVIsUUFBdUIsZ0JBQXZCO0FBRUFELElBQUksQ0FBQyx3QkFBRCxFQUEyQkUsQ0FBQyxJQUFJO0FBQ2xDLFFBQU1DLEdBQUcsR0FBRztBQUNWQyxJQUFBQSxNQUFNLEVBQUUsTUFERTtBQUVWQyxJQUFBQSxHQUFHLEVBQUUsNkNBRks7QUFHVkMsSUFBQUEsSUFBSSxFQUFFO0FBQUNBLE1BQUFBLElBQUksRUFBRTtBQUFQO0FBSEksR0FBWjtBQU1BLFFBQU1DLFVBQVUsR0FBR04sUUFBUSxDQUFDTyxJQUFULENBQWNMLEdBQWQsQ0FBbkI7QUFFQUQsRUFBQUEsQ0FBQyxDQUFDTyxFQUFGLENBQUtGLFVBQVUsQ0FBQ0gsTUFBaEIsRUFBd0IsTUFBeEI7QUFDQUYsRUFBQUEsQ0FBQyxDQUFDTyxFQUFGLENBQUtGLFVBQVUsQ0FBQ0YsR0FBaEIsRUFBcUIsd0JBQXJCO0FBQ0FILEVBQUFBLENBQUMsQ0FBQ1EsU0FBRixDQUFZSCxVQUFVLENBQUNJLElBQXZCLEVBQTZCO0FBQUNDLElBQUFBLElBQUksRUFBRTtBQUFQLEdBQTdCO0FBQ0FWLEVBQUFBLENBQUMsQ0FBQ1EsU0FBRixDQUFZSCxVQUFVLENBQUNNLElBQXZCLEVBQTZCO0FBQUNQLElBQUFBLElBQUksRUFBRTtBQUFQLEdBQTdCO0FBQ0FKLEVBQUFBLENBQUMsQ0FBQ1ksR0FBRjtBQUNELENBZEcsQ0FBSjtBQWdCQWQsSUFBSSxDQUFDLHdDQUFELEVBQTJDRSxDQUFDLElBQUk7QUFDbEQsUUFBTUMsR0FBRyxHQUFHO0FBQ1ZFLElBQUFBLEdBQUcsRUFBRTtBQURLLEdBQVo7QUFJQSxRQUFNRSxVQUFVLEdBQUdOLFFBQVEsQ0FBQ08sSUFBVCxDQUFjTCxHQUFkLENBQW5CO0FBRUEsUUFBTVksWUFBWSxHQUFHLENBQ25CO0FBQ0VDLElBQUFBLElBQUksRUFBRSxDQUFDLFFBQUQsRUFBVyxRQUFYLEVBQXFCLElBQXJCLEVBQTJCLFdBQTNCO0FBRFIsR0FEbUIsQ0FBckI7QUFNQWQsRUFBQUEsQ0FBQyxDQUFDTyxFQUFGLENBQUtGLFVBQVUsQ0FBQ0gsTUFBaEIsRUFBd0IsS0FBeEI7QUFDQUYsRUFBQUEsQ0FBQyxDQUFDTyxFQUFGLENBQUtGLFVBQVUsQ0FBQ0YsR0FBaEIsRUFBcUIsMEJBQXJCO0FBQ0FILEVBQUFBLENBQUMsQ0FBQ1EsU0FBRixDQUFZSCxVQUFVLENBQUNJLElBQXZCLEVBQTZCO0FBQzNCQSxJQUFBQSxJQUFJLEVBQUVJLFlBRHFCO0FBRTNCRSxJQUFBQSxNQUFNLEVBQUU7QUFGbUIsR0FBN0I7QUFJQWYsRUFBQUEsQ0FBQyxDQUFDTyxFQUFGLENBQUtGLFVBQVUsQ0FBQ00sSUFBaEIsRUFBc0IsSUFBdEI7QUFDQVgsRUFBQUEsQ0FBQyxDQUFDWSxHQUFGO0FBQ0QsQ0FyQkcsQ0FBSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5cbmltcG9ydCB0ZXN0IGZyb20gJ3RhcGUnO1xuaW1wb3J0IHtkYXRhYmFzZX0gZnJvbSAnLi4vLi4vaW5kZXguanMnO1xuXG50ZXN0KCcjaHR0cCAtIHBhcnNlcyByZXF1ZXN0JywgdCA9PiB7XG4gIGNvbnN0IHJlcSA9IHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICB1cmw6ICcvZW5kcG9pbnQvdjEvcmVsYXRpb24vdGVzdC90YWJsZT9uYW1lPXZhbHVlJyxcbiAgICBib2R5OiB7Ym9keTogdHJ1ZX0sXG4gIH07XG5cbiAgY29uc3QgZXhlY3V0YWJsZSA9IGRhdGFiYXNlLmh0dHAocmVxKTtcblxuICB0LmlzKGV4ZWN1dGFibGUubWV0aG9kLCAnUE9TVCcpO1xuICB0LmlzKGV4ZWN1dGFibGUudXJsLCAndjEvcmVsYXRpb24vdGVzdC90YWJsZScpO1xuICB0LmRlZXBFcXVhbChleGVjdXRhYmxlLmFyZ3MsIHtuYW1lOiAndmFsdWUnfSk7XG4gIHQuZGVlcEVxdWFsKGV4ZWN1dGFibGUuZGF0YSwge2JvZHk6IHRydWV9KTtcbiAgdC5lbmQoKTtcbn0pO1xuXG50ZXN0KCcjaHR0cCAtIHBhcnNlcyBzb3VyY2UgdXJsIGludG8gZm4gY2FsbCcsIHQgPT4ge1xuICBjb25zdCByZXEgPSB7XG4gICAgdXJsOiAnL2RiL3dpZGdldC93aWRnZXQvQ29tcG9uZW50LmpzJyxcbiAgfTtcblxuICBjb25zdCBleGVjdXRhYmxlID0gZGF0YWJhc2UuaHR0cChyZXEpO1xuXG4gIGNvbnN0IGV4cGVjdGVkQXJncyA9IFtcbiAgICB7XG4gICAgICB2YWxzOiBbJ3dpZGdldCcsICd3aWRnZXQnLCAnanMnLCAnQ29tcG9uZW50J10sXG4gICAgfSxcbiAgXTtcblxuICB0LmlzKGV4ZWN1dGFibGUubWV0aG9kLCAnR0VUJyk7XG4gIHQuaXMoZXhlY3V0YWJsZS51cmwsICdmdW5jdGlvbi9lbmRwb2ludC9zb3VyY2UnKTtcbiAgdC5kZWVwRXF1YWwoZXhlY3V0YWJsZS5hcmdzLCB7XG4gICAgYXJnczogZXhwZWN0ZWRBcmdzLFxuICAgIHNvdXJjZTogdHJ1ZSxcbiAgfSk7XG4gIHQuaXMoZXhlY3V0YWJsZS5kYXRhLCBudWxsKTtcbiAgdC5lbmQoKTtcbn0pO1xuIl19