public void Convert_detection_of_file_properties_files_is_case_invariant() { var file1 = new EmptyFile(s_File1); var filePropertiesFile = FilePropertiesFile.ForFile(null, file1); var mock = new Mock<IReadableFile>(MockBehavior.Strict); mock.Setup(f => f.Name).Returns(file1.Name + FilePropertiesFile.FileNameSuffix.ToUpper()); mock.Setup(f => f.OpenRead()).Returns(filePropertiesFile.OpenRead()); var directoryCreator = new LocalItemCreator(); using (var temporaryDirectory = directoryCreator.CreateTemporaryDirectory( new Directory(Path.GetRandomFileName()) { dir => { mock.Setup(d => d.Parent).Returns(dir); return mock.Object; } })) { var metaFs = m_Instance.Convert(temporaryDirectory.Directory); Assert.Empty(metaFs.Directories); Assert.True(metaFs.GetFile(s_File1 + FilePropertiesFile.FileNameSuffix) is FilePropertiesFile); } }
public GitDirectoryTest() { m_DirectoryCreator = new LocalItemCreator(); m_Repository = m_DirectoryCreator.CreateTemporaryDirectory(); RepositoryInitHelper.InitializeRepository(m_Repository.Directory.Location); }
public void Convert_replaces_files_with_DirectoryPropertiesFile_instances() { var input = new Directory(Path.GetRandomFileName()); input.Add(_ => DirectoryPropertiesFile.ForDirectory(null, input)); var directoryCreator = new LocalItemCreator(); using (var temporaryDirectory = directoryCreator.CreateTemporaryDirectory(input)) { var metaFs = m_Instance.Convert(temporaryDirectory.Directory); Assert.Empty(metaFs.Directories); Assert.True(metaFs.GetFile(DirectoryPropertiesFile.FileName) is DirectoryPropertiesFile); } }
public void Convert_replaces_files_with_FilePropertiesFile_instances() { var input = new Directory(Path.GetRandomFileName()) { dir => FilePropertiesFile.ForFile(dir, new EmptyFile(s_File1)) }; var directoryCreator = new LocalItemCreator(); using (var temporaryDirectory = directoryCreator.CreateTemporaryDirectory(input)) { var metaFs = m_Instance.Convert(temporaryDirectory.Directory); Assert.Empty(metaFs.Directories); Assert.True(metaFs.GetFile(s_File1 + FilePropertiesFile.FileNameSuffix) is FilePropertiesFile); } }
/// <summary> /// Initializes a new bare repository at the specified location, adds a repository info file to the root directory /// and tags the initial commit with he value of <see cref="InitialCommitTagName"/> /// </summary> public static void InitializeRepository(string location) { // initialize a bare repository Repository.Init(location, true); var directoryCreator = new LocalItemCreator(); // clone the repository, add initial commit and push the changes back to the actual repository using (var tempDirectory = directoryCreator.CreateTemporaryDirectory()) { var clonedRepoPath = Repository.Clone(location, tempDirectory.Directory.Location); var repositoryInfoFile = new RepositoryInfoFile(tempDirectory.Directory); // add a empty file to the repository directoryCreator.CreateFile(repositoryInfoFile, tempDirectory.Directory.Location); // commit and push the file to the bare repository we created using (var clonedRepo = new Repository(clonedRepoPath)) { var signature = SignatureHelper.NewSignature(); clonedRepo.Stage(repositoryInfoFile.Name); clonedRepo.Commit("Initial Commit", signature, signature, new CommitOptions()); clonedRepo.Network.Push(clonedRepo.Network.Remotes["origin"], @"refs/heads/master"); } } //create the configuration branch pointing to the initial commit using (var repository = new Repository(location)) { repository.CreateBranch(ConfigurationBranchName.ToString(), repository.GetAllCommits().Single()); repository.Tags.Add(InitialCommitTagName, repository.GetAllCommits().Single()); } }
public void Convert_detection_of_directory_properties_files_is_case_invariant() { var directory = new Directory(Path.GetRandomFileName()); var directoryPropertiesFile = DirectoryPropertiesFile.ForDirectory(null, directory); var mock = new Mock<IReadableFile>(); mock.Setup(f => f.Name).Returns(DirectoryPropertiesFile.FileName.ToUpper()); mock.Setup(f => f.OpenRead()).Returns(directoryPropertiesFile.OpenRead()); directory.Add(dir => mock.Object); var directoryCreator = new LocalItemCreator(); using (var temporaryDirectory = directoryCreator.CreateTemporaryDirectory(directory)) { var metaFs = m_Instance.Convert(temporaryDirectory.Directory); Assert.Empty(metaFs.Directories); Assert.True(metaFs.GetFile(DirectoryPropertiesFile.FileName) is DirectoryPropertiesFile); } }