From 187ce8dbb47184634bd4f9fed70ab1eee451c568 Mon Sep 17 00:00:00 2001 From: Denisas Savickis Date: Tue, 6 Jun 2023 10:51:37 +0300 Subject: [PATCH 01/10] Fixing content-type header being present for empty body requests --- .../src/base/internal/OperationsBase.ts | 4 +- .../unit/management/OperationsBase.test.ts | 339 ++++++++++++------ 2 files changed, 238 insertions(+), 105 deletions(-) diff --git a/clients/imodels-client-management/src/base/internal/OperationsBase.ts b/clients/imodels-client-management/src/base/internal/OperationsBase.ts index 8faf9dcb..839fa263 100644 --- a/clients/imodels-client-management/src/base/internal/OperationsBase.ts +++ b/clients/imodels-client-management/src/base/internal/OperationsBase.ts @@ -119,7 +119,7 @@ export class OperationsBase { } } - private async formHeaders(params: CommonRequestParams & { preferReturn?: PreferReturn, contentType?: ContentType}): Promise> { + private async formHeaders(params: CommonRequestParams & { preferReturn?: PreferReturn, contentType?: ContentType, body?: object }): Promise> { const headers: Dictionary = {}; const authorizationInfo = await params.authorization(); headers[Constants.headers.authorization] = `${authorizationInfo.scheme} ${authorizationInfo.token}`; @@ -128,7 +128,7 @@ export class OperationsBase { if (params.preferReturn) headers[Constants.headers.prefer] = `return=${params.preferReturn}`; - if (params.contentType) + if (params.contentType && params.body !== undefined && JSON.stringify(params.body) !== "{}") headers[Constants.headers.contentType] = params.contentType; this.addOrUpdateHeaders(headers, this._options.headers); diff --git a/tests/imodels-clients-tests/src/unit/management/OperationsBase.test.ts b/tests/imodels-clients-tests/src/unit/management/OperationsBase.test.ts index 8c3903de..003c75e7 100644 --- a/tests/imodels-clients-tests/src/unit/management/OperationsBase.test.ts +++ b/tests/imodels-clients-tests/src/unit/management/OperationsBase.test.ts @@ -15,82 +15,6 @@ describe("[Management] OperationsBase", () => { let restClient: sinon.SinonStubbedInstance; let requiredArgs: {url: string, authorization: () => Promise}; - const operationsTestCases: { - caseName: string; - headersPassedToConstructor: Record string | undefined)>; - headersPassedToOperation: Record string | undefined)>; - expectedHeaders: Record; - }[] = [ - { - caseName: "Adds constructor headers", - headersPassedToConstructor: { - "header-specified-in-constructor": "constructor" - }, - headersPassedToOperation: {}, - expectedHeaders: { - "header-specified-in-constructor": "constructor" - } - }, - { - caseName: "Adds operation headers", - headersPassedToConstructor: {}, - headersPassedToOperation: { - "header-specified-in-operation": "operation" - }, - expectedHeaders: { - "header-specified-in-operation": "operation" - } - }, - { - caseName: "Adds constructor and operation headers", - headersPassedToConstructor: { - "header-specified-in-constructor": "constructor" - }, - headersPassedToOperation: { - "header-specified-in-operation": "operation" - }, - expectedHeaders: { - "header-specified-in-constructor": "constructor", - "header-specified-in-operation": "operation" - } - }, - { - caseName: "Replaces constructor headers", - headersPassedToConstructor: { - "header-specified-in-constructor": "constructor" - }, - headersPassedToOperation: { - "header-specified-in-constructor": "operation" - }, - expectedHeaders: { - "header-specified-in-constructor": "operation" - } - }, - { - caseName: "Removes constructor headers", - headersPassedToConstructor: { - "header-specified-in-constructor": "constructor" - }, - headersPassedToOperation: { - "header-specified-in-constructor": () => undefined - }, - expectedHeaders: {} - }, - { - caseName: "Works with function headers", - headersPassedToConstructor: { - "header-specified-in-constructor": () => "constructor" - }, - headersPassedToOperation: { - "header-specified-in-operation": () => "operation" - }, - expectedHeaders: { - "header-specified-in-constructor": "constructor", - "header-specified-in-operation": "operation" - } - } - ]; - before( async () => { restClient = createStub(AxiosRestClient); const authorizationCallback = async () => { @@ -103,111 +27,320 @@ describe("[Management] OperationsBase", () => { requiredArgs = {url: "url", authorization: authorizationCallback}; }); - for( const testCase of operationsTestCases) { - const { caseName, headersPassedToConstructor, headersPassedToOperation, expectedHeaders } = testCase; + describe("OperationsBase headers", () => { + const operationsTestCases: { + caseName: string; + headersPassedToConstructor: Record string | undefined)>; + headersPassedToOperation: Record string | undefined)>; + expectedHeaders: Record; + }[] = [ + { + caseName: "Adds constructor headers", + headersPassedToConstructor: { + "header-specified-in-constructor": "constructor" + }, + headersPassedToOperation: {}, + expectedHeaders: { + "header-specified-in-constructor": "constructor" + } + }, + { + caseName: "Adds operation headers", + headersPassedToConstructor: {}, + headersPassedToOperation: { + "header-specified-in-operation": "operation" + }, + expectedHeaders: { + "header-specified-in-operation": "operation" + } + }, + { + caseName: "Adds constructor and operation headers", + headersPassedToConstructor: { + "header-specified-in-constructor": "constructor" + }, + headersPassedToOperation: { + "header-specified-in-operation": "operation" + }, + expectedHeaders: { + "header-specified-in-constructor": "constructor", + "header-specified-in-operation": "operation" + } + }, + { + caseName: "Replaces constructor headers", + headersPassedToConstructor: { + "header-specified-in-constructor": "constructor" + }, + headersPassedToOperation: { + "header-specified-in-constructor": "operation" + }, + expectedHeaders: { + "header-specified-in-constructor": "operation" + } + }, + { + caseName: "Removes constructor headers", + headersPassedToConstructor: { + "header-specified-in-constructor": "constructor" + }, + headersPassedToOperation: { + "header-specified-in-constructor": () => undefined + }, + expectedHeaders: {} + }, + { + caseName: "Works with function headers", + headersPassedToConstructor: { + "header-specified-in-constructor": () => "constructor" + }, + headersPassedToOperation: { + "header-specified-in-operation": () => "operation" + }, + expectedHeaders: { + "header-specified-in-constructor": "constructor", + "header-specified-in-operation": "operation" + } + } + ]; + + for( const testCase of operationsTestCases) { + const { caseName, headersPassedToConstructor, headersPassedToOperation, expectedHeaders } = testCase; + + it(`${caseName} works with Get Request`, async () => { + // Arrange + const iModelsOperationsWrapper = new TestOperationsWrapper( + { + restClient, + api: {version: "version"}, + headers: headersPassedToConstructor + }); + + // Act + await iModelsOperationsWrapper.sendGetRequest({ + ...requiredArgs, + headers: headersPassedToOperation + }); + + // Assert + const callHeaders = restClient.sendGetRequest.lastCall.args[0].headers; + expect(callHeaders).to.include(expectedHeaders); + }); + + it(`${caseName} works with Post Request`, async () => { + // Arrange + const iModelsOperationsWrapper = new TestOperationsWrapper( + { + restClient, + api: {version: "version"}, + headers: headersPassedToConstructor + }); + + // Act + await iModelsOperationsWrapper.sendPostRequest({ + ...requiredArgs, + headers: headersPassedToOperation, + body: {} + }); + + // Assert + const callHeaders = restClient.sendPostRequest.lastCall.args[0].headers; + expect(callHeaders).to.include(expectedHeaders); + }); - it(`${caseName} works with Get Request`, async () => { + it(`${caseName} works with Put Request`, async () => { + // Arrange + const iModelsOperationsWrapper = new TestOperationsWrapper( + { + restClient, + api: {version: "version"}, + headers: headersPassedToConstructor + }); + + // Act + await iModelsOperationsWrapper.sendPutRequest({ + ...requiredArgs, + headers: headersPassedToOperation, + body: new Uint8Array(), + contentType: ContentType.Png + }); + + // Assert + const callHeaders = restClient.sendPutRequest.lastCall.args[0].headers; + expect(callHeaders).to.include(expectedHeaders); + }); + + it(`${caseName} works with Delete Request`, async () => { + // Arrange + const iModelsOperationsWrapper = new TestOperationsWrapper( + { + restClient, + api: {version: "version"}, + headers: headersPassedToConstructor + }); + + // Act + await iModelsOperationsWrapper.sendDeleteRequest({ + ...requiredArgs, + headers: headersPassedToOperation + }); + + // Assert + const callHeaders = restClient.sendDeleteRequest.lastCall.args[0].headers; + expect(callHeaders).to.include(expectedHeaders); + }); + + it(`${caseName} works with Patch Request`, async () => { + // Arrange + const iModelsOperationsWrapper = new TestOperationsWrapper( + { + restClient, + api: {version: "version"}, + headers: headersPassedToConstructor + }); + + // Act + await iModelsOperationsWrapper.sendPatchRequest({ + ...requiredArgs, + headers: headersPassedToOperation, + body: {} + }); + + // Assert + const callHeaders = restClient.sendPatchRequest.lastCall.args[0].headers; + expect(callHeaders).to.include(expectedHeaders); + }); + } + }); + + describe("OperationsBase Content-Type", () => { + + it("Adds Content-Type header for Post Request", async () => { // Arrange const iModelsOperationsWrapper = new TestOperationsWrapper( { restClient, api: {version: "version"}, - headers: headersPassedToConstructor + headers: {} }); // Act - await iModelsOperationsWrapper.sendGetRequest({ + await iModelsOperationsWrapper.sendPostRequest({ ...requiredArgs, - headers: headersPassedToOperation + body: { + contentType: ContentType.Json, + content: "serialized content" + } }); // Assert - const callHeaders = restClient.sendGetRequest.lastCall.args[0].headers; - expect(callHeaders).to.include(expectedHeaders); + const callHeaders = restClient.sendPostRequest.lastCall.args[0].headers; + expect(callHeaders).to.include({"Content-Type": ContentType.Json}); }); - it(`${caseName} works with Post Request`, async () => { + it("Does not add Content-Type header for Post Request", async () => { // Arrange const iModelsOperationsWrapper = new TestOperationsWrapper( { restClient, api: {version: "version"}, - headers: headersPassedToConstructor + headers: {} }); // Act await iModelsOperationsWrapper.sendPostRequest({ ...requiredArgs, - headers: headersPassedToOperation, body: {} }); // Assert const callHeaders = restClient.sendPostRequest.lastCall.args[0].headers; - expect(callHeaders).to.include(expectedHeaders); + expect(callHeaders).to.not.have.property("Content-Type"); }); - it(`${caseName} works with Put Request`, async () => { + it("Adds Content-Type header for Put Request", async () => { // Arrange const iModelsOperationsWrapper = new TestOperationsWrapper( { restClient, api: {version: "version"}, - headers: headersPassedToConstructor + headers: {} + }); + + // Act + await iModelsOperationsWrapper.sendPutRequest({ + ...requiredArgs, + body: new Uint8Array(1), + contentType: ContentType.Png + }); + + // Assert + const callHeaders = restClient.sendPutRequest.lastCall.args[0].headers; + expect(callHeaders).to.include({"Content-Type": ContentType.Png}); + }); + + it("Does not add Content-Type header for Put Request", async () => { + // Arrange + const iModelsOperationsWrapper = new TestOperationsWrapper( + { + restClient, + api: {version: "version"}, + headers: {} }); // Act await iModelsOperationsWrapper.sendPutRequest({ ...requiredArgs, - headers: headersPassedToOperation, body: new Uint8Array(), contentType: ContentType.Png }); // Assert const callHeaders = restClient.sendPutRequest.lastCall.args[0].headers; - expect(callHeaders).to.include(expectedHeaders); + expect(callHeaders).to.not.have.property("Content-Type"); }); - it(`${caseName} works with Delete Request`, async () => { + it("Adds Content-Type header for Patch Request", async () => { // Arrange const iModelsOperationsWrapper = new TestOperationsWrapper( { restClient, api: {version: "version"}, - headers: headersPassedToConstructor + headers: {} }); // Act - await iModelsOperationsWrapper.sendDeleteRequest({ + await iModelsOperationsWrapper.sendPatchRequest({ ...requiredArgs, - headers: headersPassedToOperation + body: { + contentType: ContentType.Json, + content: "serialized content" + } }); // Assert - const callHeaders = restClient.sendDeleteRequest.lastCall.args[0].headers; - expect(callHeaders).to.include(expectedHeaders); + const callHeaders = restClient.sendPatchRequest.lastCall.args[0].headers; + expect(callHeaders).to.include({"Content-Type": ContentType.Json}); }); - it(`${caseName} works with Patch Request`, async () => { + it("Does not add Content-Type header for Patch Request", async () => { // Arrange const iModelsOperationsWrapper = new TestOperationsWrapper( { restClient, api: {version: "version"}, - headers: headersPassedToConstructor + headers: {} }); // Act await iModelsOperationsWrapper.sendPatchRequest({ ...requiredArgs, - headers: headersPassedToOperation, body: {} }); // Assert const callHeaders = restClient.sendPatchRequest.lastCall.args[0].headers; - expect(callHeaders).to.include(expectedHeaders); + expect(callHeaders).to.not.have.property("Content-Type"); }); - } + }); }); From 2379b8c40338bbe68f1213f0742104df0354a1e4 Mon Sep 17 00:00:00 2001 From: Denisas Savickis Date: Tue, 6 Jun 2023 12:21:30 +0300 Subject: [PATCH 02/10] changes --- .../src/base/internal/OperationsBase.ts | 2 +- .../unit/management/OperationsBase.test.ts | 46 +------------------ 2 files changed, 3 insertions(+), 45 deletions(-) diff --git a/clients/imodels-client-management/src/base/internal/OperationsBase.ts b/clients/imodels-client-management/src/base/internal/OperationsBase.ts index 839fa263..c89ab7c1 100644 --- a/clients/imodels-client-management/src/base/internal/OperationsBase.ts +++ b/clients/imodels-client-management/src/base/internal/OperationsBase.ts @@ -128,7 +128,7 @@ export class OperationsBase { if (params.preferReturn) headers[Constants.headers.prefer] = `return=${params.preferReturn}`; - if (params.contentType && params.body !== undefined && JSON.stringify(params.body) !== "{}") + if (params.contentType && params.body !== undefined) headers[Constants.headers.contentType] = params.contentType; this.addOrUpdateHeaders(headers, this._options.headers); diff --git a/tests/imodels-clients-tests/src/unit/management/OperationsBase.test.ts b/tests/imodels-clients-tests/src/unit/management/OperationsBase.test.ts index 003c75e7..fb0f6282 100644 --- a/tests/imodels-clients-tests/src/unit/management/OperationsBase.test.ts +++ b/tests/imodels-clients-tests/src/unit/management/OperationsBase.test.ts @@ -250,7 +250,7 @@ describe("[Management] OperationsBase", () => { // Act await iModelsOperationsWrapper.sendPostRequest({ ...requiredArgs, - body: {} + body: undefined }); // Assert @@ -258,48 +258,6 @@ describe("[Management] OperationsBase", () => { expect(callHeaders).to.not.have.property("Content-Type"); }); - it("Adds Content-Type header for Put Request", async () => { - // Arrange - const iModelsOperationsWrapper = new TestOperationsWrapper( - { - restClient, - api: {version: "version"}, - headers: {} - }); - - // Act - await iModelsOperationsWrapper.sendPutRequest({ - ...requiredArgs, - body: new Uint8Array(1), - contentType: ContentType.Png - }); - - // Assert - const callHeaders = restClient.sendPutRequest.lastCall.args[0].headers; - expect(callHeaders).to.include({"Content-Type": ContentType.Png}); - }); - - it("Does not add Content-Type header for Put Request", async () => { - // Arrange - const iModelsOperationsWrapper = new TestOperationsWrapper( - { - restClient, - api: {version: "version"}, - headers: {} - }); - - // Act - await iModelsOperationsWrapper.sendPutRequest({ - ...requiredArgs, - body: new Uint8Array(), - contentType: ContentType.Png - }); - - // Assert - const callHeaders = restClient.sendPutRequest.lastCall.args[0].headers; - expect(callHeaders).to.not.have.property("Content-Type"); - }); - it("Adds Content-Type header for Patch Request", async () => { // Arrange const iModelsOperationsWrapper = new TestOperationsWrapper( @@ -335,7 +293,7 @@ describe("[Management] OperationsBase", () => { // Act await iModelsOperationsWrapper.sendPatchRequest({ ...requiredArgs, - body: {} + body: undefined }); // Assert From c5b1a43e8a6e3f039a4a6f4214fded18f7a8269f Mon Sep 17 00:00:00 2001 From: Denisas Savickis Date: Tue, 6 Jun 2023 13:13:59 +0300 Subject: [PATCH 03/10] Update ThumbnailOperations.test.ts --- .../integration/management/ThumbnailOperations.test.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts b/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts index 11505150..a71ad2eb 100644 --- a/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts +++ b/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts @@ -56,6 +56,15 @@ describe("[Management] ThumbnailOperations", () => { iModelId: testIModelForRead.id }; + /* eslint-disable no-console */ + console.log(testIModelForRead.briefcase); + console.log(testIModelForRead.description); + console.log(testIModelForRead.id); + console.log(testIModelForRead.lock); + console.log(testIModelForRead.name); + console.log(testIModelForRead.namedVersions); + /* eslint-enable no-console */ + // Act const thumbnail: Thumbnail = await iModelsClient.thumbnails.download(downloadThumbnailParams); From 2693ce64383780924dbaac9431008b699d67cdf0 Mon Sep 17 00:00:00 2001 From: Denisas Savickis Date: Tue, 6 Jun 2023 13:39:40 +0300 Subject: [PATCH 04/10] cccccc --- .../src/ThumbnailOperations.test.ts | 4 ++++ .../integration/management/ThumbnailOperations.test.ts | 9 --------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts index 6fb917d3..026a2370 100644 --- a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts +++ b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts @@ -57,6 +57,10 @@ describe(`[Management] ${ThumbnailOperations.name}`, () => { iModelId: testIModelForReadId }; + /* eslint-disable no-console */ + console.error(testIModelForReadId); + /* eslint-enable no-console */ + // Act const thumbnail: Thumbnail = await iModelsClient.thumbnails.download(downloadThumbnailParams); diff --git a/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts b/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts index a71ad2eb..11505150 100644 --- a/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts +++ b/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts @@ -56,15 +56,6 @@ describe("[Management] ThumbnailOperations", () => { iModelId: testIModelForRead.id }; - /* eslint-disable no-console */ - console.log(testIModelForRead.briefcase); - console.log(testIModelForRead.description); - console.log(testIModelForRead.id); - console.log(testIModelForRead.lock); - console.log(testIModelForRead.name); - console.log(testIModelForRead.namedVersions); - /* eslint-enable no-console */ - // Act const thumbnail: Thumbnail = await iModelsClient.thumbnails.download(downloadThumbnailParams); From 8bce46d2996c5f2bdff2900a6c8a620e12ba0deb Mon Sep 17 00:00:00 2001 From: Denisas Savickis Date: Tue, 6 Jun 2023 13:53:37 +0300 Subject: [PATCH 05/10] Update ThumbnailOperations.test.ts --- .../src/ThumbnailOperations.test.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts index 026a2370..0bd1cf54 100644 --- a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts +++ b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts @@ -57,9 +57,8 @@ describe(`[Management] ${ThumbnailOperations.name}`, () => { iModelId: testIModelForReadId }; - /* eslint-disable no-console */ - console.error(testIModelForReadId); - /* eslint-enable no-console */ + + expect(testIModelForReadId).to.equal(1); // Act const thumbnail: Thumbnail = await iModelsClient.thumbnails.download(downloadThumbnailParams); From efc1d4fa309b17044378e35569ee11488444335e Mon Sep 17 00:00:00 2001 From: Denisas Savickis Date: Tue, 6 Jun 2023 14:02:03 +0300 Subject: [PATCH 06/10] Update ThumbnailOperations.test.ts --- .../src/ThumbnailOperations.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts index 0bd1cf54..18cbf2c8 100644 --- a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts +++ b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts @@ -26,6 +26,7 @@ describe(`[Management] ${ThumbnailOperations.name}`, () => { authorization = async () => admin1AuthorizationInfo; testIModelForReadId = Cypress.env(FrontendTestEnvVariableKeys.testIModelForReadId); + expect(testIModelForReadId).to.equal(1); const iTwinId: string = Cypress.env(FrontendTestEnvVariableKeys.testITwinId); const testIModelForWrite = await iModelsClient.iModels.createEmpty({ From f91baa9b3913591342859e5d740b2611400da465 Mon Sep 17 00:00:00 2001 From: Denisas Savickis Date: Tue, 6 Jun 2023 14:19:36 +0300 Subject: [PATCH 07/10] Update ThumbnailOperations.test.ts --- .../src/ThumbnailOperations.test.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts index 18cbf2c8..41fad3e4 100644 --- a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts +++ b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts @@ -26,7 +26,8 @@ describe(`[Management] ${ThumbnailOperations.name}`, () => { authorization = async () => admin1AuthorizationInfo; testIModelForReadId = Cypress.env(FrontendTestEnvVariableKeys.testIModelForReadId); - expect(testIModelForReadId).to.equal(1); + + expect(Cypress.env(FrontendTestEnvVariableKeys.testITwinId)).to.equal(1); const iTwinId: string = Cypress.env(FrontendTestEnvVariableKeys.testITwinId); const testIModelForWrite = await iModelsClient.iModels.createEmpty({ @@ -58,9 +59,6 @@ describe(`[Management] ${ThumbnailOperations.name}`, () => { iModelId: testIModelForReadId }; - - expect(testIModelForReadId).to.equal(1); - // Act const thumbnail: Thumbnail = await iModelsClient.thumbnails.download(downloadThumbnailParams); From 2af348532cd4b87cd2cc3cada3c8719af5cd1b72 Mon Sep 17 00:00:00 2001 From: Denisas Savickis Date: Tue, 6 Jun 2023 14:23:11 +0300 Subject: [PATCH 08/10] Update ThumbnailOperations.test.ts --- .../src/ThumbnailOperations.test.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts index 41fad3e4..6fb917d3 100644 --- a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts +++ b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts @@ -27,8 +27,6 @@ describe(`[Management] ${ThumbnailOperations.name}`, () => { testIModelForReadId = Cypress.env(FrontendTestEnvVariableKeys.testIModelForReadId); - expect(Cypress.env(FrontendTestEnvVariableKeys.testITwinId)).to.equal(1); - const iTwinId: string = Cypress.env(FrontendTestEnvVariableKeys.testITwinId); const testIModelForWrite = await iModelsClient.iModels.createEmpty({ authorization, From 88f03f819d7f2b1d989b04ddefcf4d039cd71876 Mon Sep 17 00:00:00 2001 From: Denisas Savickis Date: Wed, 7 Jun 2023 17:09:50 +0300 Subject: [PATCH 09/10] changes --- .../imodels-client-management/package.json | 2 +- .../src/base/internal/AxiosRestClient.ts | 6 +- common/config/rush/pnpm-lock.yaml | 118 +++++++++--------- .../imodels-access-backend/package.json | 2 +- .../src/BackendIModelsAccess.ts | 2 +- tests/imodels-clients-tests/package.json | 2 +- utils/imodels-client-test-utils/package.json | 2 +- 7 files changed, 68 insertions(+), 66 deletions(-) diff --git a/clients/imodels-client-management/package.json b/clients/imodels-client-management/package.json index 758a91a1..6a081ec9 100644 --- a/clients/imodels-client-management/package.json +++ b/clients/imodels-client-management/package.json @@ -33,7 +33,7 @@ "extends": "./node_modules/@itwin/imodels-client-common-config/.eslintrc.json" }, "dependencies": { - "axios": "^1.0.0" + "axios": "1.1.0" }, "devDependencies": { "@itwin/imodels-client-common-config": "workspace:*", diff --git a/clients/imodels-client-management/src/base/internal/AxiosRestClient.ts b/clients/imodels-client-management/src/base/internal/AxiosRestClient.ts index 3ba397bf..445ef406 100644 --- a/clients/imodels-client-management/src/base/internal/AxiosRestClient.ts +++ b/clients/imodels-client-management/src/base/internal/AxiosRestClient.ts @@ -18,6 +18,8 @@ export class AxiosRestClient implements RestClient { constructor(parseErrorFunc: ParseErrorFunc) { this._parseErrorFunc = parseErrorFunc; + delete axios.defaults.headers.post["Content-Type"]; + delete axios.defaults.headers.patch["Content-Type"]; } public sendGetRequest(params: HttpGetRequestParams & { responseType: ContentType.Json }): Promise; @@ -43,7 +45,7 @@ export class AxiosRestClient implements RestClient { headers: params.headers }; - return this.executeRequest(async () => axios.post(params.url, params.body.content ?? {}, requestConfig)); + return this.executeRequest(async () => axios.post(params.url, params.body.content, requestConfig)); } public async sendPutRequest(params: HttpRequestWithBinaryBodyParams): Promise { @@ -59,7 +61,7 @@ export class AxiosRestClient implements RestClient { headers: params.headers }; - return this.executeRequest(async () => axios.patch(params.url, params.body.content ?? {}, requestConfig)); + return this.executeRequest(async () => axios.patch(params.url, params.body.content, requestConfig)); } public async sendDeleteRequest(params: HttpRequestParams): Promise { diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index d19a3c64..043daee8 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -34,14 +34,14 @@ importers: specifiers: '@itwin/imodels-client-common-config': workspace:* '@types/node': ^18.11.18 - axios: ^1.0.0 + axios: 1.1.0 cspell: ~5.21.0 eslint: ~7.31.0 rimraf: ~3.0.2 sort-package-json: ~1.53.1 typescript: ~4.4.0 dependencies: - axios: 1.4.0 + axios: 1.1.0 devDependencies: '@itwin/imodels-client-common-config': link:../../utils/imodels-client-common-config '@types/node': 18.16.16 @@ -62,7 +62,7 @@ importers: '@itwin/imodels-client-common-config': workspace:* '@types/node': 14.14.31 '@types/ws': ^7.0.0 - axios: ^1.0.0 + axios: 1.1.0 cspell: ~5.21.0 eslint: ~7.31.0 rimraf: ~3.0.2 @@ -71,7 +71,7 @@ importers: dependencies: '@azure/abort-controller': 1.1.0 '@itwin/imodels-client-authoring': link:../../clients/imodels-client-authoring - axios: 1.4.0 + axios: 1.1.0 devDependencies: '@itwin/core-backend': 4.0.0_acda798b3eb76717c9a14158b1be73d0 '@itwin/core-bentley': 4.0.0 @@ -248,7 +248,7 @@ importers: '@types/node': ^18.11.18 '@types/sinon': ^10.0.15 '@types/sinon-chai': ^3.2.9 - axios: ^1.0.0 + axios: 1.1.0 chai: ~4.3.4 chai-as-promised: ~7.1.1 cpx2: 4.2.0 @@ -272,7 +272,7 @@ importers: '@itwin/imodels-client-test-utils': link:../../utils/imodels-client-test-utils '@itwin/object-storage-azure': 1.6.0 '@itwin/object-storage-core': 1.6.0 - axios: 1.4.0 + axios: 1.1.0 chai: 4.3.7 chai-as-promised: 7.1.1_chai@4.3.7 dotenv: 10.0.0 @@ -365,7 +365,7 @@ importers: '@itwin/object-storage-core': ^1.6.0 '@types/chai': ~4.2.21 '@types/node': ^18.11.18 - axios: ^1.0.0 + axios: 1.1.0 chai: ~4.3.4 cpx2: 4.2.0 cspell: ~5.21.0 @@ -381,7 +381,7 @@ importers: '@itwin/imodels-client-authoring': link:../../clients/imodels-client-authoring '@itwin/imodels-client-management': link:../../clients/imodels-client-management '@itwin/object-storage-core': 1.6.0 - axios: 1.4.0 + axios: 1.1.0 chai: 4.3.7 dotenv: 10.0.0 inversify: 5.0.5 @@ -412,17 +412,17 @@ packages: resolution: {integrity: sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==} engines: {node: '>=12.0.0'} dependencies: - tslib: 2.5.2 + tslib: 2.5.3 /@azure/core-auth/1.4.0: resolution: {integrity: sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==} engines: {node: '>=12.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - tslib: 2.5.2 + tslib: 2.5.3 - /@azure/core-http/3.0.1: - resolution: {integrity: sha512-A3x+um3cAPgQe42Lu7Iv/x8/fNjhL/nIoEfqFxfn30EyxK6zC13n+OUxzZBRC0IzQqssqIbt4INf5YG7lYYFtw==} + /@azure/core-http/3.0.2: + resolution: {integrity: sha512-o1wR9JrmoM0xEAa0Ue7Sp8j+uJvmqYaGoHOCT5qaVYmvgmnZDC0OvQimPA/JR3u77Sz6D1y3Xmk1y69cDU9q9A==} engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 @@ -435,7 +435,7 @@ packages: form-data: 4.0.0 node-fetch: 2.6.11 process: 0.11.10 - tslib: 2.5.2 + tslib: 2.5.3 tunnel: 0.0.6 uuid: 8.3.2 xml2js: 0.5.0 @@ -449,46 +449,46 @@ packages: '@azure/abort-controller': 1.1.0 '@azure/core-util': 1.3.2 '@azure/logger': 1.0.4 - tslib: 2.5.2 + tslib: 2.5.3 /@azure/core-paging/1.5.0: resolution: {integrity: sha512-zqWdVIt+2Z+3wqxEOGzR5hXFZ8MGKK52x4vFLw8n58pR6ZfKRx3EXYTxTaYxYHc/PexPUTyimcTWFJbji9Z6Iw==} engines: {node: '>=14.0.0'} dependencies: - tslib: 2.5.2 + tslib: 2.5.3 /@azure/core-tracing/1.0.0-preview.13: resolution: {integrity: sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==} engines: {node: '>=12.0.0'} dependencies: '@opentelemetry/api': 1.4.1 - tslib: 2.5.2 + tslib: 2.5.3 /@azure/core-util/1.3.2: resolution: {integrity: sha512-2bECOUh88RvL1pMZTcc6OzfobBeWDBf5oBbhjIhT1MV9otMVWCzpOJkkiKtrnO88y5GGBelgY8At73KGAdbkeQ==} engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - tslib: 2.5.2 + tslib: 2.5.3 /@azure/logger/1.0.4: resolution: {integrity: sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==} engines: {node: '>=14.0.0'} dependencies: - tslib: 2.5.2 + tslib: 2.5.3 /@azure/storage-blob/12.13.0: resolution: {integrity: sha512-t3Q2lvBMJucgTjQcP5+hvEJMAsJSk0qmAnjDLie2td017IiduZbbC9BOcFfmwzR6y6cJdZOuewLCNFmEx9IrXA==} engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-http': 3.0.1 + '@azure/core-http': 3.0.2 '@azure/core-lro': 2.5.3 '@azure/core-paging': 1.5.0 '@azure/core-tracing': 1.0.0-preview.13 '@azure/logger': 1.0.4 events: 3.3.0 - tslib: 2.5.2 + tslib: 2.5.3 transitivePeerDependencies: - encoding @@ -497,13 +497,13 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-http': 3.0.1 + '@azure/core-http': 3.0.2 '@azure/core-lro': 2.5.3 '@azure/core-paging': 1.5.0 '@azure/core-tracing': 1.0.0-preview.13 '@azure/logger': 1.0.4 events: 3.3.0 - tslib: 2.5.2 + tslib: 2.5.3 transitivePeerDependencies: - encoding dev: false @@ -536,10 +536,10 @@ packages: '@babel/helper-compilation-targets': 7.22.1_@babel+core@7.22.1 '@babel/helper-module-transforms': 7.22.1 '@babel/helpers': 7.22.3 - '@babel/parser': 7.22.3 + '@babel/parser': 7.22.4 '@babel/template': 7.21.9 - '@babel/traverse': 7.22.1 - '@babel/types': 7.22.3 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -553,7 +553,7 @@ packages: resolution: {integrity: sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.3 + '@babel/types': 7.22.4 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 @@ -583,21 +583,21 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.21.9 - '@babel/types': 7.22.3 + '@babel/types': 7.22.4 dev: true /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.3 + '@babel/types': 7.22.4 dev: true /@babel/helper-module-imports/7.21.4: resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.3 + '@babel/types': 7.22.4 dev: true /@babel/helper-module-transforms/7.22.1: @@ -610,8 +610,8 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.21.9 - '@babel/traverse': 7.22.1 - '@babel/types': 7.22.3 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 transitivePeerDependencies: - supports-color dev: true @@ -620,14 +620,14 @@ packages: resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.3 + '@babel/types': 7.22.4 dev: true /@babel/helper-split-export-declaration/7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.3 + '@babel/types': 7.22.4 dev: true /@babel/helper-string-parser/7.21.5: @@ -650,8 +650,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.21.9 - '@babel/traverse': 7.22.1 - '@babel/types': 7.22.3 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 transitivePeerDependencies: - supports-color dev: true @@ -665,8 +665,8 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.22.3: - resolution: {integrity: sha512-vrukxyW/ep8UD1UDzOYpTKQ6abgjFoeG6L+4ar9+c5TN9QnlqiOi6QK7LSR5ewm/ERyGkT/Ai6VboNrxhbr9Uw==} + /@babel/parser/7.22.4: + resolution: {integrity: sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==} engines: {node: '>=6.0.0'} hasBin: true dev: true @@ -690,12 +690,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.21.4 - '@babel/parser': 7.22.3 - '@babel/types': 7.22.3 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 dev: true - /@babel/traverse/7.22.1: - resolution: {integrity: sha512-lAWkdCoUFnmwLBhIRLciFntGYsIIoC6vIbN8zrLPqBnJmPu7Z6nzqnKd7FsxQUNAvZfVZ0x6KdNvNp8zWIOHSQ==} + /@babel/traverse/7.22.4: + resolution: {integrity: sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.21.4 @@ -704,16 +704,16 @@ packages: '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.22.3 - '@babel/types': 7.22.3 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types/7.22.3: - resolution: {integrity: sha512-P3na3xIQHTKY4L0YOG7pM8M8uoUIB910WQaSiiMCZUC2Cy8XFEQONGABFnHWBa2gpGKODTAJcNhi5Zk0sLRrzg==} + /@babel/types/7.22.4: + resolution: {integrity: sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.21.5 @@ -2006,8 +2006,8 @@ packages: transitivePeerDependencies: - debug - /axios/1.4.0: - resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} + /axios/1.1.0: + resolution: {integrity: sha512-hsJgcqz4JY7f+HZ4cWTrPZ6tZNCNFPTRx1MjRqu/hbpgpHdSCUpLVuplc+jE/h7dOvyANtw/ERA3HC2Rz/QoMg==} dependencies: follow-redirects: 1.15.2 form-data: 4.0.0 @@ -2081,8 +2081,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001489 - electron-to-chromium: 1.4.411 + caniuse-lite: 1.0.30001495 + electron-to-chromium: 1.4.423 node-releases: 2.0.12 update-browserslist-db: 1.0.11_browserslist@4.21.7 dev: true @@ -2134,8 +2134,8 @@ packages: engines: {node: '>=10'} dev: false - /caniuse-lite/1.0.30001489: - resolution: {integrity: sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==} + /caniuse-lite/1.0.30001495: + resolution: {integrity: sha512-F6x5IEuigtUfU5ZMQK2jsy5JqUUlEFRVZq8bO2a+ysq5K7jD6PPc9YXZj78xDNS3uNchesp1Jw47YXEqr+Viyg==} dev: true /caseless/0.12.0: @@ -2511,7 +2511,7 @@ packages: cli-table3: 0.6.3 commander: 5.1.0 common-tags: 1.8.2 - dayjs: 1.11.7 + dayjs: 1.11.8 debug: 4.3.4_supports-color@8.1.1 enquirer: 2.3.6 eventemitter2: 6.4.7 @@ -2550,8 +2550,8 @@ packages: assert-plus: 1.0.0 dev: false - /dayjs/1.11.7: - resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} + /dayjs/1.11.8: + resolution: {integrity: sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==} dev: false /debounce/1.2.1: @@ -2732,8 +2732,8 @@ packages: safer-buffer: 2.1.2 dev: false - /electron-to-chromium/1.4.411: - resolution: {integrity: sha512-5VXLW4Qw89vM2WTICHua/y8v7fKGDRVa2VPOtBB9IpLvW316B+xd8yD1wTmLPY2ot/00P/qt87xdolj4aG/Lzg==} + /electron-to-chromium/1.4.423: + resolution: {integrity: sha512-y4A7YfQcDGPAeSWM1IuoWzXpg9RY1nwHzHSwRtCSQFp9FgAVDgdWlFf0RbdWfLWQ2WUI+bddUgk5RgTjqRE6FQ==} dev: true /emoji-regex/8.0.0: @@ -5151,7 +5151,7 @@ packages: /rxjs/7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.5.2 + tslib: 2.5.3 dev: false /safe-buffer/5.2.1: @@ -5574,8 +5574,8 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib/2.5.2: - resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==} + /tslib/2.5.3: + resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} /tsutils/3.21.0_typescript@4.4.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} diff --git a/itwin-platform-access/imodels-access-backend/package.json b/itwin-platform-access/imodels-access-backend/package.json index 4edcd08e..5b5363c1 100644 --- a/itwin-platform-access/imodels-access-backend/package.json +++ b/itwin-platform-access/imodels-access-backend/package.json @@ -33,7 +33,7 @@ "dependencies": { "@azure/abort-controller": "^1.1.0", "@itwin/imodels-client-authoring": "workspace:*", - "axios": "^1.0.0" + "axios": "1.1.0" }, "devDependencies": { "@itwin/core-backend": "^4.0.0", diff --git a/itwin-platform-access/imodels-access-backend/src/BackendIModelsAccess.ts b/itwin-platform-access/imodels-access-backend/src/BackendIModelsAccess.ts index ef287fbb..2aceeb3d 100644 --- a/itwin-platform-access/imodels-access-backend/src/BackendIModelsAccess.ts +++ b/itwin-platform-access/imodels-access-backend/src/BackendIModelsAccess.ts @@ -247,7 +247,7 @@ export class BackendIModelsAccess implements BackendHubAccess { const contentRangeHeaderName = "content-range"; const response: AxiosResponse = await axios.get(downloadUrl, { headers: { Range: emptyRangeHeaderValue } }); - const rangeHeaderValue: string = response.headers[contentRangeHeaderName]; + const rangeHeaderValue: string = response.headers[contentRangeHeaderName]!; const rangeTotalBytesString: string = rangeHeaderValue.split("/")[1]; const rangeTotalBytes: number = parseInt(rangeTotalBytesString, 10); diff --git a/tests/imodels-clients-tests/package.json b/tests/imodels-clients-tests/package.json index 032d3822..0d52c2c6 100644 --- a/tests/imodels-clients-tests/package.json +++ b/tests/imodels-clients-tests/package.json @@ -42,7 +42,7 @@ "@itwin/imodels-client-test-utils": "workspace:*", "@itwin/object-storage-azure": "^1.6.0", "@itwin/object-storage-core": "^1.6.0", - "axios": "^1.0.0", + "axios": "1.1.0", "chai": "~4.3.4", "chai-as-promised": "~7.1.1", "dotenv": "~10.0.0", diff --git a/utils/imodels-client-test-utils/package.json b/utils/imodels-client-test-utils/package.json index 05c4b546..5ea34b7f 100644 --- a/utils/imodels-client-test-utils/package.json +++ b/utils/imodels-client-test-utils/package.json @@ -33,7 +33,7 @@ "@itwin/imodels-client-authoring": "workspace:*", "@itwin/imodels-client-management": "workspace:*", "@itwin/object-storage-core": "^1.6.0", - "axios": "^1.0.0", + "axios": "1.1.0", "chai": "~4.3.4", "dotenv": "~10.0.0", "inversify": "~5.0.1", From 1ee050a5974d4020aabb7b1d07bf78158740a7d3 Mon Sep 17 00:00:00 2001 From: Denisas Savickis Date: Mon, 12 Jun 2023 12:36:35 +0300 Subject: [PATCH 10/10] changes --- .../src/ThumbnailOperations.test.ts | 5 ++++- .../src/integration/management/ThumbnailOperations.test.ts | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts index 6fb917d3..0d0302bc 100644 --- a/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts +++ b/tests/imodels-clients-tests-browser/src/ThumbnailOperations.test.ts @@ -73,7 +73,10 @@ describe(`[Management] ${ThumbnailOperations.name}`, () => { // Arrange const iModelScopedOperationParams: IModelScopedOperationParams = { authorization, - iModelId: testIModelForWriteId + iModelId: testIModelForWriteId, + headers: { + "Accept-Encoding": "gzip,deflate,compress" + } }; const initialThumbnail: Thumbnail = await iModelsClient.thumbnails.download(iModelScopedOperationParams); diff --git a/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts b/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts index 11505150..7a36cea0 100644 --- a/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts +++ b/tests/imodels-clients-tests/src/integration/management/ThumbnailOperations.test.ts @@ -112,7 +112,10 @@ describe("[Management] ThumbnailOperations", () => { // Arrange const iModelScopedOperationParams: IModelScopedOperationParams = { authorization, - iModelId: testIModelForWrite.id + iModelId: testIModelForWrite.id, + headers: { + "Accept-Encoding": "gzip,deflate,compress" + } }; const initialThumbnail: Thumbnail = await iModelsClient.thumbnails.download(iModelScopedOperationParams);