From 67f4c124cdf21a3a8e6e5d84a237bc203f9c0b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0smail=20=C3=87A=C4=9EDA=C5=9E?= Date: Tue, 8 Sep 2020 15:04:56 +0300 Subject: [PATCH] renamed some files and added new unit tests --- .../Volo/Abp/Cli/Build/DotNetProjectInfo.cs | 13 ----- .../DotNetProjectInfoEqualityComparer.cs | 17 ++++++ .../Volo/Abp/Cli/Build/GitRepository.cs | 4 +- ...ryExtensions.cs => GitRepositoryHelper.cs} | 9 +--- ....cs => IDotNetProjectBuildConfigReader.cs} | 0 .../Abp/Cli/Build/IGitRepositoryHelper.cs | 9 ++++ .../Build/GitRepositoryBuildStatus_Tests.cs | 22 ++++++++ .../Volo/Abp/Cli/Build/GitRepository_Tests.cs | 52 +++++++++++++++++++ 8 files changed, 103 insertions(+), 23 deletions(-) create mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DotNetProjectInfoEqualityComparer.cs rename framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/{GitRepositoryExtensions.cs => GitRepositoryHelper.cs} (79%) rename framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/{IBuildArgsReader.cs => IDotNetProjectBuildConfigReader.cs} (100%) create mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/IGitRepositoryHelper.cs create mode 100644 framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/Build/GitRepository_Tests.cs diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DotNetProjectInfo.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DotNetProjectInfo.cs index 4506094ebb..0bc431d3a0 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DotNetProjectInfo.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DotNetProjectInfo.cs @@ -19,17 +19,4 @@ namespace Volo.Abp.Cli.Build Dependencies = new List(); } } - - public class DotNetProjectInfoEqualityComparer : EqualityComparer - { - public override bool Equals(DotNetProjectInfo x, DotNetProjectInfo y) - { - return (x == null && y == null) || (x != null && y != null && x.CsProjPath == y.CsProjPath); - } - - public override int GetHashCode(DotNetProjectInfo obj) - { - return obj == null ? 0 : obj.CsProjPath.GetHashCode(); - } - } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DotNetProjectInfoEqualityComparer.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DotNetProjectInfoEqualityComparer.cs new file mode 100644 index 0000000000..c6f8e5dd53 --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DotNetProjectInfoEqualityComparer.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; + +namespace Volo.Abp.Cli.Build +{ + public class DotNetProjectInfoEqualityComparer : EqualityComparer + { + public override bool Equals(DotNetProjectInfo x, DotNetProjectInfo y) + { + return (x == null && y == null) || (x != null && y != null && x.CsProjPath == y.CsProjPath); + } + + public override int GetHashCode(DotNetProjectInfo obj) + { + return obj == null ? 0 : obj.CsProjPath.GetHashCode(); + } + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepository.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepository.cs index 94e218757f..eb1acafd82 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepository.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepository.cs @@ -36,7 +36,7 @@ namespace Volo.Abp.Cli.Build IgnoredDirectories = new List(); } - public string GetUniqueName(string uniqueName) + public string GetUniqueName(string prefix) { var name = Name + "_" + BranchName; foreach (var dependingRepository in DependingRepositories) @@ -44,7 +44,7 @@ namespace Volo.Abp.Cli.Build AddToUniqueName(dependingRepository, name); } - return (uniqueName.IsNullOrEmpty() ? "" : uniqueName + "_") + name.ToMd5(); + return (prefix.IsNullOrEmpty() ? "" : prefix + "_") + name.ToMd5(); } private void AddToUniqueName(GitRepository gitRepository, string name) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepositoryExtensions.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepositoryHelper.cs similarity index 79% rename from framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepositoryExtensions.cs rename to framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepositoryHelper.cs index 937f3e3af5..51c84f0f61 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepositoryExtensions.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepositoryHelper.cs @@ -21,11 +21,4 @@ namespace Volo.Abp.Cli.Build } } } - - public interface IGitRepositoryHelper - { - string GetLastCommitId(GitRepository repository); - - string GetFriendlyName(GitRepository repository); - } -} +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/IBuildArgsReader.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/IDotNetProjectBuildConfigReader.cs similarity index 100% rename from framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/IBuildArgsReader.cs rename to framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/IDotNetProjectBuildConfigReader.cs diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/IGitRepositoryHelper.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/IGitRepositoryHelper.cs new file mode 100644 index 0000000000..a1402c7dda --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/IGitRepositoryHelper.cs @@ -0,0 +1,9 @@ +namespace Volo.Abp.Cli.Build +{ + public interface IGitRepositoryHelper + { + string GetLastCommitId(GitRepository repository); + + string GetFriendlyName(GitRepository repository); + } +} diff --git a/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/Build/GitRepositoryBuildStatus_Tests.cs b/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/Build/GitRepositoryBuildStatus_Tests.cs index 070c32e819..d9ce5aaca9 100644 --- a/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/Build/GitRepositoryBuildStatus_Tests.cs +++ b/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/Build/GitRepositoryBuildStatus_Tests.cs @@ -177,5 +177,27 @@ namespace Volo.Abp.Cli.Build existingBuildStatus.CommitId.ShouldBe("21"); } + + [Fact] + public void GetChild_Test() + { + var existingBuildStatus = new GitRepositoryBuildStatus("repo-1", "dev") + { + DependingRepositories = new List() + { + new GitRepositoryBuildStatus("repo-2", "dev") + { + DependingRepositories = new List() + { + new GitRepositoryBuildStatus("repo-3", "dev") + } + }, + new GitRepositoryBuildStatus("repo-4", "dev") + } + }; + + existingBuildStatus.GetChild("repo-3").RepositoryName.ShouldBe("repo-3"); + existingBuildStatus.GetChild("repo-4").RepositoryName.ShouldBe("repo-4"); + } } } diff --git a/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/Build/GitRepository_Tests.cs b/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/Build/GitRepository_Tests.cs new file mode 100644 index 0000000000..17cc8b9dc4 --- /dev/null +++ b/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/Build/GitRepository_Tests.cs @@ -0,0 +1,52 @@ +using System.Collections.Generic; +using Shouldly; +using Xunit; + +namespace Volo.Abp.Cli.Build +{ + public class GitRepository_Tests : AbpCliTestBase + { + [Fact] + public void GetUniqueName_Test() + { + var gitRepository = new GitRepository("repo-1", "dev", "") + { + DependingRepositories = new List + { + new GitRepository("repo-2", "dev", ""), + new GitRepository("repo-3", "dev", "") + { + DependingRepositories = new List() + { + new GitRepository("repo-4", "dev", "") + } + } + } + }; + + gitRepository.GetUniqueName("").ShouldBe("B25C935F97D7B3375530A96B392B7644"); + gitRepository.GetUniqueName("production").ShouldBe("production_B25C935F97D7B3375530A96B392B7644"); + } + + [Fact] + public void FindRepositoryOf_Test() + { + var gitRepository = new GitRepository("repo-1", "dev", "/repo-1/dev/") + { + DependingRepositories = new List + { + new GitRepository("repo-2", "dev", "/repo-2/dev/"), + new GitRepository("repo-3", "dev", "/repo-3/dev/") + { + DependingRepositories = new List() + { + new GitRepository("repo-4", "dev", "/repo-4/dev/") + } + } + } + }; + + gitRepository.FindRepositoryOf("/repo-4/dev/A.csproj").ShouldBe("repo-4"); + } + } +}