Compare commits

...

4 Commits

Author SHA1 Message Date
Steve Faulkner
c4fd56ecb0 Merge branch 'master' into generated-clients-strict-compile 2020-09-02 15:49:38 -05:00
Steve Faulkner
a8eeeebb59 merge 2020-08-12 19:23:12 -05:00
Steve Faulkner
abe491f5cd Fix test 2020-08-06 14:34:30 -05:00
Steve Faulkner
2fc15cf322 Add generated clients to strict compile 2020-08-06 14:29:16 -05:00
3 changed files with 116 additions and 80 deletions

View File

@@ -1,6 +1,13 @@
import { armRequest } from "./request"; import { armRequest } from "./request";
import { updateUserContext } from "../../UserContext";
describe("ARM request", () => { describe("ARM request", () => {
beforeAll(() => {
updateUserContext({
authorizationToken: "foo"
});
});
it("should call window.fetch", async () => { it("should call window.fetch", async () => {
window.fetch = jest.fn().mockResolvedValue({ window.fetch = jest.fn().mockResolvedValue({
ok: true, ok: true,

View File

@@ -24,11 +24,15 @@ interface Options {
// TODO: This is very similar to what is happening in ResourceProviderClient.ts. Should probably merge them. // TODO: This is very similar to what is happening in ResourceProviderClient.ts. Should probably merge them.
export async function armRequest<T>({ host, path, apiVersion, method, body: requestBody }: Options): Promise<T> { export async function armRequest<T>({ host, path, apiVersion, method, body: requestBody }: Options): Promise<T> {
const url = new URL(path, host); const url = new URL(path, host);
const authHeader = userContext.authorizationToken;
if (!authHeader) {
throw new Error("No ARM authorization header provided");
}
url.searchParams.append("api-version", apiVersion); url.searchParams.append("api-version", apiVersion);
const response = await window.fetch(url.href, { const response = await window.fetch(url.href, {
method, method,
headers: { headers: {
Authorization: userContext.authorizationToken Authorization: authHeader
}, },
body: requestBody ? JSON.stringify(requestBody) : undefined body: requestBody ? JSON.stringify(requestBody) : undefined
}); });
@@ -71,9 +75,13 @@ interface OperationResponse {
} }
async function getOperationStatus(operationStatusUrl: string) { async function getOperationStatus(operationStatusUrl: string) {
const authHeader = userContext.authorizationToken;
if (!authHeader) {
throw new Error("No ARM authorization header provided");
}
const response = await window.fetch(operationStatusUrl, { const response = await window.fetch(operationStatusUrl, {
headers: { headers: {
Authorization: userContext.authorizationToken Authorization: authHeader
} }
}); });
if (!response.ok) { if (!response.ok) {

View File

@@ -1,79 +1,100 @@
{ {
"extends": "./tsconfig.json", "extends": "./tsconfig.json",
"compilerOptions": { "compilerOptions": {
"noEmit": true, "noEmit": true,
"strictNullChecks": true, "strictNullChecks": true,
"strict": true, "strict": true,
"noUnusedLocals": true "noUnusedLocals": true
}, },
"files": [ "files": [
"./src/AuthType.ts", "./src/AuthType.ts",
"./src/Bindings/BindingHandlersRegisterer.ts", "./src/Bindings/BindingHandlersRegisterer.ts",
"./src/Bindings/ReactBindingHandler.ts", "./src/Bindings/ReactBindingHandler.ts",
"./src/Common/ArrayHashMap.ts", "./src/Common/ArrayHashMap.ts",
"./src/Common/Constants.ts", "./src/Common/Constants.ts",
"./src/Common/DeleteFeedback.ts", "./src/Common/DeleteFeedback.ts",
"./src/Common/HashMap.ts", "./src/Common/HashMap.ts",
"./src/Common/HeadersUtility.ts", "./src/Common/HeadersUtility.ts",
"./src/Common/Logger.ts", "./src/Common/Logger.ts",
"./src/Common/MessageHandler.ts", "./src/Common/MessageHandler.ts",
"./src/Common/MongoUtility.ts", "./src/Common/MongoUtility.ts",
"./src/Common/ObjectCache.ts", "./src/Common/ObjectCache.ts",
"./src/Common/ThemeUtility.ts", "./src/Common/ThemeUtility.ts",
"./src/Common/UrlUtility.ts", "./src/Common/UrlUtility.ts",
"./src/Common/dataAccess/sendNotificationForError.ts", "./src/Common/dataAccess/sendNotificationForError.ts",
"./src/ConfigContext.ts", "./src/ConfigContext.ts",
"./src/Contracts/ActionContracts.ts", "./src/Contracts/ActionContracts.ts",
"./src/Contracts/DataModels.ts", "./src/Contracts/DataModels.ts",
"./src/Contracts/Diagnostics.ts", "./src/Contracts/Diagnostics.ts",
"./src/Contracts/ExplorerContracts.ts", "./src/Contracts/ExplorerContracts.ts",
"./src/Contracts/Versions.ts", "./src/Contracts/Versions.ts",
"./src/Controls/Heatmap/Heatmap.ts", "./src/Controls/Heatmap/Heatmap.ts",
"./src/Controls/Heatmap/HeatmapDatatypes.ts", "./src/Controls/Heatmap/HeatmapDatatypes.ts",
"./src/Definitions/globals.d.ts", "./src/DefaultAccountExperienceType.ts",
"./src/Definitions/html.d.ts", "./src/Definitions/globals.d.ts",
"./src/Definitions/jquery-ui.d.ts", "./src/Definitions/html.d.ts",
"./src/Definitions/jquery.d.ts", "./src/Definitions/jquery-ui.d.ts",
"./src/Definitions/plotly.js-cartesian-dist.d-min.ts", "./src/Definitions/jquery.d.ts",
"./src/Definitions/svg.d.ts", "./src/Definitions/plotly.js-cartesian-dist.d-min.ts",
"./src/Explorer/Controls/ErrorDisplayComponent/ErrorDisplayComponent.ts", "./src/Definitions/svg.d.ts",
"./src/Explorer/Controls/GitHub/GitHubStyleConstants.ts", "./src/Explorer/Controls/ErrorDisplayComponent/ErrorDisplayComponent.ts",
"./src/Explorer/Controls/SmartUi/InputUtils.ts", "./src/Explorer/Controls/GitHub/GitHubStyleConstants.ts",
"./src/Explorer/Notebook/FileSystemUtil.ts", "./src/Explorer/Controls/SmartUi/InputUtils.ts",
"./src/Explorer/Notebook/NTeractUtil.ts", "./src/Explorer/Notebook/FileSystemUtil.ts",
"./src/Explorer/Notebook/NotebookComponent/actions.ts", "./src/Explorer/Notebook/NTeractUtil.ts",
"./src/Explorer/Notebook/NotebookComponent/loadTransform.ts", "./src/Explorer/Notebook/NotebookComponent/actions.ts",
"./src/Explorer/Notebook/NotebookComponent/reducers.ts", "./src/Explorer/Notebook/NotebookComponent/loadTransform.ts",
"./src/Explorer/Notebook/NotebookComponent/types.ts", "./src/Explorer/Notebook/NotebookComponent/reducers.ts",
"./src/Explorer/Notebook/NotebookContentItem.ts", "./src/Explorer/Notebook/NotebookComponent/types.ts",
"./src/Explorer/Notebook/NotebookUtil.ts", "./src/Explorer/Notebook/NotebookContentItem.ts",
"./src/Explorer/Panes/PaneComponents.ts", "./src/Explorer/Notebook/NotebookUtil.ts",
"./src/Explorer/Panes/Tables/Validators/EntityPropertyNameValidator.ts", "./src/Explorer/Panes/PaneComponents.ts",
"./src/Explorer/Panes/Tables/Validators/EntityPropertyValidationCommon.ts", "./src/Explorer/Panes/Tables/Validators/EntityPropertyNameValidator.ts",
"./src/Explorer/Tables/Constants.ts", "./src/Explorer/Panes/Tables/Validators/EntityPropertyValidationCommon.ts",
"./src/Explorer/Tables/QueryBuilder/DateTimeUtilities.ts", "./src/Explorer/Tables/Constants.ts",
"./src/Explorer/Tabs/TabComponents.ts", "./src/Explorer/Tables/QueryBuilder/DateTimeUtilities.ts",
"./src/GitHub/GitHubConnector.ts", "./src/Explorer/Tabs/TabComponents.ts",
"./src/Index.ts", "./src/GitHub/GitHubConnector.ts",
"./src/NotebookWorkspaceManager/NotebookWorkspaceResourceProviderMockClients.ts", "./src/Index.ts",
"./src/PlatformType.ts", "./src/NotebookWorkspaceManager/NotebookWorkspaceResourceProviderMockClients.ts",
"./src/ReactDevTools.ts", "./src/PlatformType.ts",
"./src/ResourceProvider/IResourceProviderClient.ts", "./src/ReactDevTools.ts",
"./src/Shared/ExplorerSettings.ts", "./src/ResourceProvider/IResourceProviderClient.ts",
"./src/Shared/StorageUtility.ts", "./src/Shared/ExplorerSettings.ts",
"./src/Shared/StringUtility.ts", "./src/Shared/StorageUtility.ts",
"./src/Shared/Telemetry/TelemetryConstants.ts", "./src/Shared/StringUtility.ts",
"./src/Shared/Telemetry/TelemetryProcessor.ts", "./src/Shared/Telemetry/TelemetryConstants.ts",
"./src/Shared/appInsights.ts", "./src/Shared/Telemetry/TelemetryProcessor.ts",
"./src/UserContext.ts", "./src/Shared/appInsights.ts",
"./src/Utils/GitHubUtils.ts", "./src/UserContext.ts",
"./src/Utils/MessageValidation.ts", "./src/Utils/Base64Utils.ts",
"./src/Utils/OfferUtils.ts", "./src/Utils/GitHubUtils.ts",
"./src/Utils/StringUtils.ts", "./src/Utils/MessageValidation.ts",
"./src/Utils/arm/generatedClients/2020-04-01/types.ts", "./src/Utils/OfferUtils.ts",
"./src/quickstart.ts", "./src/Utils/StringUtils.ts",
"./src/setupTests.ts", "./src/Utils/arm/generatedClients/2020-04-01/cassandraResources.ts",
"./src/workers/upload/definitions.ts" "./src/Utils/arm/generatedClients/2020-04-01/collection.ts",
], "./src/Utils/arm/generatedClients/2020-04-01/collectionPartition.ts",
"include": [] "./src/Utils/arm/generatedClients/2020-04-01/collectionPartitionRegion.ts",
} "./src/Utils/arm/generatedClients/2020-04-01/collectionRegion.ts",
"./src/Utils/arm/generatedClients/2020-04-01/database.ts",
"./src/Utils/arm/generatedClients/2020-04-01/databaseAccountRegion.ts",
"./src/Utils/arm/generatedClients/2020-04-01/databaseAccounts.ts",
"./src/Utils/arm/generatedClients/2020-04-01/gremlinResources.ts",
"./src/Utils/arm/generatedClients/2020-04-01/mongoDBResources.ts",
"./src/Utils/arm/generatedClients/2020-04-01/operations.ts",
"./src/Utils/arm/generatedClients/2020-04-01/partitionKeyRangeId.ts",
"./src/Utils/arm/generatedClients/2020-04-01/partitionKeyRangeIdRegion.ts",
"./src/Utils/arm/generatedClients/2020-04-01/percentile.ts",
"./src/Utils/arm/generatedClients/2020-04-01/percentileSourceTarget.ts",
"./src/Utils/arm/generatedClients/2020-04-01/percentileTarget.ts",
"./src/Utils/arm/generatedClients/2020-04-01/sqlResources.ts",
"./src/Utils/arm/generatedClients/2020-04-01/tableResources.ts",
"./src/Utils/arm/generatedClients/2020-04-01/types.ts",
"./src/Utils/arm/request.ts",
"./src/quickstart.ts",
"./src/setupTests.ts",
"./src/workers/upload/definitions.ts"
],
"include": []
}