70 lines
2.4 KiB
C#
70 lines
2.4 KiB
C#
using System;
|
|
using System.IO;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using Sep.Git.Tfs.Core.TfsInterop;
|
|
|
|
namespace Sep.Git.Tfs.Test.Integration
|
|
{
|
|
[TestClass]
|
|
public class CloneTests
|
|
{
|
|
IntegrationHelper h;
|
|
|
|
[TestInitialize]
|
|
public void Setup()
|
|
{
|
|
h = new IntegrationHelper();
|
|
}
|
|
|
|
[TestCleanup]
|
|
public void Teardown()
|
|
{
|
|
h.Dispose();
|
|
}
|
|
|
|
[TestMethod, Ignore]
|
|
public void FailOnNoProject()
|
|
{
|
|
}
|
|
|
|
[TestMethod, Ignore]
|
|
public void ClonesEmptyProject()
|
|
{
|
|
h.SetupFake(r =>
|
|
{
|
|
r.Changeset(1, "Project created from template", DateTime.Parse("2012-01-01 12:12:12"))
|
|
.Change(TfsChangeType.Add, TfsItemType.Folder, "$/MyProject");
|
|
});
|
|
h.Run("clone", h.TfsUrl, "$/MyProject");
|
|
h.AssertGitRepo("MyProject");
|
|
const string expectedSha = "tbd";
|
|
h.AssertRef("MyProject", "HEAD", expectedSha);
|
|
h.AssertRef("MyProject", "master", expectedSha);
|
|
h.AssertRef("MyProject", "tfs/default", expectedSha);
|
|
h.AssertEmptyWorkspace("MyProject");
|
|
}
|
|
|
|
[TestMethod]
|
|
public void CloneProjectWithChangesets()
|
|
{
|
|
h.SetupFake(r =>
|
|
{
|
|
r.Changeset(1, "Project created from template", DateTime.Parse("2012-01-01 12:12:12"))
|
|
.Change(TfsChangeType.Add, TfsItemType.Folder, "$/MyProject");
|
|
r.Changeset(2, "First commit", DateTime.Parse("2012-01-02 12:12:12"))
|
|
.Change(TfsChangeType.Add, TfsItemType.Folder, "$/MyProject/Folder")
|
|
.Change(TfsChangeType.Add, TfsItemType.File, "$/MyProject/Folder/File.txt", "File contents")
|
|
.Change(TfsChangeType.Add, TfsItemType.File, "$/MyProject/README", "tldr");
|
|
});
|
|
h.Run("clone", h.TfsUrl, "$/MyProject");
|
|
h.AssertGitRepo("MyProject");
|
|
const string expectedSha = "dd806911118e6fa16d028b322ad91360d56ea47b";
|
|
h.AssertRef("MyProject", "HEAD", expectedSha);
|
|
h.AssertRef("MyProject", "master", expectedSha);
|
|
h.AssertRef("MyProject", "tfs/default", expectedSha);
|
|
h.AssertFileInWorkspace("MyProject", "Folder/File.txt", "File contents");
|
|
h.AssertFileInWorkspace("MyProject", "README", "tldr");
|
|
}
|
|
}
|
|
}
|