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_SSH() { var privateKey = @"C:\Users\o2\.ssh\id_rsa"; var publicKey = @"C:\Users\o2\.ssh\id_rsa.pub"; if (privateKey.fileExists().isFalse() || publicKey.fileExists().isFalse()) { Assert.Ignore("Ignoring test because test SSH keys were not found"); } var factory = new CustomConfigSessionFactory(publicKey.fileContents(), privateKey.fileContents()); 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 static API_NGit_O2Platform cloneOrPull(this API_NGit_O2Platform nGit_O2, string repositoryName) { var repositoryUrl = nGit_O2.repositoryUrl(repositoryName); var localPath = nGit_O2.LocalGitRepositories.pathCombine(repositoryName); nGit_O2.open_or_Clone(repositoryUrl, localPath); return(nGit_O2); }
public void NGit_O2Platform() { var repoToClone = "UnitTests_TestRepo"; var pathToRepo = tempFolder.pathCombine(repoToClone); Assert.IsTrue(tempFolder.dirExists()); Assert.IsEmpty(tempFolder.dirs()); Assert.IsFalse(pathToRepo.dirExists()); Assert.IsFalse(pathToRepo.isGitRepository()); API_NGit_O2Platform ngit_O2 = null; Action checkRepo = () => { Assert.IsNotNull(ngit_O2); Assert.IsNull(ngit_O2.Git); Assert.IsNull(ngit_O2.Repository); ngit_O2.cloneOrPull(repoToClone); Assert.IsTrue(pathToRepo.dirExists()); Assert.IsTrue(pathToRepo.isGitRepository()); ngit_O2.open(pathToRepo); Assert.IsNotNull(ngit_O2.Git); Assert.IsNotNull(ngit_O2.Repository); ngit_O2.nGit().close(); }; //Test Clone ngit_O2 = new API_NGit_O2Platform(tempFolder); checkRepo(); //Test Open ngit_O2 = new API_NGit_O2Platform(tempFolder); checkRepo(); var result = ngit_O2.delete_Repository_And_Files(); Assert.IsTrue(result); tempFolder.delete_Folder(); Assert.IsFalse(tempFolder.dirExists()); }
public static void buildGui() { var topPanel = O2Gui.open <Panel>("Util - Sync and Compile O2 Repositories", 1000, 600); //var topPanel = panel.clear().add_Panel(); topPanel.insert_LogViewer(); var msBuildGui = topPanel.add_MSBuild_Gui(); var nGit_O2 = new API_NGit_O2Platform(); //for the O2 installer: nGit_O2.LocalGitRepositories = PublicDI.config.CurrentExecutableDirectory.pathCombine("..").fullPath(); // by default it is one above the current one gitSync = () => { nGit_O2.cloneOrPull("O2.FluentSharp") .cloneOrPull("O2.Platform.Projects") .cloneOrPull("O2.Platform.Scripts"); "gitSync completed".info(); }; compileProjects = () => { msBuildGui.buildProjects(nGit_O2.LocalGitRepositories, startO2); }; startO2 = () => { nGit_O2.LocalGitRepositories.pathCombine(@"O2.Platform.Projects\binaries\O2 Platform.exe").startProcess(); }; //msBuildGui.tableList.title("O2 Platform - MSBuild results"); msBuildGui.topPanel.insert_Above(40, "Actions") .add_Link("Git Sync", () => gitSync()) .append_Link("Compile Projects", () => compileProjects()) .append_Link("Open Target Folder in Explorer", () => nGit_O2.LocalGitRepositories.startProcess()) .append_Link("Start 'O2 Platform.exe'", () => startO2()) .append_Label("Target Folder:").autoSize().top(2) .append_TextBox(nGit_O2.LocalGitRepositories).align_Right() .onTextChange((text) => nGit_O2.LocalGitRepositories = text); }
public static void buildGui() { var topPanel = O2Gui.open<Panel>("Util - Sync and Compile O2 Repositories",1000,600); //var topPanel = panel.clear().add_Panel(); topPanel.insert_LogViewer(); var msBuildGui = topPanel.add_MSBuild_Gui(); var nGit_O2 = new API_NGit_O2Platform(); //for the O2 installer: nGit_O2.LocalGitRepositories = PublicDI.config.CurrentExecutableDirectory.pathCombine("..").fullPath(); // by default it is one above the current one gitSync = ()=>{ nGit_O2 .cloneOrPull("O2.FluentSharp") .cloneOrPull("O2.Platform.Projects") .cloneOrPull("O2.Platform.Scripts"); "gitSync completed".info(); }; compileProjects = ()=>{ msBuildGui.buildProjects(nGit_O2.LocalGitRepositories, startO2); }; startO2 = ()=>{ nGit_O2.LocalGitRepositories.pathCombine(@"O2.Platform.Projects\binaries\O2 Platform.exe").startProcess(); }; //msBuildGui.tableList.title("O2 Platform - MSBuild results"); msBuildGui.topPanel.insert_Above(40,"Actions") .add_Link ("Git Sync", ()=> gitSync()) .append_Link ("Compile Projects", ()=> compileProjects()) .append_Link ("Open Target Folder in Explorer", ()=> nGit_O2.LocalGitRepositories.startProcess()) .append_Link ("Start 'O2 Platform.exe'", ()=> startO2()) .append_Label ("Target Folder:").autoSize().top(2) .append_TextBox(nGit_O2.LocalGitRepositories).align_Right() .onTextChange((text)=> nGit_O2.LocalGitRepositories = text); }
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()); }
public static string repositoryUrl(this API_NGit_O2Platform nGit_O2, string repositoryName) { return(nGit_O2.GitHub_O2_Repositories.format(repositoryName)); }
public static API_NGit nGit(this API_NGit_O2Platform nGit_O2) { return(nGit_O2); }