public void LoadProjectSnapshotReturnsNullForMissingSnapshot() { // Arrange var logFile = "log20100101120000Lbuild.1.0"; var snapshotsDir = Path.Combine("workingDir", defaultFolder); var snapshotFile = Path.Combine(snapshotsDir, logFile + ".snapshot"); var outputStream = new MemoryStream(); var fileSystemMock = InitialiseFileSystemMockForInput(snapshotFile, null); var projectMock = InitialiseProjectMock("workingDir"); var dataStore = new XmlFolderDataStore { FileSystem = fileSystemMock }; this.mocks.ReplayAll(); // Act var snapshot = dataStore.LoadProjectSnapshot(projectMock, logFile + ".xml"); // Assert this.mocks.VerifyAll(); Assert.IsNull(snapshot); }
public void LoadProjectSnapshotLoadsExistingSnapshot() { // Arrange var logFile = "log20100101120000Lbuild.1.0"; var projectSnapshot = "<projectStatusSnapshot xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" name=\"UnitTest\" status=\"CompletedSuccess\">" + "<timeStarted>2010-01-01T12:00:00.00000+00:00</timeStarted>" + "<timeCompleted>2010-01-01T12:00:01.00000+00:00</timeCompleted>" + "<childItems />" + "<timeOfSnapshot>2010-01-01T12:00:01.00000+00:00</timeOfSnapshot>" + "</projectStatusSnapshot>"; var snapshotsDir = Path.Combine("workingDir", defaultFolder); var snapshotFile = Path.Combine(snapshotsDir, logFile + ".snapshot"); var outputStream = new MemoryStream(); var fileSystemMock = InitialiseFileSystemMockForInput(snapshotFile, projectSnapshot); var projectMock = InitialiseProjectMock("workingDir"); var dataStore = new XmlFolderDataStore { FileSystem = fileSystemMock }; this.mocks.ReplayAll(); // Act var snapshot = dataStore.LoadProjectSnapshot(projectMock, logFile + ".xml"); // Assert this.mocks.VerifyAll(); Assert.IsNotNull(snapshot); Assert.AreEqual("UnitTest", snapshot.Name); Assert.AreEqual( DateTime.Parse("2010-01-01T12:00:00.00000+00:00", CultureInfo.InvariantCulture), snapshot.TimeStarted); Assert.AreEqual(ItemBuildStatus.CompletedSuccess, snapshot.Status); }