public async Task WaitForDeploymentCompletionAsync_WhenCalled_RemovesDeployIdFromDeploymentOperationsCache() { var responseMessage = "sample response"; var armDeploymentResourceResponse = StrictMock.Of <Response <ArmDeploymentResource> >(); armDeploymentResourceResponse.Setup(m => m.GetRawResponse().Status).Returns(It.IsAny <int>); armDeploymentResourceResponse.Setup(m => m.ToString()).Returns(responseMessage); var armDeploymentResourceOperation = StrictMock.Of <ArmOperation <ArmDeploymentResource> >(); armDeploymentResourceOperation.Setup(m => m.WaitForCompletionAsync(CancellationToken.None)).Returns(ValueTask.FromResult(armDeploymentResourceResponse.Object)); armDeploymentResourceOperation.Setup(m => m.HasValue).Returns(true); var documentPath = "some_path"; var deploymentId1 = "bicep_deployment_1"; var deploymentId2 = "bicep_deployment_2"; var deploymentOperationsCache = new DeploymentOperationsCache(); deploymentOperationsCache.CacheDeploymentOperation(deploymentId1, armDeploymentResourceOperation.Object); deploymentOperationsCache.CacheDeploymentOperation(deploymentId2, armDeploymentResourceOperation.Object); await DeploymentHelper.WaitForDeploymentCompletionAsync( deploymentId1, documentPath, deploymentOperationsCache); deploymentOperationsCache.FindAndRemoveDeploymentOperation(deploymentId1).Should().BeNull(); deploymentOperationsCache.FindAndRemoveDeploymentOperation(deploymentId2).Should().NotBeNull(); }
public async Task WaitForDeploymentCompletionAsync_WithStatusMessage200Or201_ReturnsDeploymentSucceededMessage(int status) { var responseMessage = "sample response"; var armDeploymentResourceResponse = StrictMock.Of <Response <ArmDeploymentResource> >(); armDeploymentResourceResponse.Setup(m => m.GetRawResponse().Status).Returns(status); armDeploymentResourceResponse.Setup(m => m.ToString()).Returns(responseMessage); var armDeploymentResourceOperation = StrictMock.Of <ArmOperation <ArmDeploymentResource> >(); armDeploymentResourceOperation.Setup(m => m.WaitForCompletionAsync(CancellationToken.None)).Returns(ValueTask.FromResult(armDeploymentResourceResponse.Object)); armDeploymentResourceOperation.Setup(m => m.HasValue).Returns(true); var documentPath = "some_path"; var deploymentId = "bicep_deployment"; var deploymentOperationsCache = new DeploymentOperationsCache(); deploymentOperationsCache.CacheDeploymentOperation(deploymentId, armDeploymentResourceOperation.Object); var bicepDeployWaitForCompletionResponse = await DeploymentHelper.WaitForDeploymentCompletionAsync( deploymentId, documentPath, deploymentOperationsCache); var expectedDeploymentOutputMessage = string.Format(LangServerResources.DeploymentSucceededMessage, documentPath); bicepDeployWaitForCompletionResponse.isSuccess.Should().BeTrue(); bicepDeployWaitForCompletionResponse.outputMessage.Should().Be(expectedDeploymentOutputMessage); }