|
|
|
@ -16,7 +16,7 @@ namespace Volo.Abp.Cli.Build |
|
|
|
_gitRepositoryHelper = Substitute.For<IGitRepositoryHelper>(); |
|
|
|
services.AddTransient(provider => _gitRepositoryHelper); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Add_New_Build_Status_Test() |
|
|
|
{ |
|
|
|
@ -48,10 +48,10 @@ namespace Volo.Abp.Cli.Build |
|
|
|
}; |
|
|
|
|
|
|
|
existingBuildStatus.MergeWith(newBuildStatus); |
|
|
|
|
|
|
|
|
|
|
|
existingBuildStatus.SucceedProjects.Count.ShouldBe(2); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Update_Existing_Build_Status_Test() |
|
|
|
{ |
|
|
|
@ -89,10 +89,12 @@ namespace Volo.Abp.Cli.Build |
|
|
|
|
|
|
|
existingBuildStatus.MergeWith(newBuildStatus); |
|
|
|
existingBuildStatus.SucceedProjects.Count.ShouldBe(2); |
|
|
|
existingBuildStatus.GetSelfOrChild("volo").SucceedProjects.First(p => p.CsProjPath == "project1.csproj").CommitId.ShouldBe("2"); |
|
|
|
existingBuildStatus.GetSelfOrChild("volo").SucceedProjects.First(p => p.CsProjPath == "project2.csproj").CommitId.ShouldBe("2"); |
|
|
|
existingBuildStatus.GetSelfOrChild("volo").SucceedProjects.First(p => p.CsProjPath == "project1.csproj") |
|
|
|
.CommitId.ShouldBe("2"); |
|
|
|
existingBuildStatus.GetSelfOrChild("volo").SucceedProjects.First(p => p.CsProjPath == "project2.csproj") |
|
|
|
.CommitId.ShouldBe("2"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Add_New_Build_Status_For_Child_Repository_Test() |
|
|
|
{ |
|
|
|
@ -100,7 +102,7 @@ namespace Volo.Abp.Cli.Build |
|
|
|
{ |
|
|
|
DependingRepositories = new List<GitRepositoryBuildStatus>() |
|
|
|
{ |
|
|
|
new GitRepositoryBuildStatus("abp","dev") |
|
|
|
new GitRepositoryBuildStatus("abp", "dev") |
|
|
|
{ |
|
|
|
SucceedProjects = new List<DotNetProjectBuildStatus> |
|
|
|
{ |
|
|
|
@ -121,7 +123,7 @@ namespace Volo.Abp.Cli.Build |
|
|
|
{ |
|
|
|
DependingRepositories = new List<GitRepositoryBuildStatus>() |
|
|
|
{ |
|
|
|
new GitRepositoryBuildStatus("abp","dev") |
|
|
|
new GitRepositoryBuildStatus("abp", "dev") |
|
|
|
{ |
|
|
|
SucceedProjects = new List<DotNetProjectBuildStatus> |
|
|
|
{ |
|
|
|
@ -151,12 +153,12 @@ namespace Volo.Abp.Cli.Build |
|
|
|
{ |
|
|
|
CommitId = "42" |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
existingBuildStatus.MergeWith(newBuildStatus); |
|
|
|
|
|
|
|
|
|
|
|
existingBuildStatus.CommitId.ShouldBe("42"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Should_Not_Update_Repository_CommitId_When_New_CommitId_Is_Empty() |
|
|
|
{ |
|
|
|
@ -172,9 +174,9 @@ namespace Volo.Abp.Cli.Build |
|
|
|
{ |
|
|
|
CommitId = "" |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
existingBuildStatus.MergeWith(newBuildStatus); |
|
|
|
|
|
|
|
|
|
|
|
existingBuildStatus.CommitId.ShouldBe("21"); |
|
|
|
} |
|
|
|
|
|
|
|
@ -195,9 +197,122 @@ namespace Volo.Abp.Cli.Build |
|
|
|
new GitRepositoryBuildStatus("repo-4", "dev") |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
existingBuildStatus.GetChild("repo-3").RepositoryName.ShouldBe("repo-3"); |
|
|
|
existingBuildStatus.GetChild("repo-4").RepositoryName.ShouldBe("repo-4"); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void GetUniqueName_Test() |
|
|
|
{ |
|
|
|
var existingBuildStatus = new GitRepositoryBuildStatus("repo-1", "dev") |
|
|
|
{ |
|
|
|
DependingRepositories = new List<GitRepositoryBuildStatus>() |
|
|
|
{ |
|
|
|
new GitRepositoryBuildStatus("repo-2", "dev") |
|
|
|
{ |
|
|
|
DependingRepositories = new List<GitRepositoryBuildStatus>() |
|
|
|
{ |
|
|
|
new GitRepositoryBuildStatus("repo-3", "dev") |
|
|
|
} |
|
|
|
}, |
|
|
|
new GitRepositoryBuildStatus("repo-4", "dev") |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
existingBuildStatus.GetUniqueName("").ShouldBe("B25C935F97D7B3375530A96B392B7644"); |
|
|
|
existingBuildStatus.GetUniqueName("production").ShouldBe("production_B25C935F97D7B3375530A96B392B7644"); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void GetSelfOrChild_Test() |
|
|
|
{ |
|
|
|
var existingBuildStatus = new GitRepositoryBuildStatus("repo-1", "dev") |
|
|
|
{ |
|
|
|
DependingRepositories = new List<GitRepositoryBuildStatus>() |
|
|
|
{ |
|
|
|
new GitRepositoryBuildStatus("repo-2", "dev") |
|
|
|
{ |
|
|
|
DependingRepositories = new List<GitRepositoryBuildStatus>() |
|
|
|
{ |
|
|
|
new GitRepositoryBuildStatus("repo-3", "dev") |
|
|
|
} |
|
|
|
}, |
|
|
|
new GitRepositoryBuildStatus("repo-4", "dev") |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
existingBuildStatus.GetSelfOrChild("repo-1").RepositoryName.ShouldBe("repo-1"); |
|
|
|
existingBuildStatus.GetSelfOrChild("repo-2").RepositoryName.ShouldBe("repo-2"); |
|
|
|
existingBuildStatus.GetSelfOrChild("repo-3").RepositoryName.ShouldBe("repo-3"); |
|
|
|
existingBuildStatus.GetSelfOrChild("repo-4").RepositoryName.ShouldBe("repo-4"); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void AddOrUpdateProjectStatus_Test() |
|
|
|
{ |
|
|
|
var existingBuildStatus = new GitRepositoryBuildStatus("repo-1", "dev") |
|
|
|
{ |
|
|
|
DependingRepositories = new List<GitRepositoryBuildStatus>() |
|
|
|
{ |
|
|
|
new GitRepositoryBuildStatus("repo-2", "dev") |
|
|
|
{ |
|
|
|
SucceedProjects = new List<DotNetProjectBuildStatus> |
|
|
|
{ |
|
|
|
new DotNetProjectBuildStatus |
|
|
|
{ |
|
|
|
CsProjPath = "A.csproj", |
|
|
|
CommitId = "42" |
|
|
|
} |
|
|
|
}, |
|
|
|
DependingRepositories = new List<GitRepositoryBuildStatus> |
|
|
|
{ |
|
|
|
new GitRepositoryBuildStatus("repo-3", "dev") |
|
|
|
{ |
|
|
|
SucceedProjects = new List<DotNetProjectBuildStatus> |
|
|
|
{ |
|
|
|
new DotNetProjectBuildStatus |
|
|
|
{ |
|
|
|
CsProjPath = "B.csproj", |
|
|
|
CommitId = "42" |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
new GitRepositoryBuildStatus("repo-4", "dev") |
|
|
|
{ |
|
|
|
SucceedProjects = new List<DotNetProjectBuildStatus>() |
|
|
|
{ |
|
|
|
new DotNetProjectBuildStatus |
|
|
|
{ |
|
|
|
CsProjPath = "C.csproj", |
|
|
|
CommitId = "42" |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
var repo2 = existingBuildStatus.GetChild("repo-2"); |
|
|
|
repo2.AddOrUpdateProjectStatus(new DotNetProjectBuildStatus |
|
|
|
{ |
|
|
|
CommitId = "21", |
|
|
|
CsProjPath = "A.csproj" |
|
|
|
}); |
|
|
|
|
|
|
|
var repo3 = existingBuildStatus.GetChild("repo-3"); |
|
|
|
repo3.AddOrUpdateProjectStatus(new DotNetProjectBuildStatus |
|
|
|
{ |
|
|
|
CommitId = "21", |
|
|
|
CsProjPath = "X.csproj" |
|
|
|
}); |
|
|
|
|
|
|
|
repo2.SucceedProjects.Count.ShouldBe(1); |
|
|
|
repo2.SucceedProjects.ShouldContain(e=> e.CsProjPath == "A.csproj" && e.CommitId == "21"); |
|
|
|
|
|
|
|
repo3.SucceedProjects.Count.ShouldBe(2); |
|
|
|
repo3.SucceedProjects.ShouldContain(e=> e.CsProjPath == "X.csproj" && e.CommitId == "21"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|