Example #1
0
        public void PublishFromProjectFile()
        {
            var    websiteName       = "test-site";
            string slot              = null;
            var    projectFile       = string.Format(@"{0}\Resources\MyWebApplication\WebApplication4.csproj", Directory.GetCurrentDirectory());
            var    configuration     = "Debug";
            var    logFile           = string.Format(@"{0}\build.log", Directory.GetCurrentDirectory());
            var    connectionStrings = new Hashtable();

            connectionStrings["DefaultConnection"] = "test-connection-string";

            using (FileSystemHelper files = new FileSystemHelper(this))
            {
                string originalDirectory = Directory.GetCurrentDirectory();
            }

            var publishProfile = new WebSiteGetPublishProfileResponse.PublishProfile()
            {
                UserName     = "******",
                UserPassword = "******",
                PublishUrl   = "test-publlish-url"
            };
            var package = "test-package.zip";

            var published = false;

            Mock <IWebsitesClient> clientMock = new Mock <IWebsitesClient>();

            clientMock.Setup(c => c.GetWebDeployPublishProfile(websiteName, slot)).Returns(publishProfile);
            clientMock.Setup(c => c.BuildWebProject(projectFile, configuration, logFile)).Returns(package);
            clientMock.Setup(c => c.PublishWebProject(websiteName, slot, package, connectionStrings, false, false))
            .Callback((string n, string s, string p, Hashtable cs, bool skipAppData, bool doNotDelete) =>
            {
                Assert.Equal(websiteName, n);
                Assert.Equal(slot, s);
                Assert.Equal(package, p);
                Assert.Equal(connectionStrings, cs);
                Assert.False(skipAppData);
                Assert.False(doNotDelete);
                published = true;
            });

            Mock <ICommandRuntime> powerShellMock = new Mock <ICommandRuntime>();

            var command = new PublishAzureWebsiteProject()
            {
                CommandRuntime   = powerShellMock.Object,
                WebsitesClient   = clientMock.Object,
                Name             = websiteName,
                ProjectFile      = projectFile,
                Configuration    = configuration,
                ConnectionString = connectionStrings
            };

            command.ExecuteCmdlet();

            powerShellMock.Verify(f => f.WriteVerbose(string.Format("[Complete] Publishing package {0}", package)), Times.Once());
            Assert.True(published);
        }
        public void PublishFromProjectFile()
        {
            var websiteName = "test-site";
            string slot = null;
            var projectFile = string.Format(@"{0}\Resources\MyWebApplication\WebApplication4.csproj", Directory.GetCurrentDirectory());
            var configuration = "Debug";
            var logFile = string.Format(@"{0}\build.log", Directory.GetCurrentDirectory());
            var connectionStrings = new Hashtable();
            connectionStrings["DefaultConnection"] = "test-connection-string";

            using (FileSystemHelper files = new FileSystemHelper(this))
            {
                string originalDirectory = Directory.GetCurrentDirectory();
            }

            var publishProfile = new WebSiteGetPublishProfileResponse.PublishProfile()
            {
                UserName = "******",
                UserPassword = "******",
                PublishUrl = "test-publlish-url"
            };
            var package = "test-package.zip";

            var published = false;

            Mock<IWebsitesClient> clientMock = new Mock<IWebsitesClient>();

            clientMock.Setup(c => c.GetWebDeployPublishProfile(websiteName, slot)).Returns(publishProfile);
            clientMock.Setup(c => c.BuildWebProject(projectFile, configuration, logFile)).Returns(package);
            clientMock.Setup(c => c.PublishWebProject(websiteName, slot, package, connectionStrings))
                .Callback((string n, string s, string p, Hashtable cs) =>
                {
                    Assert.Equal(websiteName, n);
                    Assert.Equal(slot, s);
                    Assert.Equal(package, p);
                    Assert.Equal(connectionStrings, cs);
                    published = true;
                });

            Mock<ICommandRuntime> powerShellMock = new Mock<ICommandRuntime>();

            var command = new PublishAzureWebsiteProject()
            {
                CommandRuntime = powerShellMock.Object,
                WebsitesClient = clientMock.Object,
                Name = websiteName,
                ProjectFile = projectFile,
                Configuration = configuration,
                ConnectionString = connectionStrings
            };

            command.ExecuteCmdlet();

            powerShellMock.Verify(f => f.WriteVerbose(string.Format("[Complete] Publishing package {0}", package)), Times.Once());
            Assert.True(published);
        }
Example #3
0
        public void PublishFromPackage()
        {
            var    websiteName       = "test-site";
            string slot              = null;
            var    package           = "test-package";
            var    connectionStrings = new Hashtable();

            connectionStrings["DefaultConnection"] = "test-connection-string";
            string setParametersFile = "testfile.xml";

            var publishProfile = new WebSiteGetPublishProfileResponse.PublishProfile()
            {
                UserName     = "******",
                UserPassword = "******",
                PublishUrl   = "test-publlish-url"
            };

            var published = false;

            Mock <IWebsitesClient> clientMock = new Mock <IWebsitesClient>();

            clientMock.Setup(c => c.GetWebDeployPublishProfile(websiteName, slot)).Returns(publishProfile);
            clientMock.Setup(c => c.PublishWebProject(websiteName, slot, package, setParametersFile, connectionStrings, false, false))
            .Callback((string n, string s, string p, string spf, Hashtable cs, bool skipAppData, bool doNotDelete) =>
            {
                Assert.Equal(websiteName, n);
                Assert.Equal(slot, s);
                Assert.Equal(package, p);
                Assert.Equal(setParametersFile, spf);
                Assert.Equal(connectionStrings, cs);
                Assert.False(skipAppData);
                Assert.False(doNotDelete);
                published = true;
            });

            Mock <ICommandRuntime> powerShellMock = new Mock <ICommandRuntime>();

            var command = new PublishAzureWebsiteProject()
            {
                CommandRuntime    = powerShellMock.Object,
                Name              = websiteName,
                Package           = package,
                ConnectionString  = connectionStrings,
                WebsitesClient    = clientMock.Object,
                SetParametersFile = setParametersFile
            };

            command.ExecuteCmdlet();

            powerShellMock.Verify(f => f.WriteVerbose(string.Format("[Complete] Publishing package {0}", package)), Times.Once());
            Assert.True(published);
        }
        public void PublishFromPackage()
        {
            var websiteName = "test-site";
            string slot = null;
            var package = "test-package";
            var connectionStrings = new Hashtable();
            connectionStrings["DefaultConnection"] = "test-connection-string";
            string setParametersFile = "testfile.xml";

            var publishProfile = new WebSiteGetPublishProfileResponse.PublishProfile()
            {
                UserName = "******",
                UserPassword = "******",
                PublishUrl = "test-publlish-url"
            };

            var published = false;

            Mock<IWebsitesClient> clientMock = new Mock<IWebsitesClient>();

            clientMock.Setup(c => c.GetWebDeployPublishProfile(websiteName, slot)).Returns(publishProfile);
            clientMock.Setup(c => c.PublishWebProject(websiteName, slot, package, setParametersFile, connectionStrings, false, false))
                .Callback((string n, string s, string p, string spf, Hashtable cs, bool skipAppData, bool doNotDelete) =>
                {
                    Assert.Equal(websiteName, n);
                    Assert.Equal(slot, s);
                    Assert.Equal(package, p);
                    Assert.Equal(setParametersFile, spf);
                    Assert.Equal(connectionStrings, cs);
                    Assert.False(skipAppData);
                    Assert.False(doNotDelete);
                    published = true;
                });

            Mock<ICommandRuntime> powerShellMock = new Mock<ICommandRuntime>();

            var command = new PublishAzureWebsiteProject()
            {
                CommandRuntime = powerShellMock.Object,
                Name = websiteName,
                Package = package,
                ConnectionString = connectionStrings,
                WebsitesClient = clientMock.Object,
                SetParametersFile = setParametersFile
            };

            command.ExecuteCmdlet();

            powerShellMock.Verify(f => f.WriteVerbose(string.Format("[Complete] Publishing package {0}", package)), Times.Once());
            Assert.True(published);
        }
Example #5
0
 /// <summary>
 ///     Returns publish URL for profile
 /// </summary>
 /// <param name="profile"></param>
 /// <returns></returns>
 public static string GetWebDeployUrl(this WebSiteGetPublishProfileResponse.PublishProfile profile)
 {
     return(string.Format(AzureServiceConstants.AzureWebDeployUrl, profile.PublishUrl, HttpUtility.UrlEncode(profile.MSDeploySite)));
 }