Example #1
0
        public async Task ChangePreWithBadFormatTest()
        {
            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile("MySolution.sln");
                fs.CreateFolder("src/Services");
                fs.CreateFile("src/Services/project1.csproj", ProjectHelper.SetVersion("5.0.8-beta"));
                var store   = new ProjectStore();
                var command = new PreCommand(GitHelper.CreateDefaultGitMock().Object);
                var context = new CommandContext(_console, Verbosity.Info);
                context.Directory = fs.RootPath;

                await Assert.ThrowsAsync <FormatException>(() => command.ExecuteAsync(context));
            }
        }
        public void FiltersExcludedFiles(string filename, FileAttributes attributes, ExclusionFilters filters, bool excluded)
        {
            var fileInfo = new FileInfo(Path.Combine(_fileSystem.RootPath, filename));

            _fileSystem.CreateFile(fileInfo);
            fileInfo.Attributes = attributes;

            Assert.Equal(excluded, FileSystemInfoHelper.IsExcluded(_fileSystem.GetFile(filename), filters));
        }
Example #3
0
        public async Task ChangeVersionWithoutNoGitToolTest()
        {
            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile("MySolution.sln");
                fs.CreateFolder("src/Services");
                fs.CreateFile("src/Services/project1.csproj", ProjectHelper.SetVersion("1.5.1"));
                var store   = new ProjectStore();
                var command = new MajorCommand(GitHelper.CreateDefaultGitMock().Object);
                var context = new CommandContext(_console, Verbosity.Info);
                context.Directory = fs.RootPath;
                context.Message   = "test";

                var exception = await Assert.ThrowsAsync <InvalidOperationException>(() => command.ExecuteAsync(context));

                Assert.Equal("Unable to commit because git is not installed.", exception.Message);
            }
        }
Example #4
0
        public async Task ChangeVersionTest()
        {
            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile("MySolution.sln");
                fs.CreateFolder("src/Services");
                fs.CreateFile("src/Services/project1.csproj", ProjectHelper.SetVersion("1.5.1"));
                var store   = new ProjectStore();
                var command = new SetCommand(GitHelper.CreateDefaultGitMock().Object);
                var context = new CommandContext(_console, Verbosity.Info);
                context.Directory = fs.RootPath;

                await command.ExecuteAsync(context, "3.0.1");

                var project = store.Read(PathHelper.GetFile(fs, "src/Services/project1.csproj"));

                Assert.Equal("3.0.1", project.Version);
            }
        }
Example #5
0
        public async Task CreateCommitTest()
        {
            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile("MySolution.sln");
                fs.CreateFolder("src/Services");
                fs.CreateFile("src/Services/project1.csproj", ProjectHelper.SetVersion("1.5.1"));
                var store   = new ProjectStore();
                var gitMock = GitHelper.CreateGitMock(true);

                var command = new MajorCommand(gitMock.Object);
                var context = new CommandContext(_console, Verbosity.Info);
                context.Directory = fs.RootPath;
                context.Message   = "test";

                await command.ExecuteAsync(context);

                gitMock.Verify(git => git.IsInstalled());
                gitMock.Verify(git => git.RunCommandAsync(It.IsAny <CommandContext>(), It.Is <string>(args => args.Equals("commit -a -m \"test\""))));
            }
        }
        public void FindWithProjectFiles()
        {
            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile("project1.csproj")
                .CreateFile("project2.csproj");
                var finder = new ProjectFinder(fs.RootPath);

                var projects = finder.FindProjects().OrderBy(p => p.Name).ToArray();

                Assert.Equal("project1.csproj", projects[0].Name);
                Assert.Equal("project2.csproj", projects[1].Name);
            }
        }
        public void UpdateProjectWithBadVersionTest()
        {
            string projectFile = "MyProject.csproj";

            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile(projectFile, ProjectHelper.SetVersion("1.4.0"));
                var store   = new ProjectStore();
                var project = store.Read(CreateFileInfo(fs, projectFile));
                project.Version = "${BuildVersion}";

                Assert.Throws <ArgumentException>("version", () => store.Save(project));
            }
        }
        public void ReadProjectWithPatchTest()
        {
            string projectFile = "MyProject.csproj";

            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile(projectFile, ProjectHelper.SetVersion("1.3.5"));
                var store = new ProjectStore();

                var project = store.Read(CreateFileInfo(fs, projectFile));

                Assert.Equal("1.3.5", project.Version);
            }
        }
        public void ReadNoVersionTest()
        {
            string projectFile = "project2.csproj";

            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile(projectFile, ProjectHelper.SetVersion(string.Empty));
                var store = new ProjectStore();

                var project = store.Read(CreateFileInfo(fs, projectFile));

                Assert.Equal("0.1.0", project.Version);
            }
        }
        public void UpdateProjectTest()
        {
            string projectFile = "MyProject.csproj";

            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile(projectFile, ProjectHelper.SetVersion("1.4.0"));
                var store   = new ProjectStore();
                var project = store.Read(CreateFileInfo(fs, projectFile));
                project.Version = "2.0";

                store.Save(project);
                var newProject = store.Read(CreateFileInfo(fs, projectFile));

                Assert.Equal("2.0", project.Version);
            }
        }
Example #11
0
        public void FindWithSolutionFile()
        {
            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile("MySolution.sln")
                .CreateFolder("src/project")
                .CreateFile("src/project/proj1.csproj");
                var finder = new ProjectFinder(fs.RootPath);


                var projectFiles = finder.FindProjects();
                var project      = projectFiles.First();


                Assert.Single(projectFiles);
                Assert.Equal("proj1.csproj", project.Name);
            }
        }
Example #12
0
        public async Task ChangeNullVersionTest()
        {
            using (var fs = new DisposableFileSystem())
            {
                fs.CreateFile("MySolution.sln")
                .CreateFolder("src/Services/project1")
                .CreateFile("src/Services/project1/project1.csproj", ProjectHelper.SetVersion("1.5.1"))
                .CreateFolder("src/Services/project2")
                .CreateFile("src/Services/project2/project2.csproj", ProjectHelper.SetVersion("2.1.0"));
                var store   = new ProjectStore();
                var command = new SetCommand(GitHelper.CreateDefaultGitMock().Object);
                var context = new CommandContext(_console, Verbosity.Info);
                context.Directory = fs.RootPath;

                var exception = await Assert.ThrowsAsync <ArgumentNullException>(() => command.ExecuteAsync(context, null));

                Assert.Equal("version", exception.ParamName);
            }
        }