UNPKG

@looker/sdk-node

Version:
78 lines 4.2 kB
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); }); }; } import * as fs from 'fs'; import * as process from 'node:process'; import { describe, it } from 'node:test'; import { expect } from 'expect'; import { ApiConfigMap, boolDefault, defaultTimeout } from '@looker/sdk-rtl'; import { TestConfig } from '@looker/sdk-rtl/src/testUtils'; import { NodeTransport } from './nodeTransport'; import { NodeSession } from './nodeSession'; import { ApiConfig, NodeSettings, NodeSettingsIniFile } from './nodeSettings'; var config = TestConfig(); var envPrefix = 'LOOKERSDK'; var localIni = config.localIni; describe('NodeSession', () => { var settings = new NodeSettingsIniFile(envPrefix, localIni, 'Looker'); var transport = new NodeTransport(settings); describe('isAuthenticated', () => { it('unauthenticated logout returns false', _asyncToGenerator(function* () { var session = new NodeSession(settings, transport); expect(session.isAuthenticated()).toEqual(false); var actual = yield session.logout(); expect(actual).toEqual(false); expect(session.isAuthenticated()).toEqual(false); })); }); describe('integration tests', () => { it('initializes', () => { var session = new NodeSession(settings, transport); expect(session.settings).toEqual(settings); expect(session.isAuthenticated()).toEqual(false); expect(session.isSudo()).toEqual(false); }); it('default auth logs in and out with good credentials', _asyncToGenerator(function* () { var session = new NodeSession(settings, transport); expect(session.isAuthenticated()).toEqual(false); var token = yield session.login(); expect(token).toBeDefined(); expect(token.access_token).toBeDefined(); expect(session.isAuthenticated()).toEqual(true); var result = yield session.logout(); expect(result).toEqual(true); expect(session.isAuthenticated()).toEqual(false); })); }); describe('environmental configuration', () => { it('no INI file', _asyncToGenerator(function* () { var section = ApiConfig(fs.readFileSync(localIni, 'utf8')).Looker; var verify_ssl = boolDefault(section.verify_ssl, false).toString(); var envPrefix = 'LOOKERSDK'; var envKey = ApiConfigMap(envPrefix); process.env[envKey.timeout] = section.timeout || 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(envPrefix); expect(settings.base_url).toEqual(section.base_url); expect(settings.timeout.toString()).toEqual(section.timeout || defaultTimeout.toString()); expect(settings.verify_ssl.toString()).toEqual(verify_ssl); var session = new NodeSession(settings, transport); expect(session.isAuthenticated()).toEqual(false); var token = yield session.login(); expect(token).toBeDefined(); expect(token.access_token).toBeDefined(); expect(session.isAuthenticated()).toEqual(true); var result = yield session.logout(); expect(result).toEqual(true); 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