async function handleCreateClusterRequest()

in webview-ui/src/manualTest/createClusterTests.tsx [57:116]


    async function handleCreateClusterRequest(
        isNewResourceGroup: boolean,
        groupName: string,
        location: string,
        name: string,
        webview: MessageSink<ToWebViewMsgDef>,
    ) {
        if (isNewResourceGroup) {
            webview.postProgressUpdate({
                operationDescription: `Creating Resource Group ${groupName} in ${location}`,
                event: ProgressEventType.InProgress,
                errorMessage: null,
                deploymentPortalUrl: null,
                createdCluster: null,
            });

            await new Promise((resolve) => setTimeout(resolve, 5000));
            webview.postProgressUpdate({
                operationDescription: `Successfully created ${groupName} in ${location}`,
                event: ProgressEventType.InProgress,
                errorMessage: null,
                deploymentPortalUrl: null,
                createdCluster: null,
            });
        }

        const deploymentPortalUrl = `https://portal.azure.com/#resource/subscriptions/${initialState.subscriptionId}/resourceGroups/${groupName}/providers/Microsoft.Resources/deployments/testdeployment?referrer_source=vscode&referrer_context=vscode-aks-tools-test`;
        webview.postProgressUpdate({
            operationDescription: `Creating Cluster ${name}`,
            event: ProgressEventType.InProgress,
            errorMessage: null,
            deploymentPortalUrl,
            createdCluster: null,
        });

        const waitMs = location === failLocationMarker ? 500 : location === cancelLocationMarker ? 3000 : 10000;

        const event =
            location === failLocationMarker
                ? ProgressEventType.Failed
                : location === cancelLocationMarker
                  ? ProgressEventType.Cancelled
                  : ProgressEventType.Success;

        const errorMessage = event === ProgressEventType.Failed ? "Mistakes were made" : null;

        await new Promise((resolve) => setTimeout(resolve, waitMs));
        webview.postProgressUpdate({
            operationDescription: "Creating Cluster",
            event,
            errorMessage,
            deploymentPortalUrl,
            createdCluster:
                event === ProgressEventType.Success
                    ? {
                          portalUrl: `https://portal.azure.com/#resource/subscriptions/${initialState.subscriptionId}/resourceGroups/${groupName}/providers/Microsoft.ContainerService/managedClusters/${name}?referrer_source=vscode&referrer_context=vscode-aks-tools-test`,
                      }
                    : null,
        });
    }