public void Clone_Private_Repo_With_Authentication_SSH() { // in case this is set-up //Environment.SetEnvironmentVariable("GIT_SSH", string.Empty, EnvironmentVariableTarget.Process); var privateKey = @"C:\Users\o2\.ssh\id_rsa".fileContents(); var publicKey = @"C:\Users\o2\.ssh\id_rsa.pub".fileContents(); if (privateKey.fileExists().isFalse() || publicKey.fileExists().isFalse()) Assert.Ignore("Ignoring test because test SSH keys were not found"); var factory = new CustomConfigSessionFactory(publicKey, privateKey); SshSessionFactory.SetInstance(factory); var repoToClone = "UnitTests_TestRepo_Private"; var repositoryUrl = "[email protected]:o2platform/{0}.git".format(repoToClone); var pathToRepo = tempFolder.pathCombine(repoToClone); var ngit_O2 = new API_NGit_O2Platform(tempFolder); ngit_O2.clone(repositoryUrl, pathToRepo); Assert.IsNull(ngit_O2.Last_Exception); Assert.IsNotEmpty(tempFolder.dirs()); Assert.IsTrue(pathToRepo.dirExists()); Assert.IsTrue(pathToRepo.isGitRepository()); ngit_O2.delete_Repository_And_Files(); Assert.IsFalse(pathToRepo.dirExists()); SshSessionFactory.SetInstance(null); }
public void Clone_Private_Repo_No_Authorization() { var repoToClone = "UnitTests_TestRepo_Private"; var pathToRepo = tempFolder.pathCombine(repoToClone); Files.deleteFolder(pathToRepo,true); Assert.IsTrue(tempFolder.dirExists()); Assert.IsEmpty(tempFolder.dirs()); Assert.IsFalse(pathToRepo.dirExists()); Assert.IsFalse(pathToRepo.isGitRepository()); var ngit_O2 = new API_NGit_O2Platform(tempFolder); var repositoryUrl = ngit_O2.repositoryUrl(repoToClone); Assert.IsNull(ngit_O2.Last_Exception); //clone should fail ngit_O2.clone(repositoryUrl, pathToRepo); //no git repo should be there (if clone failed Assert.IsNotNull(ngit_O2.Last_Exception); Assert.IsEmpty(tempFolder.dirs()); Assert.IsFalse(pathToRepo.dirExists()); Assert.IsFalse(pathToRepo.isGitRepository()); }
public void Clone_Private_Repo_With_Authentication_UserName_Pwd() { var hardCodedbadPWd = "pwd_123456!!!"; //clone should fail unless the values above are configured to a valid account var username = "******"; var pwd = hardCodedbadPWd; var repoToClone = "UnitTests_TestRepo_Private"; var pathToRepo = tempFolder.pathCombine(repoToClone); var ngit_O2 = new API_NGit_O2Platform(tempFolder); var repositoryUrl = ngit_O2.repositoryUrl(repoToClone); ngit_O2.use_Credential(username, pwd); ngit_O2.clone(repositoryUrl, pathToRepo); if (pwd == hardCodedbadPWd) { Assert.IsNotNull(ngit_O2.Last_Exception); Assert.IsTrue (ngit_O2.Last_Exception.Message.contains("not authorized")); } else { // these will only run when we are using a valid GitHub Account Assert.IsNull(ngit_O2.Last_Exception); Assert.IsNotEmpty(tempFolder.dirs()); Assert.IsTrue(pathToRepo.dirExists()); Assert.IsTrue(pathToRepo.isGitRepository()); } ngit_O2.delete_Repository_And_Files(); Assert.IsFalse(pathToRepo.dirExists()); }