@looker/sdk-node 24.16.1 → 24.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,34 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [24.18.0](https://github.com/looker-open-source/sdk-codegen/compare/sdk-node-v24.16.2...sdk-node-v24.18.0) (2024-10-11)
9
+
10
+
11
+ ### Miscellaneous Chores
12
+
13
+ * **sdk-node:** Synchronize undefined versions
14
+
15
+
16
+ ### Dependencies
17
+
18
+ * The following workspace dependencies were updated
19
+ * dependencies
20
+ * @looker/sdk bumped from 24.16.2 to 24.18.0
21
+
22
+ ## [24.16.2](https://github.com/looker-open-source/sdk-codegen/compare/sdk-node-v24.16.1...sdk-node-v24.16.2) (2024-09-16)
23
+
24
+
25
+ ### Features
26
+
27
+ * allow node 20 for the TS SDK ([#1506](https://github.com/looker-open-source/sdk-codegen/issues/1506)) ([d4deac4](https://github.com/looker-open-source/sdk-codegen/commit/d4deac485ff3bf748924ab747a6aee0d47581e10))
28
+
29
+
30
+ ### Dependencies
31
+
32
+ * The following workspace dependencies were updated
33
+ * dependencies
34
+ * @looker/sdk bumped from 24.16.1 to 24.16.2
35
+
8
36
  ## [24.16.1](https://github.com/looker-open-source/sdk-codegen/compare/sdk-node-v24.16.0...sdk-node-v24.16.1) (2024-09-14)
9
37
 
10
38
 
package/README.md CHANGED
@@ -201,9 +201,9 @@ The [deprecated NodeJS `request` package](https://www.npmjs.com/package/request)
201
201
  The streaming method callback signature changed from `(readable: Readable) => Promise<x>` to `(response: Response) => Promise<x>`. Using `Response` as the parameter to the callback greatly
202
202
  increases the flexibility of streaming implementations and provides other valuable information like `Content-Type` and other headers to the streaming callback.
203
203
 
204
- For the Browser SDK (`@looker/sdk`), the standard `fetch` function is still used. For the Node SDK (`@looker/sdk-node`), the global [`fetch`](https://nodejs.org/api/globals.html#fetch) function from NodeJS v22 is used.
204
+ For the Browser SDK (`@looker/sdk`), the standard `fetch` function is still used. For the Node SDK (`@looker/sdk-node`), the global [`fetch`](https://nodejs.org/api/globals.html#fetch) function from NodeJS is used, which was marked **stable** in version 22.
205
205
 
206
- This means the Looker Node SDK now uses NodeJS v22.
206
+ This means the Looker Node SDK now requires Node 20 or above.
207
207
 
208
208
  The streaming version of the SDK methods should be initialized using the same `AuthSession` as the main SDK to reduce authentication thrashing.
209
209
 
@@ -75,4 +75,4 @@ describe('NodeSession', () => {
75
75
  }));
76
76
  });
77
77
  });
78
- //# sourceMappingURL=nodeSession.apitest.js.map
78
+ //# sourceMappingURL=nodeSession.apispec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeSession.apitest.js","names":["fs","process","describe","it","expect","ApiConfigMap","boolDefault","defaultTimeout","TestConfig","NodeTransport","NodeSession","ApiConfig","NodeSettings","NodeSettingsIniFile","config","envPrefix","localIni","settings","transport","_asyncToGenerator","session","isAuthenticated","toEqual","actual","logout","isSudo","token","login","toBeDefined","access_token","result","section","readFileSync","Looker","verify_ssl","toString","envKey","env","timeout","client_id","client_secret","base_url"],"sources":["../../src/nodeSession.apitest.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport * as fs from 'fs';\nimport * as process from 'node:process';\nimport { describe, it } from 'node:test';\nimport { expect } from 'expect';\nimport { ApiConfigMap, boolDefault, defaultTimeout } from '@looker/sdk-rtl';\nimport { TestConfig } from '@looker/sdk-rtl/src/testUtils';\nimport { NodeTransport } from './nodeTransport';\nimport { NodeSession } from './nodeSession';\nimport { ApiConfig, NodeSettings, NodeSettingsIniFile } from './nodeSettings';\n\nconst config = TestConfig();\nconst envPrefix = 'LOOKERSDK';\nconst localIni = config.localIni;\n\ndescribe('NodeSession', () => {\n const settings = new NodeSettingsIniFile(envPrefix, localIni, 'Looker');\n const transport = new NodeTransport(settings);\n\n describe('isAuthenticated', () => {\n it('unauthenticated logout returns false', async () => {\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const actual = await session.logout();\n expect(actual).toEqual(false);\n expect(session.isAuthenticated()).toEqual(false);\n });\n });\n\n describe('integration tests', () => {\n it('initializes', () => {\n const session = new NodeSession(settings, transport);\n expect(session.settings).toEqual(settings);\n expect(session.isAuthenticated()).toEqual(false);\n expect(session.isSudo()).toEqual(false);\n });\n\n it('default auth logs in and out with good credentials', async () => {\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const token = await session.login();\n expect(token).toBeDefined();\n expect(token.access_token).toBeDefined();\n expect(session.isAuthenticated()).toEqual(true);\n const result = await session.logout();\n expect(result).toEqual(true);\n expect(session.isAuthenticated()).toEqual(false);\n });\n });\n\n describe('environmental configuration', () => {\n it('no INI file', async () => {\n const section = ApiConfig(fs.readFileSync(localIni, 'utf8')).Looker;\n const verify_ssl = boolDefault(section.verify_ssl, false).toString();\n const envPrefix = 'LOOKERSDK';\n const envKey = ApiConfigMap(envPrefix);\n // populate environment variables\n process.env[envKey.timeout] =\n section.timeout || defaultTimeout.toString();\n process.env[envKey.client_id] = section.client_id;\n process.env[envKey.client_secret] = section.client_secret;\n process.env[envKey.base_url] = section.base_url;\n process.env[envKey.verify_ssl] = verify_ssl.toString();\n\n const settings = new NodeSettings(envPrefix);\n expect(settings.base_url).toEqual(section.base_url);\n expect(settings.timeout.toString()).toEqual(\n section.timeout || defaultTimeout.toString()\n );\n expect(settings.verify_ssl.toString()).toEqual(verify_ssl);\n\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const token = await session.login();\n expect(token).toBeDefined();\n expect(token.access_token).toBeDefined();\n expect(session.isAuthenticated()).toEqual(true);\n const result = await session.logout();\n expect(result).toEqual(true);\n expect(session.isAuthenticated()).toEqual(false);\n\n // reset environment variables\n delete process.env[envKey.timeout];\n delete process.env[envKey.client_id];\n delete process.env[envKey.client_secret];\n delete process.env[envKey.base_url];\n delete process.env[envKey.verify_ssl];\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"nodeSession.apispec.js","names":["fs","process","describe","it","expect","ApiConfigMap","boolDefault","defaultTimeout","TestConfig","NodeTransport","NodeSession","ApiConfig","NodeSettings","NodeSettingsIniFile","config","envPrefix","localIni","settings","transport","_asyncToGenerator","session","isAuthenticated","toEqual","actual","logout","isSudo","token","login","toBeDefined","access_token","result","section","readFileSync","Looker","verify_ssl","toString","envKey","env","timeout","client_id","client_secret","base_url"],"sources":["../../src/nodeSession.apispec.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport * as fs from 'fs';\nimport * as process from 'node:process';\nimport { describe, it } from 'node:test';\nimport { expect } from 'expect';\nimport { ApiConfigMap, boolDefault, defaultTimeout } from '@looker/sdk-rtl';\nimport { TestConfig } from '@looker/sdk-rtl/src/testUtils';\nimport { NodeTransport } from './nodeTransport';\nimport { NodeSession } from './nodeSession';\nimport { ApiConfig, NodeSettings, NodeSettingsIniFile } from './nodeSettings';\n\nconst config = TestConfig();\nconst envPrefix = 'LOOKERSDK';\nconst localIni = config.localIni;\n\ndescribe('NodeSession', () => {\n const settings = new NodeSettingsIniFile(envPrefix, localIni, 'Looker');\n const transport = new NodeTransport(settings);\n\n describe('isAuthenticated', () => {\n it('unauthenticated logout returns false', async () => {\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const actual = await session.logout();\n expect(actual).toEqual(false);\n expect(session.isAuthenticated()).toEqual(false);\n });\n });\n\n describe('integration tests', () => {\n it('initializes', () => {\n const session = new NodeSession(settings, transport);\n expect(session.settings).toEqual(settings);\n expect(session.isAuthenticated()).toEqual(false);\n expect(session.isSudo()).toEqual(false);\n });\n\n it('default auth logs in and out with good credentials', async () => {\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const token = await session.login();\n expect(token).toBeDefined();\n expect(token.access_token).toBeDefined();\n expect(session.isAuthenticated()).toEqual(true);\n const result = await session.logout();\n expect(result).toEqual(true);\n expect(session.isAuthenticated()).toEqual(false);\n });\n });\n\n describe('environmental configuration', () => {\n it('no INI file', async () => {\n const section = ApiConfig(fs.readFileSync(localIni, 'utf8')).Looker;\n const verify_ssl = boolDefault(section.verify_ssl, false).toString();\n const envPrefix = 'LOOKERSDK';\n const envKey = ApiConfigMap(envPrefix);\n // populate environment variables\n process.env[envKey.timeout] =\n section.timeout || defaultTimeout.toString();\n process.env[envKey.client_id] = section.client_id;\n process.env[envKey.client_secret] = section.client_secret;\n process.env[envKey.base_url] = section.base_url;\n process.env[envKey.verify_ssl] = verify_ssl.toString();\n\n const settings = new NodeSettings(envPrefix);\n expect(settings.base_url).toEqual(section.base_url);\n expect(settings.timeout.toString()).toEqual(\n section.timeout || defaultTimeout.toString()\n );\n expect(settings.verify_ssl.toString()).toEqual(verify_ssl);\n\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const token = await session.login();\n expect(token).toBeDefined();\n expect(token.access_token).toBeDefined();\n expect(session.isAuthenticated()).toEqual(true);\n const result = await session.logout();\n expect(result).toEqual(true);\n expect(session.isAuthenticated()).toEqual(false);\n\n // reset environment variables\n delete process.env[envKey.timeout];\n delete process.env[envKey.client_id];\n delete process.env[envKey.client_secret];\n delete process.env[envKey.base_url];\n delete process.env[envKey.verify_ssl];\n });\n });\n});\n"],"mappings":"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"}
@@ -124,4 +124,4 @@ describe('NodeTransport', () => {
124
124
  }));
125
125
  });
126
126
  });
127
- //# sourceMappingURL=nodeTransport.apitest.js.map
127
+ //# sourceMappingURL=nodeTransport.apispec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeTransport.apitest.js","names":["describe","it","expect","StatusCode","sdkOk","NodeCryptoHash","NodeTransport","hostname","settings","base_url","xp","fullPath","badPath","_asyncToGenerator","response","rawRequest","toBeDefined","ok","toEqual","method","statusCode","statusMessage","contentType","toContain","body","html","errorMessage","request","content","value","raw","headers","url","OK","requestStarted","responseCompleted","IMUsed","actual","resp","untyped","parseResponse","string1","toBe","num1","string2","num2","string3","num3","string4","num4","typed","hasher","rand1","secureRandom","length","rand2","message","hash","sha256Hash"],"sources":["../../src/nodeTransport.apitest.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport { describe, it } from 'node:test';\nimport { expect } from 'expect';\nimport type {\n IRawResponse,\n ISDKError,\n ITransportSettings,\n} from '@looker/sdk-rtl';\nimport { StatusCode, sdkOk } from '@looker/sdk-rtl';\nimport { NodeCryptoHash, NodeTransport } from './nodeTransport';\n\ndescribe('NodeTransport', () => {\n const hostname = 'https://looker.sdk';\n const settings = { base_url: hostname } as ITransportSettings;\n const xp = new NodeTransport(settings);\n const fullPath = 'https://github.com/looker-open-source/sdk-codegen';\n const badPath = fullPath + '_bogus';\n // const queryParams = { a: 'b c', d: false, nil: null, skip: undefined }\n\n it('raw request retrieves fully qualified url', async () => {\n const response = await xp.rawRequest('GET', fullPath);\n expect(response).toBeDefined();\n expect(response.ok).toEqual(true);\n expect(response.method).toEqual('GET');\n expect(response.statusCode).toEqual(200);\n expect(response.statusMessage).toEqual('OK');\n expect(response.contentType).toContain('text/html');\n expect(response.body).toBeDefined();\n const html = await response.body;\n expect(html).toContain(\n 'One SDK to rule them all, and in the codegen bind them'\n );\n });\n\n describe('transport errors', () => {\n it('gracefully handles transport errors', async () => {\n const response = await xp.rawRequest('GET', badPath);\n const errorMessage = 'Not Found';\n expect(response).toBeDefined();\n expect(response.ok).toEqual(false);\n expect(response.method).toEqual('GET');\n expect(response.statusCode).toEqual(404);\n expect(response.body).toBeDefined();\n expect(response.statusMessage).toEqual(errorMessage);\n });\n });\n\n it('retrieves fully qualified url', async () => {\n const response = await xp.request<string, Error>('GET', fullPath);\n expect(response).toBeDefined();\n expect(response.ok).toEqual(true);\n if (response.ok) {\n const content = response.value;\n expect(content).toContain(\n 'One SDK to rule them all, and in the codegen bind them'\n );\n }\n });\n\n describe('ok check', () => {\n const raw: IRawResponse = {\n method: 'GET',\n contentType: 'application/json',\n headers: {},\n url: 'bogus',\n ok: true,\n statusCode: StatusCode.OK,\n statusMessage: 'Mocked success',\n body: 'body',\n requestStarted: 1000,\n responseCompleted: 2000,\n };\n\n it('ok is ok', () => {\n expect(xp.ok(raw)).toEqual(true);\n });\n\n it('All 2xx responses are ok', () => {\n raw.statusCode = StatusCode.IMUsed;\n expect(xp.ok(raw)).toEqual(true);\n });\n\n it('Non-2xx responses are not ok', () => {\n raw.statusCode = 422;\n expect(xp.ok(raw)).toEqual(false);\n });\n });\n\n it('does a standard get', async () => {\n const xp = new NodeTransport({} as ITransportSettings);\n const actual = await xp.rawRequest('GET', 'https://example.com');\n expect(actual).toBeDefined();\n });\n\n it('just deserializes JSON into an object', async () => {\n const xp = new NodeTransport({} as ITransportSettings);\n interface ITestModel {\n string1: string;\n num1: number;\n string2: string;\n num2: number;\n string3: string;\n num3: number;\n }\n const resp: IRawResponse = {\n headers: {},\n url: '',\n ok: true,\n contentType: 'application/json',\n statusCode: 200,\n statusMessage: 'mock',\n method: 'GET',\n body: `\n{\n \"string1\": 1,\n \"num1\": 1,\n \"string2\": \"2\",\n \"num2\": \"2\",\n \"string3\": \"3\",\n \"num3\": 3,\n \"string4\": \"4\",\n \"num4\": 4\n}\n`,\n requestStarted: 1000,\n responseCompleted: 2000,\n };\n const untyped: any = await sdkOk(xp.parseResponse(resp));\n expect(untyped.string1).toBe(1);\n expect(untyped.num1).toBe(1);\n expect(untyped.string2).toBe('2');\n expect(untyped.num2).toBe('2');\n expect(untyped.string3).toBe('3');\n expect(untyped.num3).toBe(3);\n expect(untyped.string4).toBe('4');\n expect(untyped.num4).toBe(4);\n const typed = await sdkOk(xp.parseResponse<ITestModel, ISDKError>(resp));\n expect(typed.string1).toBe(1);\n expect(typed.num1).toBe(1);\n expect(typed.string2).toBe('2');\n expect(typed.num2).toBe('2');\n expect(typed.string3).toBe('3');\n expect(typed.num3).toBe(3);\n expect((typed as any).string4).toBe('4');\n expect((typed as any).num4).toBe(4);\n });\n describe('NodeCryptoHash', () => {\n it('secureRandom', () => {\n const hasher = new NodeCryptoHash();\n const rand1 = hasher.secureRandom(5);\n expect(rand1.length).toEqual(10);\n const rand2 = hasher.secureRandom(32);\n expect(rand2.length).toEqual(64);\n });\n\n it('sha256hash', async () => {\n const hasher = new NodeCryptoHash();\n const message = 'The quick brown fox jumped over the lazy dog.';\n const hash = await hasher.sha256Hash(message);\n expect(hash).toEqual('aLEoK5HeLAVMNmKcuN1EfxLwltPjxYeXjcIkhERjNIM=');\n });\n });\n});\n"],"mappings":";;AA0BA,SAASA,QAAQ,EAAEC,EAAE,QAAQ,WAAW;AACxC,SAASC,MAAM,QAAQ,QAAQ;AAM/B,SAASC,UAAU,EAAEC,KAAK,QAAQ,iBAAiB;AACnD,SAASC,cAAc,EAAEC,aAAa,QAAQ,iBAAiB;AAE/DN,QAAQ,CAAC,eAAe,EAAE,MAAM;EAC9B,IAAMO,QAAQ,GAAG,oBAAoB;EACrC,IAAMC,QAAQ,GAAG;IAAEC,QAAQ,EAAEF;EAAS,CAAuB;EAC7D,IAAMG,EAAE,GAAG,IAAIJ,aAAa,CAACE,QAAQ,CAAC;EACtC,IAAMG,QAAQ,GAAG,mDAAmD;EACpE,IAAMC,OAAO,GAAGD,QAAQ,GAAG,QAAQ;EAGnCV,EAAE,CAAC,2CAA2C,EAAAY,iBAAA,CAAE,aAAY;IAC1D,IAAMC,QAAQ,SAASJ,EAAE,CAACK,UAAU,CAAC,KAAK,EAAEJ,QAAQ,CAAC;IACrDT,MAAM,CAACY,QAAQ,CAAC,CAACE,WAAW,CAAC,CAAC;IAC9Bd,MAAM,CAACY,QAAQ,CAACG,EAAE,CAAC,CAACC,OAAO,CAAC,IAAI,CAAC;IACjChB,MAAM,CAACY,QAAQ,CAACK,MAAM,CAAC,CAACD,OAAO,CAAC,KAAK,CAAC;IACtChB,MAAM,CAACY,QAAQ,CAACM,UAAU,CAAC,CAACF,OAAO,CAAC,GAAG,CAAC;IACxChB,MAAM,CAACY,QAAQ,CAACO,aAAa,CAAC,CAACH,OAAO,CAAC,IAAI,CAAC;IAC5ChB,MAAM,CAACY,QAAQ,CAACQ,WAAW,CAAC,CAACC,SAAS,CAAC,WAAW,CAAC;IACnDrB,MAAM,CAACY,QAAQ,CAACU,IAAI,CAAC,CAACR,WAAW,CAAC,CAAC;IACnC,IAAMS,IAAI,SAASX,QAAQ,CAACU,IAAI;IAChCtB,MAAM,CAACuB,IAAI,CAAC,CAACF,SAAS,CACpB,wDACF,CAAC;EACH,CAAC,EAAC;EAEFvB,QAAQ,CAAC,kBAAkB,EAAE,MAAM;IACjCC,EAAE,CAAC,qCAAqC,EAAAY,iBAAA,CAAE,aAAY;MACpD,IAAMC,QAAQ,SAASJ,EAAE,CAACK,UAAU,CAAC,KAAK,EAAEH,OAAO,CAAC;MACpD,IAAMc,YAAY,GAAG,WAAW;MAChCxB,MAAM,CAACY,QAAQ,CAAC,CAACE,WAAW,CAAC,CAAC;MAC9Bd,MAAM,CAACY,QAAQ,CAACG,EAAE,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;MAClChB,MAAM,CAACY,QAAQ,CAACK,MAAM,CAAC,CAACD,OAAO,CAAC,KAAK,CAAC;MACtChB,MAAM,CAACY,QAAQ,CAACM,UAAU,CAAC,CAACF,OAAO,CAAC,GAAG,CAAC;MACxChB,MAAM,CAACY,QAAQ,CAACU,IAAI,CAAC,CAACR,WAAW,CAAC,CAAC;MACnCd,MAAM,CAACY,QAAQ,CAACO,aAAa,CAAC,CAACH,OAAO,CAACQ,YAAY,CAAC;IACtD,CAAC,EAAC;EACJ,CAAC,CAAC;EAEFzB,EAAE,CAAC,+BAA+B,EAAAY,iBAAA,CAAE,aAAY;IAC9C,IAAMC,QAAQ,SAASJ,EAAE,CAACiB,OAAO,CAAgB,KAAK,EAAEhB,QAAQ,CAAC;IACjET,MAAM,CAACY,QAAQ,CAAC,CAACE,WAAW,CAAC,CAAC;IAC9Bd,MAAM,CAACY,QAAQ,CAACG,EAAE,CAAC,CAACC,OAAO,CAAC,IAAI,CAAC;IACjC,IAAIJ,QAAQ,CAACG,EAAE,EAAE;MACf,IAAMW,OAAO,GAAGd,QAAQ,CAACe,KAAK;MAC9B3B,MAAM,CAAC0B,OAAO,CAAC,CAACL,SAAS,CACvB,wDACF,CAAC;IACH;EACF,CAAC,EAAC;EAEFvB,QAAQ,CAAC,UAAU,EAAE,MAAM;IACzB,IAAM8B,GAAiB,GAAG;MACxBX,MAAM,EAAE,KAAK;MACbG,WAAW,EAAE,kBAAkB;MAC/BS,OAAO,EAAE,CAAC,CAAC;MACXC,GAAG,EAAE,OAAO;MACZf,EAAE,EAAE,IAAI;MACRG,UAAU,EAAEjB,UAAU,CAAC8B,EAAE;MACzBZ,aAAa,EAAE,gBAAgB;MAC/BG,IAAI,EAAE,MAAM;MACZU,cAAc,EAAE,IAAI;MACpBC,iBAAiB,EAAE;IACrB,CAAC;IAEDlC,EAAE,CAAC,UAAU,EAAE,MAAM;MACnBC,MAAM,CAACQ,EAAE,CAACO,EAAE,CAACa,GAAG,CAAC,CAAC,CAACZ,OAAO,CAAC,IAAI,CAAC;IAClC,CAAC,CAAC;IAEFjB,EAAE,CAAC,0BAA0B,EAAE,MAAM;MACnC6B,GAAG,CAACV,UAAU,GAAGjB,UAAU,CAACiC,MAAM;MAClClC,MAAM,CAACQ,EAAE,CAACO,EAAE,CAACa,GAAG,CAAC,CAAC,CAACZ,OAAO,CAAC,IAAI,CAAC;IAClC,CAAC,CAAC;IAEFjB,EAAE,CAAC,8BAA8B,EAAE,MAAM;MACvC6B,GAAG,CAACV,UAAU,GAAG,GAAG;MACpBlB,MAAM,CAACQ,EAAE,CAACO,EAAE,CAACa,GAAG,CAAC,CAAC,CAACZ,OAAO,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFjB,EAAE,CAAC,qBAAqB,EAAAY,iBAAA,CAAE,aAAY;IACpC,IAAMH,EAAE,GAAG,IAAIJ,aAAa,CAAC,CAAC,CAAuB,CAAC;IACtD,IAAM+B,MAAM,SAAS3B,EAAE,CAACK,UAAU,CAAC,KAAK,EAAE,qBAAqB,CAAC;IAChEb,MAAM,CAACmC,MAAM,CAAC,CAACrB,WAAW,CAAC,CAAC;EAC9B,CAAC,EAAC;EAEFf,EAAE,CAAC,uCAAuC,EAAAY,iBAAA,CAAE,aAAY;IACtD,IAAMH,EAAE,GAAG,IAAIJ,aAAa,CAAC,CAAC,CAAuB,CAAC;IAStD,IAAMgC,IAAkB,GAAG;MACzBP,OAAO,EAAE,CAAC,CAAC;MACXC,GAAG,EAAE,EAAE;MACPf,EAAE,EAAE,IAAI;MACRK,WAAW,EAAE,kBAAkB;MAC/BF,UAAU,EAAE,GAAG;MACfC,aAAa,EAAE,MAAM;MACrBF,MAAM,EAAE,KAAK;MACbK,IAAI,uKAWT;MACKU,cAAc,EAAE,IAAI;MACpBC,iBAAiB,EAAE;IACrB,CAAC;IACD,IAAMI,OAAY,SAASnC,KAAK,CAACM,EAAE,CAAC8B,aAAa,CAACF,IAAI,CAAC,CAAC;IACxDpC,MAAM,CAACqC,OAAO,CAACE,OAAO,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;IAC/BxC,MAAM,CAACqC,OAAO,CAACI,IAAI,CAAC,CAACD,IAAI,CAAC,CAAC,CAAC;IAC5BxC,MAAM,CAACqC,OAAO,CAACK,OAAO,CAAC,CAACF,IAAI,CAAC,GAAG,CAAC;IACjCxC,MAAM,CAACqC,OAAO,CAACM,IAAI,CAAC,CAACH,IAAI,CAAC,GAAG,CAAC;IAC9BxC,MAAM,CAACqC,OAAO,CAACO,OAAO,CAAC,CAACJ,IAAI,CAAC,GAAG,CAAC;IACjCxC,MAAM,CAACqC,OAAO,CAACQ,IAAI,CAAC,CAACL,IAAI,CAAC,CAAC,CAAC;IAC5BxC,MAAM,CAACqC,OAAO,CAACS,OAAO,CAAC,CAACN,IAAI,CAAC,GAAG,CAAC;IACjCxC,MAAM,CAACqC,OAAO,CAACU,IAAI,CAAC,CAACP,IAAI,CAAC,CAAC,CAAC;IAC5B,IAAMQ,KAAK,SAAS9C,KAAK,CAACM,EAAE,CAAC8B,aAAa,CAAwBF,IAAI,CAAC,CAAC;IACxEpC,MAAM,CAACgD,KAAK,CAACT,OAAO,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;IAC7BxC,MAAM,CAACgD,KAAK,CAACP,IAAI,CAAC,CAACD,IAAI,CAAC,CAAC,CAAC;IAC1BxC,MAAM,CAACgD,KAAK,CAACN,OAAO,CAAC,CAACF,IAAI,CAAC,GAAG,CAAC;IAC/BxC,MAAM,CAACgD,KAAK,CAACL,IAAI,CAAC,CAACH,IAAI,CAAC,GAAG,CAAC;IAC5BxC,MAAM,CAACgD,KAAK,CAACJ,OAAO,CAAC,CAACJ,IAAI,CAAC,GAAG,CAAC;IAC/BxC,MAAM,CAACgD,KAAK,CAACH,IAAI,CAAC,CAACL,IAAI,CAAC,CAAC,CAAC;IAC1BxC,MAAM,CAAEgD,KAAK,CAASF,OAAO,CAAC,CAACN,IAAI,CAAC,GAAG,CAAC;IACxCxC,MAAM,CAAEgD,KAAK,CAASD,IAAI,CAAC,CAACP,IAAI,CAAC,CAAC,CAAC;EACrC,CAAC,EAAC;EACF1C,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAC/BC,EAAE,CAAC,cAAc,EAAE,MAAM;MACvB,IAAMkD,MAAM,GAAG,IAAI9C,cAAc,CAAC,CAAC;MACnC,IAAM+C,KAAK,GAAGD,MAAM,CAACE,YAAY,CAAC,CAAC,CAAC;MACpCnD,MAAM,CAACkD,KAAK,CAACE,MAAM,CAAC,CAACpC,OAAO,CAAC,EAAE,CAAC;MAChC,IAAMqC,KAAK,GAAGJ,MAAM,CAACE,YAAY,CAAC,EAAE,CAAC;MACrCnD,MAAM,CAACqD,KAAK,CAACD,MAAM,CAAC,CAACpC,OAAO,CAAC,EAAE,CAAC;IAClC,CAAC,CAAC;IAEFjB,EAAE,CAAC,YAAY,EAAAY,iBAAA,CAAE,aAAY;MAC3B,IAAMsC,MAAM,GAAG,IAAI9C,cAAc,CAAC,CAAC;MACnC,IAAMmD,OAAO,GAAG,+CAA+C;MAC/D,IAAMC,IAAI,SAASN,MAAM,CAACO,UAAU,CAACF,OAAO,CAAC;MAC7CtD,MAAM,CAACuD,IAAI,CAAC,CAACvC,OAAO,CAAC,8CAA8C,CAAC;IACtE,CAAC,EAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"nodeTransport.apispec.js","names":["describe","it","expect","StatusCode","sdkOk","NodeCryptoHash","NodeTransport","hostname","settings","base_url","xp","fullPath","badPath","_asyncToGenerator","response","rawRequest","toBeDefined","ok","toEqual","method","statusCode","statusMessage","contentType","toContain","body","html","errorMessage","request","content","value","raw","headers","url","OK","requestStarted","responseCompleted","IMUsed","actual","resp","untyped","parseResponse","string1","toBe","num1","string2","num2","string3","num3","string4","num4","typed","hasher","rand1","secureRandom","length","rand2","message","hash","sha256Hash"],"sources":["../../src/nodeTransport.apispec.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport { describe, it } from 'node:test';\nimport { expect } from 'expect';\nimport type {\n IRawResponse,\n ISDKError,\n ITransportSettings,\n} from '@looker/sdk-rtl';\nimport { StatusCode, sdkOk } from '@looker/sdk-rtl';\nimport { NodeCryptoHash, NodeTransport } from './nodeTransport';\n\ndescribe('NodeTransport', () => {\n const hostname = 'https://looker.sdk';\n const settings = { base_url: hostname } as ITransportSettings;\n const xp = new NodeTransport(settings);\n const fullPath = 'https://github.com/looker-open-source/sdk-codegen';\n const badPath = fullPath + '_bogus';\n // const queryParams = { a: 'b c', d: false, nil: null, skip: undefined }\n\n it('raw request retrieves fully qualified url', async () => {\n const response = await xp.rawRequest('GET', fullPath);\n expect(response).toBeDefined();\n expect(response.ok).toEqual(true);\n expect(response.method).toEqual('GET');\n expect(response.statusCode).toEqual(200);\n expect(response.statusMessage).toEqual('OK');\n expect(response.contentType).toContain('text/html');\n expect(response.body).toBeDefined();\n const html = await response.body;\n expect(html).toContain(\n 'One SDK to rule them all, and in the codegen bind them'\n );\n });\n\n describe('transport errors', () => {\n it('gracefully handles transport errors', async () => {\n const response = await xp.rawRequest('GET', badPath);\n const errorMessage = 'Not Found';\n expect(response).toBeDefined();\n expect(response.ok).toEqual(false);\n expect(response.method).toEqual('GET');\n expect(response.statusCode).toEqual(404);\n expect(response.body).toBeDefined();\n expect(response.statusMessage).toEqual(errorMessage);\n });\n });\n\n it('retrieves fully qualified url', async () => {\n const response = await xp.request<string, Error>('GET', fullPath);\n expect(response).toBeDefined();\n expect(response.ok).toEqual(true);\n if (response.ok) {\n const content = response.value;\n expect(content).toContain(\n 'One SDK to rule them all, and in the codegen bind them'\n );\n }\n });\n\n describe('ok check', () => {\n const raw: IRawResponse = {\n method: 'GET',\n contentType: 'application/json',\n headers: {},\n url: 'bogus',\n ok: true,\n statusCode: StatusCode.OK,\n statusMessage: 'Mocked success',\n body: 'body',\n requestStarted: 1000,\n responseCompleted: 2000,\n };\n\n it('ok is ok', () => {\n expect(xp.ok(raw)).toEqual(true);\n });\n\n it('All 2xx responses are ok', () => {\n raw.statusCode = StatusCode.IMUsed;\n expect(xp.ok(raw)).toEqual(true);\n });\n\n it('Non-2xx responses are not ok', () => {\n raw.statusCode = 422;\n expect(xp.ok(raw)).toEqual(false);\n });\n });\n\n it('does a standard get', async () => {\n const xp = new NodeTransport({} as ITransportSettings);\n const actual = await xp.rawRequest('GET', 'https://example.com');\n expect(actual).toBeDefined();\n });\n\n it('just deserializes JSON into an object', async () => {\n const xp = new NodeTransport({} as ITransportSettings);\n interface ITestModel {\n string1: string;\n num1: number;\n string2: string;\n num2: number;\n string3: string;\n num3: number;\n }\n const resp: IRawResponse = {\n headers: {},\n url: '',\n ok: true,\n contentType: 'application/json',\n statusCode: 200,\n statusMessage: 'mock',\n method: 'GET',\n body: `\n{\n \"string1\": 1,\n \"num1\": 1,\n \"string2\": \"2\",\n \"num2\": \"2\",\n \"string3\": \"3\",\n \"num3\": 3,\n \"string4\": \"4\",\n \"num4\": 4\n}\n`,\n requestStarted: 1000,\n responseCompleted: 2000,\n };\n const untyped: any = await sdkOk(xp.parseResponse(resp));\n expect(untyped.string1).toBe(1);\n expect(untyped.num1).toBe(1);\n expect(untyped.string2).toBe('2');\n expect(untyped.num2).toBe('2');\n expect(untyped.string3).toBe('3');\n expect(untyped.num3).toBe(3);\n expect(untyped.string4).toBe('4');\n expect(untyped.num4).toBe(4);\n const typed = await sdkOk(xp.parseResponse<ITestModel, ISDKError>(resp));\n expect(typed.string1).toBe(1);\n expect(typed.num1).toBe(1);\n expect(typed.string2).toBe('2');\n expect(typed.num2).toBe('2');\n expect(typed.string3).toBe('3');\n expect(typed.num3).toBe(3);\n expect((typed as any).string4).toBe('4');\n expect((typed as any).num4).toBe(4);\n });\n describe('NodeCryptoHash', () => {\n it('secureRandom', () => {\n const hasher = new NodeCryptoHash();\n const rand1 = hasher.secureRandom(5);\n expect(rand1.length).toEqual(10);\n const rand2 = hasher.secureRandom(32);\n expect(rand2.length).toEqual(64);\n });\n\n it('sha256hash', async () => {\n const hasher = new NodeCryptoHash();\n const message = 'The quick brown fox jumped over the lazy dog.';\n const hash = await hasher.sha256Hash(message);\n expect(hash).toEqual('aLEoK5HeLAVMNmKcuN1EfxLwltPjxYeXjcIkhERjNIM=');\n });\n });\n});\n"],"mappings":"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"}
@@ -79,4 +79,4 @@ var localIni = config.localIni;
79
79
  }));
80
80
  });
81
81
  });
82
- //# sourceMappingURL=nodeSession.apitest.js.map
82
+ //# sourceMappingURL=nodeSession.apispec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeSession.apitest.js","names":["fs","_interopRequireWildcard","require","process","_nodeTest","_expect","_sdkRtl","_testUtils","_nodeTransport","_nodeSession","_nodeSettings","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","config","TestConfig","envPrefix","localIni","describe","settings","NodeSettingsIniFile","transport","NodeTransport","it","session","NodeSession","expect","isAuthenticated","toEqual","actual","logout","isSudo","token","login","toBeDefined","access_token","result","section","ApiConfig","readFileSync","Looker","verify_ssl","boolDefault","toString","envKey","ApiConfigMap","env","timeout","defaultTimeout","client_id","client_secret","base_url","NodeSettings"],"sources":["../src/nodeSession.apitest.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport * as fs from 'fs';\nimport * as process from 'node:process';\nimport { describe, it } from 'node:test';\nimport { expect } from 'expect';\nimport { ApiConfigMap, boolDefault, defaultTimeout } from '@looker/sdk-rtl';\nimport { TestConfig } from '@looker/sdk-rtl/src/testUtils';\nimport { NodeTransport } from './nodeTransport';\nimport { NodeSession } from './nodeSession';\nimport { ApiConfig, NodeSettings, NodeSettingsIniFile } from './nodeSettings';\n\nconst config = TestConfig();\nconst envPrefix = 'LOOKERSDK';\nconst localIni = config.localIni;\n\ndescribe('NodeSession', () => {\n const settings = new NodeSettingsIniFile(envPrefix, localIni, 'Looker');\n const transport = new NodeTransport(settings);\n\n describe('isAuthenticated', () => {\n it('unauthenticated logout returns false', async () => {\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const actual = await session.logout();\n expect(actual).toEqual(false);\n expect(session.isAuthenticated()).toEqual(false);\n });\n });\n\n describe('integration tests', () => {\n it('initializes', () => {\n const session = new NodeSession(settings, transport);\n expect(session.settings).toEqual(settings);\n expect(session.isAuthenticated()).toEqual(false);\n expect(session.isSudo()).toEqual(false);\n });\n\n it('default auth logs in and out with good credentials', async () => {\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const token = await session.login();\n expect(token).toBeDefined();\n expect(token.access_token).toBeDefined();\n expect(session.isAuthenticated()).toEqual(true);\n const result = await session.logout();\n expect(result).toEqual(true);\n expect(session.isAuthenticated()).toEqual(false);\n });\n });\n\n describe('environmental configuration', () => {\n it('no INI file', async () => {\n const section = ApiConfig(fs.readFileSync(localIni, 'utf8')).Looker;\n const verify_ssl = boolDefault(section.verify_ssl, false).toString();\n const envPrefix = 'LOOKERSDK';\n const envKey = ApiConfigMap(envPrefix);\n // populate environment variables\n process.env[envKey.timeout] =\n section.timeout || defaultTimeout.toString();\n process.env[envKey.client_id] = section.client_id;\n process.env[envKey.client_secret] = section.client_secret;\n process.env[envKey.base_url] = section.base_url;\n process.env[envKey.verify_ssl] = verify_ssl.toString();\n\n const settings = new NodeSettings(envPrefix);\n expect(settings.base_url).toEqual(section.base_url);\n expect(settings.timeout.toString()).toEqual(\n section.timeout || defaultTimeout.toString()\n );\n expect(settings.verify_ssl.toString()).toEqual(verify_ssl);\n\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const token = await session.login();\n expect(token).toBeDefined();\n expect(token.access_token).toBeDefined();\n expect(session.isAuthenticated()).toEqual(true);\n const result = await session.logout();\n expect(result).toEqual(true);\n expect(session.isAuthenticated()).toEqual(false);\n\n // reset environment variables\n delete process.env[envKey.timeout];\n delete process.env[envKey.client_id];\n delete process.env[envKey.client_secret];\n delete process.env[envKey.base_url];\n delete process.env[envKey.verify_ssl];\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"nodeSession.apispec.js","names":["fs","_interopRequireWildcard","require","process","_nodeTest","_expect","_sdkRtl","_testUtils","_nodeTransport","_nodeSession","_nodeSettings","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","config","TestConfig","envPrefix","localIni","describe","settings","NodeSettingsIniFile","transport","NodeTransport","it","session","NodeSession","expect","isAuthenticated","toEqual","actual","logout","isSudo","token","login","toBeDefined","access_token","result","section","ApiConfig","readFileSync","Looker","verify_ssl","boolDefault","toString","envKey","ApiConfigMap","env","timeout","defaultTimeout","client_id","client_secret","base_url","NodeSettings"],"sources":["../src/nodeSession.apispec.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport * as fs from 'fs';\nimport * as process from 'node:process';\nimport { describe, it } from 'node:test';\nimport { expect } from 'expect';\nimport { ApiConfigMap, boolDefault, defaultTimeout } from '@looker/sdk-rtl';\nimport { TestConfig } from '@looker/sdk-rtl/src/testUtils';\nimport { NodeTransport } from './nodeTransport';\nimport { NodeSession } from './nodeSession';\nimport { ApiConfig, NodeSettings, NodeSettingsIniFile } from './nodeSettings';\n\nconst config = TestConfig();\nconst envPrefix = 'LOOKERSDK';\nconst localIni = config.localIni;\n\ndescribe('NodeSession', () => {\n const settings = new NodeSettingsIniFile(envPrefix, localIni, 'Looker');\n const transport = new NodeTransport(settings);\n\n describe('isAuthenticated', () => {\n it('unauthenticated logout returns false', async () => {\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const actual = await session.logout();\n expect(actual).toEqual(false);\n expect(session.isAuthenticated()).toEqual(false);\n });\n });\n\n describe('integration tests', () => {\n it('initializes', () => {\n const session = new NodeSession(settings, transport);\n expect(session.settings).toEqual(settings);\n expect(session.isAuthenticated()).toEqual(false);\n expect(session.isSudo()).toEqual(false);\n });\n\n it('default auth logs in and out with good credentials', async () => {\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const token = await session.login();\n expect(token).toBeDefined();\n expect(token.access_token).toBeDefined();\n expect(session.isAuthenticated()).toEqual(true);\n const result = await session.logout();\n expect(result).toEqual(true);\n expect(session.isAuthenticated()).toEqual(false);\n });\n });\n\n describe('environmental configuration', () => {\n it('no INI file', async () => {\n const section = ApiConfig(fs.readFileSync(localIni, 'utf8')).Looker;\n const verify_ssl = boolDefault(section.verify_ssl, false).toString();\n const envPrefix = 'LOOKERSDK';\n const envKey = ApiConfigMap(envPrefix);\n // populate environment variables\n process.env[envKey.timeout] =\n section.timeout || defaultTimeout.toString();\n process.env[envKey.client_id] = section.client_id;\n process.env[envKey.client_secret] = section.client_secret;\n process.env[envKey.base_url] = section.base_url;\n process.env[envKey.verify_ssl] = verify_ssl.toString();\n\n const settings = new NodeSettings(envPrefix);\n expect(settings.base_url).toEqual(section.base_url);\n expect(settings.timeout.toString()).toEqual(\n section.timeout || defaultTimeout.toString()\n );\n expect(settings.verify_ssl.toString()).toEqual(verify_ssl);\n\n const session = new NodeSession(settings, transport);\n expect(session.isAuthenticated()).toEqual(false);\n const token = await session.login();\n expect(token).toBeDefined();\n expect(token.access_token).toBeDefined();\n expect(session.isAuthenticated()).toEqual(true);\n const result = await session.logout();\n expect(result).toEqual(true);\n expect(session.isAuthenticated()).toEqual(false);\n\n // reset environment variables\n delete process.env[envKey.timeout];\n delete process.env[envKey.client_id];\n delete process.env[envKey.client_secret];\n delete process.env[envKey.base_url];\n delete process.env[envKey.verify_ssl];\n });\n });\n});\n"],"mappings":";;AA0BA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AAA8E,SAAAS,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAY,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAE9E,IAAMC,MAAM,GAAG,IAAAC,qBAAU,EAAC,CAAC;AAC3B,IAAMC,SAAS,GAAG,WAAW;AAC7B,IAAMC,QAAQ,GAAGH,MAAM,CAACG,QAAQ;AAEhC,IAAAC,kBAAQ,EAAC,aAAa,EAAE,MAAM;EAC5B,IAAMC,QAAQ,GAAG,IAAIC,iCAAmB,CAACJ,SAAS,EAAEC,QAAQ,EAAE,QAAQ,CAAC;EACvE,IAAMI,SAAS,GAAG,IAAIC,4BAAa,CAACH,QAAQ,CAAC;EAE7C,IAAAD,kBAAQ,EAAC,iBAAiB,EAAE,MAAM;IAChC,IAAAK,YAAE,EAAC,sCAAsC,EAAAjB,iBAAA,CAAE,aAAY;MACrD,IAAMkB,OAAO,GAAG,IAAIC,wBAAW,CAACN,QAAQ,EAAEE,SAAS,CAAC;MACpD,IAAAK,cAAM,EAACF,OAAO,CAACG,eAAe,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;MAChD,IAAMC,MAAM,SAASL,OAAO,CAACM,MAAM,CAAC,CAAC;MACrC,IAAAJ,cAAM,EAACG,MAAM,CAAC,CAACD,OAAO,CAAC,KAAK,CAAC;MAC7B,IAAAF,cAAM,EAACF,OAAO,CAACG,eAAe,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAClD,CAAC,EAAC;EACJ,CAAC,CAAC;EAEF,IAAAV,kBAAQ,EAAC,mBAAmB,EAAE,MAAM;IAClC,IAAAK,YAAE,EAAC,aAAa,EAAE,MAAM;MACtB,IAAMC,OAAO,GAAG,IAAIC,wBAAW,CAACN,QAAQ,EAAEE,SAAS,CAAC;MACpD,IAAAK,cAAM,EAACF,OAAO,CAACL,QAAQ,CAAC,CAACS,OAAO,CAACT,QAAQ,CAAC;MAC1C,IAAAO,cAAM,EAACF,OAAO,CAACG,eAAe,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;MAChD,IAAAF,cAAM,EAACF,OAAO,CAACO,MAAM,CAAC,CAAC,CAAC,CAACH,OAAO,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC;IAEF,IAAAL,YAAE,EAAC,oDAAoD,EAAAjB,iBAAA,CAAE,aAAY;MACnE,IAAMkB,OAAO,GAAG,IAAIC,wBAAW,CAACN,QAAQ,EAAEE,SAAS,CAAC;MACpD,IAAAK,cAAM,EAACF,OAAO,CAACG,eAAe,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;MAChD,IAAMI,KAAK,SAASR,OAAO,CAACS,KAAK,CAAC,CAAC;MACnC,IAAAP,cAAM,EAACM,KAAK,CAAC,CAACE,WAAW,CAAC,CAAC;MAC3B,IAAAR,cAAM,EAACM,KAAK,CAACG,YAAY,CAAC,CAACD,WAAW,CAAC,CAAC;MACxC,IAAAR,cAAM,EAACF,OAAO,CAACG,eAAe,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,IAAI,CAAC;MAC/C,IAAMQ,MAAM,SAASZ,OAAO,CAACM,MAAM,CAAC,CAAC;MACrC,IAAAJ,cAAM,EAACU,MAAM,CAAC,CAACR,OAAO,CAAC,IAAI,CAAC;MAC5B,IAAAF,cAAM,EAACF,OAAO,CAACG,eAAe,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;IAClD,CAAC,EAAC;EACJ,CAAC,CAAC;EAEF,IAAAV,kBAAQ,EAAC,6BAA6B,EAAE,MAAM;IAC5C,IAAAK,YAAE,EAAC,aAAa,EAAAjB,iBAAA,CAAE,aAAY;MAC5B,IAAM+B,OAAO,GAAG,IAAAC,uBAAS,EAAC9E,EAAE,CAAC+E,YAAY,CAACtB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAACuB,MAAM;MACnE,IAAMC,UAAU,GAAG,IAAAC,mBAAW,EAACL,OAAO,CAACI,UAAU,EAAE,KAAK,CAAC,CAACE,QAAQ,CAAC,CAAC;MACpE,IAAM3B,SAAS,GAAG,WAAW;MAC7B,IAAM4B,MAAM,GAAG,IAAAC,oBAAY,EAAC7B,SAAS,CAAC;MAEtCrD,OAAO,CAACmF,GAAG,CAACF,MAAM,CAACG,OAAO,CAAC,GACzBV,OAAO,CAACU,OAAO,IAAIC,sBAAc,CAACL,QAAQ,CAAC,CAAC;MAC9ChF,OAAO,CAACmF,GAAG,CAACF,MAAM,CAACK,SAAS,CAAC,GAAGZ,OAAO,CAACY,SAAS;MACjDtF,OAAO,CAACmF,GAAG,CAACF,MAAM,CAACM,aAAa,CAAC,GAAGb,OAAO,CAACa,aAAa;MACzDvF,OAAO,CAACmF,GAAG,CAACF,MAAM,CAACO,QAAQ,CAAC,GAAGd,OAAO,CAACc,QAAQ;MAC/CxF,OAAO,CAACmF,GAAG,CAACF,MAAM,CAACH,UAAU,CAAC,GAAGA,UAAU,CAACE,QAAQ,CAAC,CAAC;MAEtD,IAAMxB,QAAQ,GAAG,IAAIiC,0BAAY,CAACpC,SAAS,CAAC;MAC5C,IAAAU,cAAM,EAACP,QAAQ,CAACgC,QAAQ,CAAC,CAACvB,OAAO,CAACS,OAAO,CAACc,QAAQ,CAAC;MACnD,IAAAzB,cAAM,EAACP,QAAQ,CAAC4B,OAAO,CAACJ,QAAQ,CAAC,CAAC,CAAC,CAACf,OAAO,CACzCS,OAAO,CAACU,OAAO,IAAIC,sBAAc,CAACL,QAAQ,CAAC,CAC7C,CAAC;MACD,IAAAjB,cAAM,EAACP,QAAQ,CAACsB,UAAU,CAACE,QAAQ,CAAC,CAAC,CAAC,CAACf,OAAO,CAACa,UAAU,CAAC;MAE1D,IAAMjB,OAAO,GAAG,IAAIC,wBAAW,CAACN,QAAQ,EAAEE,SAAS,CAAC;MACpD,IAAAK,cAAM,EAACF,OAAO,CAACG,eAAe,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;MAChD,IAAMI,KAAK,SAASR,OAAO,CAACS,KAAK,CAAC,CAAC;MACnC,IAAAP,cAAM,EAACM,KAAK,CAAC,CAACE,WAAW,CAAC,CAAC;MAC3B,IAAAR,cAAM,EAACM,KAAK,CAACG,YAAY,CAAC,CAACD,WAAW,CAAC,CAAC;MACxC,IAAAR,cAAM,EAACF,OAAO,CAACG,eAAe,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,IAAI,CAAC;MAC/C,IAAMQ,MAAM,SAASZ,OAAO,CAACM,MAAM,CAAC,CAAC;MACrC,IAAAJ,cAAM,EAACU,MAAM,CAAC,CAACR,OAAO,CAAC,IAAI,CAAC;MAC5B,IAAAF,cAAM,EAACF,OAAO,CAACG,eAAe,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;MAGhD,OAAOjE,OAAO,CAACmF,GAAG,CAACF,MAAM,CAACG,OAAO,CAAC;MAClC,OAAOpF,OAAO,CAACmF,GAAG,CAACF,MAAM,CAACK,SAAS,CAAC;MACpC,OAAOtF,OAAO,CAACmF,GAAG,CAACF,MAAM,CAACM,aAAa,CAAC;MACxC,OAAOvF,OAAO,CAACmF,GAAG,CAACF,MAAM,CAACO,QAAQ,CAAC;MACnC,OAAOxF,OAAO,CAACmF,GAAG,CAACF,MAAM,CAACH,UAAU,CAAC;IACvC,CAAC,EAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -126,4 +126,4 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
126
126
  }));
127
127
  });
128
128
  });
129
- //# sourceMappingURL=nodeTransport.apitest.js.map
129
+ //# sourceMappingURL=nodeTransport.apispec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeTransport.apitest.js","names":["_nodeTest","require","_expect","_sdkRtl","_nodeTransport","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","describe","hostname","settings","base_url","xp","NodeTransport","fullPath","badPath","it","response","rawRequest","expect","toBeDefined","ok","toEqual","method","statusCode","statusMessage","contentType","toContain","body","html","errorMessage","request","content","raw","headers","url","StatusCode","OK","requestStarted","responseCompleted","IMUsed","actual","resp","untyped","sdkOk","parseResponse","string1","toBe","num1","string2","num2","string3","num3","string4","num4","typed","hasher","NodeCryptoHash","rand1","secureRandom","length","rand2","message","hash","sha256Hash"],"sources":["../src/nodeTransport.apitest.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport { describe, it } from 'node:test';\nimport { expect } from 'expect';\nimport type {\n IRawResponse,\n ISDKError,\n ITransportSettings,\n} from '@looker/sdk-rtl';\nimport { StatusCode, sdkOk } from '@looker/sdk-rtl';\nimport { NodeCryptoHash, NodeTransport } from './nodeTransport';\n\ndescribe('NodeTransport', () => {\n const hostname = 'https://looker.sdk';\n const settings = { base_url: hostname } as ITransportSettings;\n const xp = new NodeTransport(settings);\n const fullPath = 'https://github.com/looker-open-source/sdk-codegen';\n const badPath = fullPath + '_bogus';\n // const queryParams = { a: 'b c', d: false, nil: null, skip: undefined }\n\n it('raw request retrieves fully qualified url', async () => {\n const response = await xp.rawRequest('GET', fullPath);\n expect(response).toBeDefined();\n expect(response.ok).toEqual(true);\n expect(response.method).toEqual('GET');\n expect(response.statusCode).toEqual(200);\n expect(response.statusMessage).toEqual('OK');\n expect(response.contentType).toContain('text/html');\n expect(response.body).toBeDefined();\n const html = await response.body;\n expect(html).toContain(\n 'One SDK to rule them all, and in the codegen bind them'\n );\n });\n\n describe('transport errors', () => {\n it('gracefully handles transport errors', async () => {\n const response = await xp.rawRequest('GET', badPath);\n const errorMessage = 'Not Found';\n expect(response).toBeDefined();\n expect(response.ok).toEqual(false);\n expect(response.method).toEqual('GET');\n expect(response.statusCode).toEqual(404);\n expect(response.body).toBeDefined();\n expect(response.statusMessage).toEqual(errorMessage);\n });\n });\n\n it('retrieves fully qualified url', async () => {\n const response = await xp.request<string, Error>('GET', fullPath);\n expect(response).toBeDefined();\n expect(response.ok).toEqual(true);\n if (response.ok) {\n const content = response.value;\n expect(content).toContain(\n 'One SDK to rule them all, and in the codegen bind them'\n );\n }\n });\n\n describe('ok check', () => {\n const raw: IRawResponse = {\n method: 'GET',\n contentType: 'application/json',\n headers: {},\n url: 'bogus',\n ok: true,\n statusCode: StatusCode.OK,\n statusMessage: 'Mocked success',\n body: 'body',\n requestStarted: 1000,\n responseCompleted: 2000,\n };\n\n it('ok is ok', () => {\n expect(xp.ok(raw)).toEqual(true);\n });\n\n it('All 2xx responses are ok', () => {\n raw.statusCode = StatusCode.IMUsed;\n expect(xp.ok(raw)).toEqual(true);\n });\n\n it('Non-2xx responses are not ok', () => {\n raw.statusCode = 422;\n expect(xp.ok(raw)).toEqual(false);\n });\n });\n\n it('does a standard get', async () => {\n const xp = new NodeTransport({} as ITransportSettings);\n const actual = await xp.rawRequest('GET', 'https://example.com');\n expect(actual).toBeDefined();\n });\n\n it('just deserializes JSON into an object', async () => {\n const xp = new NodeTransport({} as ITransportSettings);\n interface ITestModel {\n string1: string;\n num1: number;\n string2: string;\n num2: number;\n string3: string;\n num3: number;\n }\n const resp: IRawResponse = {\n headers: {},\n url: '',\n ok: true,\n contentType: 'application/json',\n statusCode: 200,\n statusMessage: 'mock',\n method: 'GET',\n body: `\n{\n \"string1\": 1,\n \"num1\": 1,\n \"string2\": \"2\",\n \"num2\": \"2\",\n \"string3\": \"3\",\n \"num3\": 3,\n \"string4\": \"4\",\n \"num4\": 4\n}\n`,\n requestStarted: 1000,\n responseCompleted: 2000,\n };\n const untyped: any = await sdkOk(xp.parseResponse(resp));\n expect(untyped.string1).toBe(1);\n expect(untyped.num1).toBe(1);\n expect(untyped.string2).toBe('2');\n expect(untyped.num2).toBe('2');\n expect(untyped.string3).toBe('3');\n expect(untyped.num3).toBe(3);\n expect(untyped.string4).toBe('4');\n expect(untyped.num4).toBe(4);\n const typed = await sdkOk(xp.parseResponse<ITestModel, ISDKError>(resp));\n expect(typed.string1).toBe(1);\n expect(typed.num1).toBe(1);\n expect(typed.string2).toBe('2');\n expect(typed.num2).toBe('2');\n expect(typed.string3).toBe('3');\n expect(typed.num3).toBe(3);\n expect((typed as any).string4).toBe('4');\n expect((typed as any).num4).toBe(4);\n });\n describe('NodeCryptoHash', () => {\n it('secureRandom', () => {\n const hasher = new NodeCryptoHash();\n const rand1 = hasher.secureRandom(5);\n expect(rand1.length).toEqual(10);\n const rand2 = hasher.secureRandom(32);\n expect(rand2.length).toEqual(64);\n });\n\n it('sha256hash', async () => {\n const hasher = new NodeCryptoHash();\n const message = 'The quick brown fox jumped over the lazy dog.';\n const hash = await hasher.sha256Hash(message);\n expect(hash).toEqual('aLEoK5HeLAVMNmKcuN1EfxLwltPjxYeXjcIkhERjNIM=');\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"nodeTransport.apispec.js","names":["_nodeTest","require","_expect","_sdkRtl","_nodeTransport","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","describe","hostname","settings","base_url","xp","NodeTransport","fullPath","badPath","it","response","rawRequest","expect","toBeDefined","ok","toEqual","method","statusCode","statusMessage","contentType","toContain","body","html","errorMessage","request","content","raw","headers","url","StatusCode","OK","requestStarted","responseCompleted","IMUsed","actual","resp","untyped","sdkOk","parseResponse","string1","toBe","num1","string2","num2","string3","num3","string4","num4","typed","hasher","NodeCryptoHash","rand1","secureRandom","length","rand2","message","hash","sha256Hash"],"sources":["../src/nodeTransport.apispec.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport { describe, it } from 'node:test';\nimport { expect } from 'expect';\nimport type {\n IRawResponse,\n ISDKError,\n ITransportSettings,\n} from '@looker/sdk-rtl';\nimport { StatusCode, sdkOk } from '@looker/sdk-rtl';\nimport { NodeCryptoHash, NodeTransport } from './nodeTransport';\n\ndescribe('NodeTransport', () => {\n const hostname = 'https://looker.sdk';\n const settings = { base_url: hostname } as ITransportSettings;\n const xp = new NodeTransport(settings);\n const fullPath = 'https://github.com/looker-open-source/sdk-codegen';\n const badPath = fullPath + '_bogus';\n // const queryParams = { a: 'b c', d: false, nil: null, skip: undefined }\n\n it('raw request retrieves fully qualified url', async () => {\n const response = await xp.rawRequest('GET', fullPath);\n expect(response).toBeDefined();\n expect(response.ok).toEqual(true);\n expect(response.method).toEqual('GET');\n expect(response.statusCode).toEqual(200);\n expect(response.statusMessage).toEqual('OK');\n expect(response.contentType).toContain('text/html');\n expect(response.body).toBeDefined();\n const html = await response.body;\n expect(html).toContain(\n 'One SDK to rule them all, and in the codegen bind them'\n );\n });\n\n describe('transport errors', () => {\n it('gracefully handles transport errors', async () => {\n const response = await xp.rawRequest('GET', badPath);\n const errorMessage = 'Not Found';\n expect(response).toBeDefined();\n expect(response.ok).toEqual(false);\n expect(response.method).toEqual('GET');\n expect(response.statusCode).toEqual(404);\n expect(response.body).toBeDefined();\n expect(response.statusMessage).toEqual(errorMessage);\n });\n });\n\n it('retrieves fully qualified url', async () => {\n const response = await xp.request<string, Error>('GET', fullPath);\n expect(response).toBeDefined();\n expect(response.ok).toEqual(true);\n if (response.ok) {\n const content = response.value;\n expect(content).toContain(\n 'One SDK to rule them all, and in the codegen bind them'\n );\n }\n });\n\n describe('ok check', () => {\n const raw: IRawResponse = {\n method: 'GET',\n contentType: 'application/json',\n headers: {},\n url: 'bogus',\n ok: true,\n statusCode: StatusCode.OK,\n statusMessage: 'Mocked success',\n body: 'body',\n requestStarted: 1000,\n responseCompleted: 2000,\n };\n\n it('ok is ok', () => {\n expect(xp.ok(raw)).toEqual(true);\n });\n\n it('All 2xx responses are ok', () => {\n raw.statusCode = StatusCode.IMUsed;\n expect(xp.ok(raw)).toEqual(true);\n });\n\n it('Non-2xx responses are not ok', () => {\n raw.statusCode = 422;\n expect(xp.ok(raw)).toEqual(false);\n });\n });\n\n it('does a standard get', async () => {\n const xp = new NodeTransport({} as ITransportSettings);\n const actual = await xp.rawRequest('GET', 'https://example.com');\n expect(actual).toBeDefined();\n });\n\n it('just deserializes JSON into an object', async () => {\n const xp = new NodeTransport({} as ITransportSettings);\n interface ITestModel {\n string1: string;\n num1: number;\n string2: string;\n num2: number;\n string3: string;\n num3: number;\n }\n const resp: IRawResponse = {\n headers: {},\n url: '',\n ok: true,\n contentType: 'application/json',\n statusCode: 200,\n statusMessage: 'mock',\n method: 'GET',\n body: `\n{\n \"string1\": 1,\n \"num1\": 1,\n \"string2\": \"2\",\n \"num2\": \"2\",\n \"string3\": \"3\",\n \"num3\": 3,\n \"string4\": \"4\",\n \"num4\": 4\n}\n`,\n requestStarted: 1000,\n responseCompleted: 2000,\n };\n const untyped: any = await sdkOk(xp.parseResponse(resp));\n expect(untyped.string1).toBe(1);\n expect(untyped.num1).toBe(1);\n expect(untyped.string2).toBe('2');\n expect(untyped.num2).toBe('2');\n expect(untyped.string3).toBe('3');\n expect(untyped.num3).toBe(3);\n expect(untyped.string4).toBe('4');\n expect(untyped.num4).toBe(4);\n const typed = await sdkOk(xp.parseResponse<ITestModel, ISDKError>(resp));\n expect(typed.string1).toBe(1);\n expect(typed.num1).toBe(1);\n expect(typed.string2).toBe('2');\n expect(typed.num2).toBe('2');\n expect(typed.string3).toBe('3');\n expect(typed.num3).toBe(3);\n expect((typed as any).string4).toBe('4');\n expect((typed as any).num4).toBe(4);\n });\n describe('NodeCryptoHash', () => {\n it('secureRandom', () => {\n const hasher = new NodeCryptoHash();\n const rand1 = hasher.secureRandom(5);\n expect(rand1.length).toEqual(10);\n const rand2 = hasher.secureRandom(32);\n expect(rand2.length).toEqual(64);\n });\n\n it('sha256hash', async () => {\n const hasher = new NodeCryptoHash();\n const message = 'The quick brown fox jumped over the lazy dog.';\n const hash = await hasher.sha256Hash(message);\n expect(hash).toEqual('aLEoK5HeLAVMNmKcuN1EfxLwltPjxYeXjcIkhERjNIM=');\n });\n });\n});\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@looker/sdk-node",
3
- "version": "24.16.1",
3
+ "version": "24.18.0",
4
4
  "description": "Looker SDK Runtime for Node Library",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -39,7 +39,7 @@
39
39
  "whatwg-fetch": "3.6.20"
40
40
  },
41
41
  "dependencies": {
42
- "@looker/sdk": "24.16.1",
42
+ "@looker/sdk": "24.18.0",
43
43
  "@looker/sdk-rtl": "21.6.3",
44
44
  "ini": "5.0.0"
45
45
  },
@@ -48,5 +48,5 @@
48
48
  "SDK",
49
49
  "RTL"
50
50
  ],
51
- "gitHead": "f95fdcebe3e11b4cf1c7d07e26a6b8a153bd074f"
51
+ "gitHead": "87b09765f6bbf98d6a0c7295a31cabef3eaa250c"
52
52
  }