public void HandlesRaceBetweenAddAndWriteAllEntries() { ConfigurableFileSystem fs = new ConfigurableFileSystem(); fs.ExpectedFiles.Add(MockEntryFileName + ".tmp", new ReusableMemoryStream(string.Empty)); LegacyPlaceholderListDatabase dut = CreatePlaceholderListDatabase(fs, ExpectedGitIgnoreEntry); List <IPlaceholderData> existingEntries = dut.GetAllEntries(); dut.AddFile(InputGitAttributesPath, InputGitAttributesSHA); dut.WriteAllEntriesAndFlush(existingEntries); fs.ExpectedFiles[MockEntryFileName].ReadAsString().ShouldEqual(ExpectedTwoEntries); }
public void HandlesRaceBetweenRemoveAndWriteAllEntries() { const string DeleteGitAttributesEntry = "D .gitattributes" + PlaceholderDatabaseNewLine; ConfigurableFileSystem fs = new ConfigurableFileSystem(); fs.ExpectedFiles.Add(MockEntryFileName + ".tmp", new ReusableMemoryStream(string.Empty)); LegacyPlaceholderListDatabase dut = CreatePlaceholderListDatabase(fs, ExpectedTwoEntries); List <IPlaceholderData> existingEntries = dut.GetAllEntries(); dut.Remove(InputGitAttributesPath); dut.WriteAllEntriesAndFlush(existingEntries); fs.ExpectedFiles[MockEntryFileName].ReadAsString().ShouldEqual(ExpectedTwoEntries + DeleteGitAttributesEntry); }
public void WriteAllEntriesCorrectlyWritesFile() { ConfigurableFileSystem fs = new ConfigurableFileSystem(); fs.ExpectedFiles.Add(MockEntryFileName + ".tmp", new ReusableMemoryStream(string.Empty)); LegacyPlaceholderListDatabase dut = CreatePlaceholderListDatabase(fs, string.Empty); List <LegacyPlaceholderListDatabase.PlaceholderData> allData = new List <LegacyPlaceholderListDatabase.PlaceholderData>() { new LegacyPlaceholderListDatabase.PlaceholderData(InputGitIgnorePath, InputGitIgnoreSHA), new LegacyPlaceholderListDatabase.PlaceholderData(InputGitAttributesPath, InputGitAttributesSHA) }; dut.WriteAllEntriesAndFlush(allData); fs.ExpectedFiles[MockEntryFileName].ReadAsString().ShouldEqual(ExpectedTwoEntries); }