public void RepoHasNoCommitsTest() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test1.version.json", DateTimeOffset.Now, false)) { Assert.Throws <ArgumentException>(() => new VersionGenerator(tempRepo.RepoVersionFilePath)); } }
public void Test2() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test2.version.json")) { VersionGenerator version_generator = new VersionGenerator(tempRepo.RepoVersionFilePath); Assert.Equal("2.2.2", version_generator.FullVersion.Split('+')[0]); } }
public void CommitHashTest() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test1.version.json")) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); Assert.Equal(repo.Head.Tip.Sha, versionGenerator.CommitHash); } }
public void Test4() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test2.version.json")) { VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); Regex codename_checker = new Regex(@"codename", RegexOptions.ECMAScript); Assert.DoesNotMatch(codename_checker, versionGenerator.FullVersion); } }
public void Test3() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test1.version.json")) { VersionGenerator version_generator = new VersionGenerator(tempRepo.RepoVersionFilePath); Regex codename_checker = new Regex(@"\+codename\.Test1", RegexOptions.ECMAScript); Assert.Matches(codename_checker, version_generator.FullVersion); } }
public void LightTagNameTest() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test3.version.json")) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); Commands.Checkout(repo, repo.CreateBranch("ccdd")); repo.ApplyTag("v3.2.1"); VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); Assert.Equal("tag v3.2.1", versionGenerator.BranchName); } }
public void BranchTest() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test1.version.json")) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); Branch test_branch = repo.CreateBranch("testbranch111"); Commands.Checkout(repo, test_branch); VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); Assert.Equal("testbranch111", versionGenerator.BranchName); } }
public void Test6() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test2.version.json")) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); Commands.Checkout(repo, repo.CreateBranch("oh333")); VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); string expected_version = "2.2.2+head.oh333.commit." + repo.Head.Tip.Sha; Assert.Equal(expected_version, versionGenerator.FullVersion); } }
public void TagNameTest2() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test3.version.json")) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); Commands.Checkout(repo, repo.CreateBranch("ccdd")); Signature sig = new Signature("Test runner", "*****@*****.**", DateTimeOffset.Now); repo.ApplyTag("release/2.2.2"); VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); Assert.Equal("tag release/2.2.2", versionGenerator.BranchName); } }
public void CommitTimeTest() { // DateTime structure which represents February 3nd, 2020. It must be 2851200 seconds since January 1st, 2020 DateTimeOffset commit_time = new DateTimeOffset(new DateTime(2020, 2, 3), TimeSpan.Zero); using (TempRepoProvider tempRepo = new TempRepoProvider("Test3.version.json", commit_time)) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); Commands.Checkout(repo, repo.CreateBranch("aabb")); VersionGenerator version_generator = new VersionGenerator(tempRepo.RepoVersionFilePath); string expected_version = "3.0.2-alpha.1.2851200.aabb"; Assert.Equal(expected_version, version_generator.VersionWithoutBuildData); } }
public void Test10() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test3.version.json")) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); Commands.Checkout(repo, repo.CreateBranch("uuuu8")); VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); DateTime time = repo.Head.Tip.Committer.When.UtcDateTime; string expected_version = "3.0.2-alpha.1." + (new DateTimeOffset(time).ToUnixTimeSeconds() - new DateTimeOffset(new DateTime(2020, 1, 1), TimeSpan.Zero).ToUnixTimeSeconds()) + ".uuuu8"; Assert.Equal(expected_version, versionGenerator.VersionWithoutBuildData); } }
public void Test7() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test3.version.json")) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); Commands.Checkout(repo, repo.CreateBranch("snd5")); VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); DateTime time = repo.Head.Tip.Committer.When.UtcDateTime; string expected_string = "3.0.2-alpha.1." + (new DateTimeOffset(time).ToUnixTimeSeconds() - new DateTimeOffset(new DateTime(2020, 1, 1), TimeSpan.Zero).ToUnixTimeSeconds()) + ".snd5+codename.Test3.head.snd5.commit." + repo.Head.Tip.Sha + ".bugfix"; Assert.Equal(expected_string, versionGenerator.FullVersion); } }
public void NormalizationTest2() { // DateTime structure which represents February 3nd, 2020. It must be 2851200 seconds since January 1st, 2020 DateTimeOffset commit_time = new DateTimeOffset(new DateTime(2020, 2, 3), TimeSpan.Zero); using (TempRepoProvider tempRepo = new TempRepoProvider("Test1.version.json", commit_time)) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); repo.ApplyTag("release/5.0.300"); VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); Assert.Equal("tag release/5.0.300", versionGenerator.BranchName); string expected_version = "1.1.1+codename.Test1.head.tag-release-5-0-300.commit." + repo.Head.Tip.Sha; Assert.Equal(expected_version, versionGenerator.FullVersion); Assert.True(SemVersion.TryParse(versionGenerator.FullVersion, out _, true)); } }
public void NormalizationTest1() { // DateTime structure which represents February 3nd, 2020. It must be 2851200 seconds since January 1st, 2020 DateTimeOffset commit_time = new DateTimeOffset(new DateTime(2020, 2, 3), TimeSpan.Zero); using (TempRepoProvider tempRepo = new TempRepoProvider("Test3.version.json", commit_time)) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); Commands.Checkout(repo, repo.CreateBranch("feature/NewFeature")); VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); Assert.Equal("feature/NewFeature", versionGenerator.BranchName); string expected_version = "3.0.2-alpha.1.2851200.feature-NewFeature+codename.Test3.head.feature-NewFeature.commit." + repo.Head.Tip.Sha + ".bugfix"; Assert.Equal(expected_version, versionGenerator.FullVersion); Assert.True(SemVersion.TryParse(versionGenerator.FullVersion, out _, true)); } }
public void DetachedHeadTest() { using (TempRepoProvider tempRepo = new TempRepoProvider("Test1.version.json")) { using Repository repo = new Repository(tempRepo.RepoDirectory.FullName); Commands.Checkout(repo, repo.CreateBranch("bd")); Commit firstCommit = repo.Head.Tip; File.Copy("Test3.version.json", Path.Combine(tempRepo.RepoDirectory.FullName, "Test3.version.json")); Signature sig = new Signature("Test runner", "*****@*****.**", DateTimeOffset.Now); Commands.Stage(repo, "*"); repo.Commit("Second commit", sig, sig); Commands.Checkout(repo, firstCommit); VersionGenerator versionGenerator = new VersionGenerator(tempRepo.RepoVersionFilePath); Assert.Equal("detached HEAD", versionGenerator.BranchName); } }