aquameta-datum
Version:
Service layer for the Aquameta database API
48 lines • 5.39 kB
JavaScript
import test from 'tape';
import { connection, endpoint, isConnectionClient, isEndpointClient, isInvalidClient } from '../client.js';
const defaultUrl = 'endpoint';
const defaultVersion = 'v1';
test('#client - endpoint', t => {
const c = endpoint();
t.true(isEndpointClient(c));
t.false(isConnectionClient(c));
t.true(!isInvalidClient(c));
t.end();
});
test('#client - merges configs', t => {
const option = 'my-option';
const c = endpoint({
option
});
t.is(c.url, defaultUrl);
t.is(c.version, defaultVersion);
t.is(c.option, option);
t.end();
});
test('#client - connection', t => {
const c = connection();
t.true(isConnectionClient(c));
t.false(isEndpointClient(c));
t.true(!isInvalidClient(c));
t.end();
});
test('#client - isInvalidClient', t => {
t.true(isInvalidClient({}));
t.true(isInvalidClient({
type: new Object()
}));
t.true(isInvalidClient({
type: Symbol('executable')
}));
t.true(!isInvalidClient({
type: Symbol.for('executable')
}));
t.true(isInvalidClient({
connection: true
}));
t.true(isInvalidClient({
endpoint: true
}));
t.end();
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsaWVudC5qcyJdLCJuYW1lcyI6WyJ0ZXN0IiwiY29ubmVjdGlvbiIsImVuZHBvaW50IiwiaXNDb25uZWN0aW9uQ2xpZW50IiwiaXNFbmRwb2ludENsaWVudCIsImlzSW52YWxpZENsaWVudCIsImRlZmF1bHRVcmwiLCJkZWZhdWx0VmVyc2lvbiIsInQiLCJjIiwidHJ1ZSIsImZhbHNlIiwiZW5kIiwib3B0aW9uIiwiaXMiLCJ1cmwiLCJ2ZXJzaW9uIiwidHlwZSIsIk9iamVjdCIsIlN5bWJvbCIsImZvciJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsSUFBUCxNQUFpQixNQUFqQjtBQUNBLFNBQ0VDLFVBREYsRUFFRUMsUUFGRixFQUdFQyxrQkFIRixFQUlFQyxnQkFKRixFQUtFQyxlQUxGLFFBTU8sY0FOUDtBQVFBLE1BQU1DLFVBQVUsR0FBRyxVQUFuQjtBQUNBLE1BQU1DLGNBQWMsR0FBRyxJQUF2QjtBQUVBUCxJQUFJLENBQUMsb0JBQUQsRUFBdUJRLENBQUMsSUFBSTtBQUM5QixRQUFNQyxDQUFDLEdBQUdQLFFBQVEsRUFBbEI7QUFFQU0sRUFBQUEsQ0FBQyxDQUFDRSxJQUFGLENBQU9OLGdCQUFnQixDQUFDSyxDQUFELENBQXZCO0FBQ0FELEVBQUFBLENBQUMsQ0FBQ0csS0FBRixDQUFRUixrQkFBa0IsQ0FBQ00sQ0FBRCxDQUExQjtBQUNBRCxFQUFBQSxDQUFDLENBQUNFLElBQUYsQ0FBTyxDQUFDTCxlQUFlLENBQUNJLENBQUQsQ0FBdkI7QUFDQUQsRUFBQUEsQ0FBQyxDQUFDSSxHQUFGO0FBQ0QsQ0FQRyxDQUFKO0FBU0FaLElBQUksQ0FBQywwQkFBRCxFQUE2QlEsQ0FBQyxJQUFJO0FBQ3BDLFFBQU1LLE1BQU0sR0FBRyxXQUFmO0FBQ0EsUUFBTUosQ0FBQyxHQUFHUCxRQUFRLENBQUM7QUFBQ1csSUFBQUE7QUFBRCxHQUFELENBQWxCO0FBRUFMLEVBQUFBLENBQUMsQ0FBQ00sRUFBRixDQUFLTCxDQUFDLENBQUNNLEdBQVAsRUFBWVQsVUFBWjtBQUNBRSxFQUFBQSxDQUFDLENBQUNNLEVBQUYsQ0FBS0wsQ0FBQyxDQUFDTyxPQUFQLEVBQWdCVCxjQUFoQjtBQUNBQyxFQUFBQSxDQUFDLENBQUNNLEVBQUYsQ0FBS0wsQ0FBQyxDQUFDSSxNQUFQLEVBQWVBLE1BQWY7QUFDQUwsRUFBQUEsQ0FBQyxDQUFDSSxHQUFGO0FBQ0QsQ0FSRyxDQUFKO0FBVUFaLElBQUksQ0FBQyxzQkFBRCxFQUF5QlEsQ0FBQyxJQUFJO0FBQ2hDLFFBQU1DLENBQUMsR0FBR1IsVUFBVSxFQUFwQjtBQUVBTyxFQUFBQSxDQUFDLENBQUNFLElBQUYsQ0FBT1Asa0JBQWtCLENBQUNNLENBQUQsQ0FBekI7QUFDQUQsRUFBQUEsQ0FBQyxDQUFDRyxLQUFGLENBQVFQLGdCQUFnQixDQUFDSyxDQUFELENBQXhCO0FBQ0FELEVBQUFBLENBQUMsQ0FBQ0UsSUFBRixDQUFPLENBQUNMLGVBQWUsQ0FBQ0ksQ0FBRCxDQUF2QjtBQUNBRCxFQUFBQSxDQUFDLENBQUNJLEdBQUY7QUFDRCxDQVBHLENBQUo7QUFTQVosSUFBSSxDQUFDLDJCQUFELEVBQThCUSxDQUFDLElBQUk7QUFDckNBLEVBQUFBLENBQUMsQ0FBQ0UsSUFBRixDQUFPTCxlQUFlLENBQUMsRUFBRCxDQUF0QjtBQUNBRyxFQUFBQSxDQUFDLENBQUNFLElBQUYsQ0FBT0wsZUFBZSxDQUFDO0FBQUNZLElBQUFBLElBQUksRUFBRSxJQUFJQyxNQUFKO0FBQVAsR0FBRCxDQUF0QjtBQUNBVixFQUFBQSxDQUFDLENBQUNFLElBQUYsQ0FBT0wsZUFBZSxDQUFDO0FBQUNZLElBQUFBLElBQUksRUFBRUUsTUFBTSxDQUFDLFlBQUQ7QUFBYixHQUFELENBQXRCO0FBQ0FYLEVBQUFBLENBQUMsQ0FBQ0UsSUFBRixDQUFPLENBQUNMLGVBQWUsQ0FBQztBQUFDWSxJQUFBQSxJQUFJLEVBQUVFLE1BQU0sQ0FBQ0MsR0FBUCxDQUFXLFlBQVg7QUFBUCxHQUFELENBQXZCO0FBQ0FaLEVBQUFBLENBQUMsQ0FBQ0UsSUFBRixDQUFPTCxlQUFlLENBQUM7QUFBQ0osSUFBQUEsVUFBVSxFQUFFO0FBQWIsR0FBRCxDQUF0QjtBQUNBTyxFQUFBQSxDQUFDLENBQUNFLElBQUYsQ0FBT0wsZUFBZSxDQUFDO0FBQUNILElBQUFBLFFBQVEsRUFBRTtBQUFYLEdBQUQsQ0FBdEI7QUFDQU0sRUFBQUEsQ0FBQyxDQUFDSSxHQUFGO0FBQ0QsQ0FSRyxDQUFKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlc3QgZnJvbSAndGFwZSc7XG5pbXBvcnQge1xuICBjb25uZWN0aW9uLFxuICBlbmRwb2ludCxcbiAgaXNDb25uZWN0aW9uQ2xpZW50LFxuICBpc0VuZHBvaW50Q2xpZW50LFxuICBpc0ludmFsaWRDbGllbnQsXG59IGZyb20gJy4uL2NsaWVudC5qcyc7XG5cbmNvbnN0IGRlZmF1bHRVcmwgPSAnZW5kcG9pbnQnO1xuY29uc3QgZGVmYXVsdFZlcnNpb24gPSAndjEnO1xuXG50ZXN0KCcjY2xpZW50IC0gZW5kcG9pbnQnLCB0ID0+IHtcbiAgY29uc3QgYyA9IGVuZHBvaW50KCk7XG5cbiAgdC50cnVlKGlzRW5kcG9pbnRDbGllbnQoYykpO1xuICB0LmZhbHNlKGlzQ29ubmVjdGlvbkNsaWVudChjKSk7XG4gIHQudHJ1ZSghaXNJbnZhbGlkQ2xpZW50KGMpKTtcbiAgdC5lbmQoKTtcbn0pO1xuXG50ZXN0KCcjY2xpZW50IC0gbWVyZ2VzIGNvbmZpZ3MnLCB0ID0+IHtcbiAgY29uc3Qgb3B0aW9uID0gJ215LW9wdGlvbic7XG4gIGNvbnN0IGMgPSBlbmRwb2ludCh7b3B0aW9ufSk7XG5cbiAgdC5pcyhjLnVybCwgZGVmYXVsdFVybCk7XG4gIHQuaXMoYy52ZXJzaW9uLCBkZWZhdWx0VmVyc2lvbik7XG4gIHQuaXMoYy5vcHRpb24sIG9wdGlvbik7XG4gIHQuZW5kKCk7XG59KTtcblxudGVzdCgnI2NsaWVudCAtIGNvbm5lY3Rpb24nLCB0ID0+IHtcbiAgY29uc3QgYyA9IGNvbm5lY3Rpb24oKTtcblxuICB0LnRydWUoaXNDb25uZWN0aW9uQ2xpZW50KGMpKTtcbiAgdC5mYWxzZShpc0VuZHBvaW50Q2xpZW50KGMpKTtcbiAgdC50cnVlKCFpc0ludmFsaWRDbGllbnQoYykpO1xuICB0LmVuZCgpO1xufSk7XG5cbnRlc3QoJyNjbGllbnQgLSBpc0ludmFsaWRDbGllbnQnLCB0ID0+IHtcbiAgdC50cnVlKGlzSW52YWxpZENsaWVudCh7fSkpO1xuICB0LnRydWUoaXNJbnZhbGlkQ2xpZW50KHt0eXBlOiBuZXcgT2JqZWN0KCl9KSk7XG4gIHQudHJ1ZShpc0ludmFsaWRDbGllbnQoe3R5cGU6IFN5bWJvbCgnZXhlY3V0YWJsZScpfSkpO1xuICB0LnRydWUoIWlzSW52YWxpZENsaWVudCh7dHlwZTogU3ltYm9sLmZvcignZXhlY3V0YWJsZScpfSkpO1xuICB0LnRydWUoaXNJbnZhbGlkQ2xpZW50KHtjb25uZWN0aW9uOiB0cnVlfSkpO1xuICB0LnRydWUoaXNJbnZhbGlkQ2xpZW50KHtlbmRwb2ludDogdHJ1ZX0pKTtcbiAgdC5lbmQoKTtcbn0pO1xuIl19