public void GitRepoExistIfCorruptedThenInitializedAgain() { using (TestRepository testRepository = GetRepository()) { var gitRepo = new GitExeRepository(testRepository.Environment, new MockDeploymentSettingsManager(), NullTracerFactory.Instance); gitRepo.Initialize(); Assert.True(gitRepo.Exists, "git repository should exist"); string gitHeadPath = Path.Combine(testRepository.PhysicalPath, ".git", "HEAD"); File.Delete(gitHeadPath); Assert.False(gitRepo.Exists, "git repository shouldn't exist"); gitRepo.Initialize(); Assert.True(gitRepo.Exists, "git repository should exist"); } }
public void GitRepoExistsAfterInitialize() { using (TestRepository testRepository = GetRepository()) { var gitRepo = new GitExeRepository(testRepository.Environment, new MockDeploymentSettingsManager(), NullTracerFactory.Instance); gitRepo.Initialize(); Assert.True(gitRepo.Exists, "git repository should exist"); } }
public void FetchWithoutConflictOnGitEmptyRepo() { using (TestRepository testRepository = GetRepository()) { // Arrange var gitRepo = new GitExeRepository(testRepository.Environment, new MockDeploymentSettingsManager(), NullTracerFactory.Instance); // Act gitRepo.Initialize(); Assert.Throws <BranchNotFoundException>(() => gitRepo.FetchWithoutConflict("https://github.com/KuduApps/EmptyGitRepo.git", "master")); } }
public void GitGetChangeSetReturnsNullIfIdDoesNotExist() { // Arrange using (TestRepository testRepository = GetRepository()) { var gitRepo = new GitExeRepository(testRepository.Environment, new MockDeploymentSettingsManager(), NullTracerFactory.Instance); gitRepo.Initialize(); // Act var changeset = gitRepo.GetChangeSet("does-not-exist"); // Assert Assert.Null(changeset); } }
public void GitInitializeCreatesPostCommitHook() { using (TestRepository testRepository = GetRepository()) { // Arrange var gitRepo = new GitExeRepository(testRepository.Environment, new MockDeploymentSettingsManager(), NullTracerFactory.Instance); string postCommitHookPath = Path.Combine(testRepository.PhysicalPath, ".git", "hooks", "post-receive"); string expected = "#!/bin/sh\r\nread i\r\necho $i > pushinfo\r\n\"$KUDU_EXE\" \"$KUDU_APPPATH\" \"$KUDU_MSBUILD\" \"$KUDU_DEPLOYER\"\n"; // Act gitRepo.Initialize(); // Assert Assert.Equal(expected, File.ReadAllText(postCommitHookPath)); } }
public void GitRepoDoesntExistIfGitRepoOnlyOnParentDirectory() { using (TestRepository testRepository = GetRepository()) { // Create a repository var gitRepo = new GitExeRepository(testRepository.Environment, new MockDeploymentSettingsManager(), NullTracerFactory.Instance); gitRepo.Initialize(); // Checkout for existence in subdirectory var testedPath = Path.Combine(testRepository.PhysicalPath, "subdirectory"); Directory.CreateDirectory(testedPath); var environment = new TestEnvironment { RepositoryPath = testedPath }; gitRepo = new GitExeRepository(environment, new MockDeploymentSettingsManager(), NullTracerFactory.Instance); Assert.False(gitRepo.Exists, "git repository shouldn't exist yet"); } }