public void GetRevisionIds_ShortThenLong() { GitInfoProvider provider = Git1; Assert.AreEqual("781826a", provider.GetRevisionId()); Assert.AreEqual("781826aeadce6c4f3a031f15b06353491b44e7eb", provider.GetLongRevisionId()); }
public void LooksUpCommitWhenGitSourceIsFortyCharacters() { // Arrange string sha = "5a6940131b31f6958007ecbc0c51cbc35177f4e0"; var strykerOptions = new StrykerOptions(gitSource: sha); var commitMock = new Mock <Commit>(); var repositoryMock = new Mock <IRepository>(); var branchCollectionMock = new Mock <BranchCollection>(); branchCollectionMock .Setup(x => x.GetEnumerator()).Returns( ((IEnumerable <Branch>) new List <Branch>()).GetEnumerator()); repositoryMock.SetupGet(x => x.Branches).Returns(branchCollectionMock.Object); repositoryMock.Setup(x => x.Lookup(It.IsAny <ObjectId>())).Returns(commitMock.Object); var target = new GitInfoProvider(strykerOptions, repositoryMock.Object); // Act Commit result = target.DetermineCommit(); // Assert result.ShouldNotBeNull(); repositoryMock.Verify(x => x.Lookup(It.Is <ObjectId>(x => x.Sha == sha)), Times.Once); }
public void WhenProvidedReturnsRepositoryPath() { var repository = new Mock <IRepository>(MockBehavior.Strict); var target = new GitInfoProvider(null, repository.Object, "path"); target.RepositoryPath.ShouldBe("path"); }
public void WhenProvidedReturnsRepositoryPath() { var repository = new Mock <IRepository>(MockBehavior.Strict); var target = new GitInfoProvider(new StrykerOptions(diff: true), repository.Object, "path", Mock.Of <ILogger <GitInfoProvider> >()); target.RepositoryPath.ShouldBe("path"); }
public void DoesNotCheckForRepositoryPathWhenDisabled() { var repository = new Mock <IRepository>(MockBehavior.Strict); var options = new StrykerOptions(diff: false); var target = new GitInfoProvider(options, repository.Object, null); target.Repository.ShouldBe(null); }
public GitVersionTokenReplacer(GitInfoProvider infoProvider) { AddToken("REVNUM", () => infoProvider.GetRevisionNumber().ToString()); AddToken("REVNUM_MOD", x => (infoProvider.GetRevisionNumber() % x).ToString()); AddToken("REVNUM_DIV", x => (infoProvider.GetRevisionNumber() / x).ToString()); AddToken("REVID", () => infoProvider.GetRevisionId()); AddToken("DIRTY", () => infoProvider.IsWorkingCopyDirty() ? "1" : "0"); AddToken("BRANCH", () => infoProvider.GetBranch()); AddToken("TAGS", () => infoProvider.GetTags()); }
public void ReturnsCurrentBranchWhenMultipleBranches() { // Arrange var options = new StrykerOptions() { Since = true, }; var repositoryMock = new Mock <IRepository>(MockBehavior.Strict); var branchCollectionMock = new Mock <BranchCollection>(MockBehavior.Strict); var branchMock = new Mock <Branch>(); var branchMock2 = new Mock <Branch>(); branchCollectionMock .Setup(x => x.Add(It.IsAny <string>(), It.IsAny <string>())) .Returns(new Mock <Branch>(MockBehavior.Loose).Object); branchMock .SetupGet(x => x.IsCurrentRepositoryHead) .Returns(true); branchMock2 .SetupGet(x => x.IsCurrentRepositoryHead) .Returns(false); branchMock .SetupGet(x => x.FriendlyName) .Returns("master"); branchMock2 .SetupGet(x => x.FriendlyName) .Returns("dev"); branchCollectionMock .Setup(x => x.GetEnumerator()) .Returns(((IEnumerable <Branch>) new List <Branch> { branchMock.Object }).GetEnumerator()); repositoryMock .SetupGet(x => x.Branches) .Returns(branchCollectionMock.Object); var target = new GitInfoProvider(options, repositoryMock.Object); // Act var res = target.GetCurrentBranchName(); // Assert res.ShouldBe("master"); repositoryMock.Verify(); }
public void ReturnsEmptyStringIfNoCurrentRepositoryHead() { // Arrange var options = new StrykerOptions(); var repository = new Mock <IRepository>(MockBehavior.Loose); var target = new GitInfoProvider(options, repository.Object); // Act var result = target.GetCurrentBranchName(); // Assert result.ShouldBe(string.Empty); }
public void ThrowsExceptionIfNoCurrentBranchOrProjectVersionSet() { // Arrange var options = new StrykerOptions(); var repository = new Mock <IRepository>(MockBehavior.Loose); var target = new GitInfoProvider(options, repository.Object); // Act Action result = () => target.GetCurrentBranchName(); // Assert result.ShouldThrow <StrykerInputException>(); }
public void ReturnsTip_When_Friendly_Name_Is_GitSource() { // Arrange var options = new StrykerOptions(gitSource: "master"); var repositoryMock = new Mock <IRepository>(MockBehavior.Strict); var branchCollectionMock = new Mock <BranchCollection>(MockBehavior.Strict); var branchMock = new Mock <Branch>(); var commitMock = new Mock <Commit>(); branchMock .SetupGet(x => x.FriendlyName) .Returns("master"); branchMock .SetupGet(x => x.CanonicalName) .Returns("origin/master"); branchMock.SetupGet(x => x.Tip).Returns(commitMock.Object); branchCollectionMock .Setup(x => x.GetEnumerator()) .Returns(((IEnumerable <Branch>) new List <Branch> { branchMock.Object }).GetEnumerator()); repositoryMock .SetupGet(x => x.Branches) .Returns(branchCollectionMock.Object); var target = new GitInfoProvider(options, repositoryMock.Object); // Act var res = target.DetermineCommit(); // Assert res.ShouldNotBeNull(); res.ShouldBe(commitMock.Object); repositoryMock.Verify(); }
public void DetermineCommitThrowsStrykerInputException() { var strykerOptions = new StrykerOptions(gitSource: "master"); var repository = new Mock <IRepository>(); var branchCollectionMock = new Mock <BranchCollection>(); branchCollectionMock .Setup(x => x.GetEnumerator()).Returns( ((IEnumerable <Branch>) new List <Branch>()).GetEnumerator()); repository.SetupGet(x => x.Branches).Returns(branchCollectionMock.Object); var target = new GitInfoProvider(strykerOptions, repository.Object); void act() => target.DetermineCommit(); Should.Throw <StrykerInputException>(act); }