예제 #1
0
        public Task EnsureExpectedKudusyncBehavior()
        {
            return(ApplicationManager.RunAsync("EnsureExpectedKudusyncBehavior", async appManager =>
            {
                var origTime = DateTime.Now;
                var files = CreateRandomFilesForZip(10);
                foreach (var file in files)
                {
                    file.ModifiedTime = origTime;
                }

                var response = await DeployZip(appManager, files, new ZipDeployMetadata());
                response.EnsureSuccessStatusCode();
                await AssertSuccessfulDeploymentByContent(appManager, files);

                // Deploy a new zip with some new files, some modified files, and some old files
                var newFiles = CreateRandomFilesForZip(3);
                var oldfile = files[0];
                var modifiedFile = new FileForZip {
                    Filename = files[1].Filename, Content = "UPDATED", ModifiedTime = DateTime.Now
                };
                var files2 = newFiles.Concat(new[] { oldfile, modifiedFile }).ToArray();

                var response2 = await DeployZip(appManager, files2, new ZipDeployMetadata());
                response2.EnsureSuccessStatusCode();
                await AssertSuccessfulDeploymentByContent(appManager, files2);

                // Would need to check the trace log to ensure that the old file wasn't actually copied, but preserved.
            }));
        }
예제 #2
0
        public Task TestEmptyZipClearsWwwroot()
        {
            return(ApplicationManager.RunAsync("TestEmptyZipClearsWwwroot", async appManager =>
            {
                var files = CreateRandomFilesForZip(10);
                var response = await DeployZip(appManager, files, new ZipDeployMetadata());
                response.EnsureSuccessStatusCode();
                await AssertSuccessfulDeploymentByFilenames(appManager, files.Select(f => f.Filename).ToArray());

                var empty = new FileForZip[0];
                var response2 = await DeployZip(appManager, empty, new ZipDeployMetadata());
                await AssertSuccessfulDeploymentByFilenames(appManager, new string[0]);
            }));
        }
예제 #3
0
        public Task EnsureProjectSettingHonored()
        {
            return(ApplicationManager.RunAsync("EnsureProjectSettingHonored", async appManager =>
            {
                await appManager.SettingsManager.SetValue("PROJECT", "subdir");

                var rootFile = new FileForZip {
                    Filename = "should-not-be-deployed", Content = ""
                };
                var subdirFile = new FileForZip {
                    Filename = "subdir/should-be-deployed", Content = ""
                };

                var files = new[] { rootFile, subdirFile };
                var response = await DeployZip(appManager, files, new ZipDeployMetadata());
                response.EnsureSuccessStatusCode();
                await AssertSuccessfulDeploymentByFilenames(appManager, new[] { "should-be-deployed" });
            }));
        }