@looker/sdk-node
Version:
Looker SDK Runtime for Node Library
82 lines (81 loc) • 5.57 kB
JavaScript
;
var fs = _interopRequireWildcard(require("fs"));
var process = _interopRequireWildcard(require("node:process"));
var _nodeTest = require("node:test");
var _expect = require("expect");
var _sdkRtl = require("@looker/sdk-rtl");
var _testUtils = require("@looker/sdk-rtl/src/testUtils");
var _nodeTransport = require("./nodeTransport");
var _nodeSession = require("./nodeSession");
var _nodeSettings = require("./nodeSettings");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
var config = (0, _testUtils.TestConfig)();
var envPrefix = 'LOOKERSDK';
var localIni = config.localIni;
(0, _nodeTest.describe)('NodeSession', () => {
var settings = new _nodeSettings.NodeSettingsIniFile(envPrefix, localIni, 'Looker');
var transport = new _nodeTransport.NodeTransport(settings);
(0, _nodeTest.describe)('isAuthenticated', () => {
(0, _nodeTest.it)('unauthenticated logout returns false', _asyncToGenerator(function* () {
var session = new _nodeSession.NodeSession(settings, transport);
(0, _expect.expect)(session.isAuthenticated()).toEqual(false);
var actual = yield session.logout();
(0, _expect.expect)(actual).toEqual(false);
(0, _expect.expect)(session.isAuthenticated()).toEqual(false);
}));
});
(0, _nodeTest.describe)('integration tests', () => {
(0, _nodeTest.it)('initializes', () => {
var session = new _nodeSession.NodeSession(settings, transport);
(0, _expect.expect)(session.settings).toEqual(settings);
(0, _expect.expect)(session.isAuthenticated()).toEqual(false);
(0, _expect.expect)(session.isSudo()).toEqual(false);
});
(0, _nodeTest.it)('default auth logs in and out with good credentials', _asyncToGenerator(function* () {
var session = new _nodeSession.NodeSession(settings, transport);
(0, _expect.expect)(session.isAuthenticated()).toEqual(false);
var token = yield session.login();
(0, _expect.expect)(token).toBeDefined();
(0, _expect.expect)(token.access_token).toBeDefined();
(0, _expect.expect)(session.isAuthenticated()).toEqual(true);
var result = yield session.logout();
(0, _expect.expect)(result).toEqual(true);
(0, _expect.expect)(session.isAuthenticated()).toEqual(false);
}));
});
(0, _nodeTest.describe)('environmental configuration', () => {
(0, _nodeTest.it)('no INI file', _asyncToGenerator(function* () {
var section = (0, _nodeSettings.ApiConfig)(fs.readFileSync(localIni, 'utf8')).Looker;
var verify_ssl = (0, _sdkRtl.boolDefault)(section.verify_ssl, false).toString();
var envPrefix = 'LOOKERSDK';
var envKey = (0, _sdkRtl.ApiConfigMap)(envPrefix);
process.env[envKey.timeout] = section.timeout || _sdkRtl.defaultTimeout.toString();
process.env[envKey.client_id] = section.client_id;
process.env[envKey.client_secret] = section.client_secret;
process.env[envKey.base_url] = section.base_url;
process.env[envKey.verify_ssl] = verify_ssl.toString();
var settings = new _nodeSettings.NodeSettings(envPrefix);
(0, _expect.expect)(settings.base_url).toEqual(section.base_url);
(0, _expect.expect)(settings.timeout.toString()).toEqual(section.timeout || _sdkRtl.defaultTimeout.toString());
(0, _expect.expect)(settings.verify_ssl.toString()).toEqual(verify_ssl);
var session = new _nodeSession.NodeSession(settings, transport);
(0, _expect.expect)(session.isAuthenticated()).toEqual(false);
var token = yield session.login();
(0, _expect.expect)(token).toBeDefined();
(0, _expect.expect)(token.access_token).toBeDefined();
(0, _expect.expect)(session.isAuthenticated()).toEqual(true);
var result = yield session.logout();
(0, _expect.expect)(result).toEqual(true);
(0, _expect.expect)(session.isAuthenticated()).toEqual(false);
delete process.env[envKey.timeout];
delete process.env[envKey.client_id];
delete process.env[envKey.client_secret];
delete process.env[envKey.base_url];
delete process.env[envKey.verify_ssl];
}));
});
});
//# sourceMappingURL=nodeSession.apispec.js.map