Exemple #1
0
        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());
        }
Exemple #2
0
        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);
        }