public void RestartAzureASInstance_NullInstanceThrows() { Mock <ICommandRuntime> commandRuntimeMock = new Mock <ICommandRuntime>(); var mockAsAzureHttpClient = new Mock <IAsAzureHttpClient>(); var mockTokenCacheItemProvider = new Mock <ITokenCacheItemProvider>(); var restartCmdlet = new RestartAzureAnalysisServer(mockAsAzureHttpClient.Object, mockTokenCacheItemProvider.Object) { CommandRuntime = commandRuntimeMock.Object }; // Setup // Clear the the current profile AsAzureClientSession.Instance.Profile.Environments.Clear(); var mockAuthenticationProvider = new Mock <IAsAzureAuthenticationProvider>(); mockAuthenticationProvider.Setup( authProvider => authProvider.GetAadAuthenticatedToken( It.IsAny <AsAzureContext>(), It.IsAny <SecureString>(), #if NETSTANDARD It.IsAny <Action <string> >(), #else It.IsAny <PromptBehavior>(), #endif It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Uri>())).Returns(testToken); AsAzureClientSession.Instance.SetAsAzureAuthenticationProvider(mockAuthenticationProvider.Object); commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny <string>(), It.IsAny <string>())).Returns(true); restartCmdlet.Instance = null; // Act Assert.Throws <TargetInvocationException>(() => restartCmdlet.InvokeBeginProcessing()); }
public void RestartAzureASInstance_Succeeds() { Mock <ICommandRuntime> commandRuntimeMock = new Mock <ICommandRuntime>(); // Setup // Clear the the current profile AsAzureClientSession.Instance.Profile.Environments.Clear(); var mockAuthenticationProvider = new Mock <IAsAzureAuthenticationProvider>(); mockAuthenticationProvider.Setup( authProvider => authProvider.GetAadAuthenticatedToken( It.IsAny <AsAzureContext>(), It.IsAny <SecureString>(), #if NETSTANDARD It.IsAny <Action <string> >(), #else It.IsAny <PromptBehavior>(), #endif It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Uri>())).Returns(testToken); AsAzureClientSession.Instance.SetAsAzureAuthenticationProvider(mockAuthenticationProvider.Object); commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny <string>(), It.IsAny <string>())).Returns(true); // Set up AsAzureHttpClient mock var mockAsAzureHttpClient = new Mock <IAsAzureHttpClient>(); mockAsAzureHttpClient .Setup(obj => obj.CallPostAsync(It.IsAny <Uri>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <HttpContent>())) .Returns(Task <HttpResponseMessage> .FromResult(new HttpResponseMessage(HttpStatusCode.OK))); var mockTokenCacheItemProvider = new Mock <ITokenCacheItemProvider>(); mockTokenCacheItemProvider .Setup(obj => obj.GetTokenFromTokenCache(It.IsAny <TokenCache>(), It.IsAny <string>())) .Returns(testToken); var restartCmdlet = new RestartAzureAnalysisServer(mockAsAzureHttpClient.Object, mockTokenCacheItemProvider.Object) { CommandRuntime = commandRuntimeMock.Object }; var addAmdlet = new AddAzureASAccountCommand() { CommandRuntime = commandRuntimeMock.Object }; DoLogin(addAmdlet); restartCmdlet.Instance = testServer; // Act restartCmdlet.InvokeBeginProcessing(); restartCmdlet.ExecuteCmdlet(); restartCmdlet.InvokeEndProcessing(); }
/// <summary> /// Create a properly mocked restart cmdlet. /// </summary> /// <param name="instance">The test server instance name.</param> /// <returns>A properly mocked restart cmdlet.</returns> private static RestartAzureAnalysisServer CreateTestRestartCmdlet(string instance) { var commandRuntimeMock = new Mock <ICommandRuntime>(); commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny <string>(), It.IsAny <string>())).Returns(true); var cmdlet = new RestartAzureAnalysisServer() { CommandRuntime = commandRuntimeMock.Object, Instance = instance }; return(cmdlet); }