UNPKG

@looker/sdk-node

Version:
82 lines (81 loc) 5.57 kB
"use strict"; 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