public void UpdatesRemote()
        {
            // Setup
            var            mockClient = new Mock <IWebsitesClient>();
            string         slot       = WebsiteSlotName.Staging.ToString();
            SiteProperties props      = new SiteProperties()
            {
                Properties = new List <NameValuePair>()
                {
                    new NameValuePair()
                    {
                        Name = "RepositoryUri", Value = "https://[email protected]:443/website.git"
                    },
                    new NameValuePair()
                    {
                        Name = "PublishingUsername", Value = "test"
                    }
                }
            };

            mockClient.Setup(c => c.GetWebsiteSlots("website1"))
            .Returns(
                new List <Site> {
                new Site {
                    Name = "website1", WebSpace = "webspace1", SiteProperties = props
                },
                new Site {
                    Name = "website1(staging)", WebSpace = "webspace1", SiteProperties = props
                }
            });
            mockClient.Setup(c => c.GetSlotName("website1"))
            .Returns(WebsiteSlotName.Production.ToString())
            .Verifiable();
            mockClient.Setup(c => c.GetSlotName("website1(staging)"))
            .Returns(WebsiteSlotName.Staging.ToString())
            .Verifiable();

            // Test
            UpdateAzureWebsiteRepositoryCommand cmdlet = new UpdateAzureWebsiteRepositoryCommand
            {
                CommandRuntime = new MockCommandRuntime(),
                WebsitesClient = mockClient.Object,
                Name           = "website1",
            };

            currentProfile = new AzureSMProfile();
            var subscription = new AzureSubscription {
                Id = new Guid(base.subscriptionId)
            };

            subscription.Properties[AzureSubscription.Property.Default] = "True";
            currentProfile.Subscriptions[new Guid(base.subscriptionId)] = subscription;

            // Switch existing website
            cmdlet.ExecuteCmdlet();
            mockClient.Verify(c => c.GetSlotName("website1(staging)"), Times.Once());
            mockClient.Verify(c => c.GetSlotName("website1"), Times.Once());
        }
        public void UpdatesRemote()
        {
            // Setup
            var mockClient = new Mock<IWebsitesClient>();
            string slot = WebsiteSlotName.Staging.ToString();
            SiteProperties props = new SiteProperties()
            {
                Properties = new List<NameValuePair>()
                {
                    new NameValuePair() { Name = "RepositoryUri", Value = "https://[email protected]:443/website.git" },
                    new NameValuePair() { Name = "PublishingUsername", Value = "test" }
                }
            };

            mockClient.Setup(c => c.GetWebsiteSlots("website1"))
                .Returns(
                new List<Site> { 
                    new Site { Name = "website1", WebSpace = "webspace1", SiteProperties = props },
                    new Site { Name = "website1(staging)", WebSpace = "webspace1", SiteProperties = props }
                });
            mockClient.Setup(c => c.GetSlotName("website1"))
                .Returns(WebsiteSlotName.Production.ToString())
                .Verifiable();
            mockClient.Setup(c => c.GetSlotName("website1(staging)"))
                .Returns(WebsiteSlotName.Staging.ToString())
                .Verifiable();

            // Test
            UpdateAzureWebsiteRepositoryCommand cmdlet = new UpdateAzureWebsiteRepositoryCommand
            {
                CommandRuntime = new MockCommandRuntime(),
                WebsitesClient = mockClient.Object,
                Name = "website1",
                CurrentSubscription = new WindowsAzureSubscription { SubscriptionId = base.subscriptionId },
            };

            // Switch existing website
            cmdlet.ExecuteCmdlet();
            mockClient.Verify(c => c.GetSlotName("website1(staging)"), Times.Once());
            mockClient.Verify(c => c.GetSlotName("website1"), Times.Once());
        }