public void GistTest() { var integration = new GitIntegration(); integration.CreateGist(@"This is my test gist...."); }
public IActionResult AddFiles(string experimentName) { _logger.LogInformation("handling Framework.AddFiles for sim=" + experimentName); string filenames = ""; foreach (var file in Request.Form.Files) { _logger.LogInformation("Handling file " + file.FileName); var destFilespec = Path.Combine(projectpath + "/" + experimentName + "/framework/" + Path.GetFileName(file.FileName)); if (!destFilespec.StartsWith(projectpath)) { throw new ArgumentException("Invalid file name!"); } _logger.LogInformation("Writing to: " + destFilespec); using (var fs = new FileStream(destFilespec, FileMode.Create, FileAccess.Write)) { file.CopyTo(fs); } filenames += ", " + file.FileName; } GitIntegration.CreateBackup(projectpath + "/" + experimentName, "updated framework folder" + filenames, _gitRemoteOptions); return(Ok()); }
public IActionResult Create([FromBody] ExperimentFileDto requestData) { var dirname = relativeFolder + "/" + requestData.Name; var configDirname = dirname + "/configurations/"; var filename = dirname + "/script.py"; var filenameInstall = dirname + "/install.py"; if (isValidPath(filename)) { new DirectoryInfo(dirname).Create(); new DirectoryInfo(configDirname).Create(); Repository.Init(dirname); _directoryOptions.SetFileContents(filename, requestData.Script); _directoryOptions.SetFileContents(filenameInstall, requestData.ScriptInstall); _directoryOptions.SetFileContents(configDirname + requestData.Configurations.First().Key + ".json", requestData.Configurations.First().Value); /* generate experiment framework file... */ var frameworkFolder = new DirectoryInfo(dirname + "/framework"); if (!frameworkFolder.Exists) { frameworkFolder.Create(); } GitIntegration.CreateBackup(dirname, "create/update experimentTemplate", _gitRemoteOptions); return(Ok()); } else { return(BadRequest("Invalid name.")); } }
public void When_locally_modified_files_do_not_exist_an_empty_array_is_returned() { var integration = new GitIntegration(); var modifiedFiles = integration.FindLocallyModifiedFiles(Config); Assert.That(modifiedFiles, Is.Empty); }
public void When_unable_to_find_local_modifications_then_an_exception_is_thrown() { // Cause "git status" to fail by pointing to a .sln file that's not within a git repo. var solutionFileNotWithinGitRepo = Path.Combine(Path.GetDirectoryName(Config.SolutionFilePath), "..", "..", "..", "..", "Example.sln"); Config.SolutionFilePath = solutionFileNotWithinGitRepo; var integration = new GitIntegration(); Assert.Throws <SourceControlIntegrationException>(() => integration.FindLocallyModifiedFiles(Config)); }
public void When_locally_modified_csharp_files_exist_they_are_returned_relative_to_the_directory_of_the_solution_file() { var integration = new GitIntegration(); var modifiedFiles = integration.FindLocallyModifiedFiles(Config); Assert.That(modifiedFiles, Is.EquivalentTo(new[] { @"Implementation\TempSourceFile.cs", @"Implementation\OtherTempSourceFile.CS" })); }
public IActionResult DeleteConfig(string name, string configName) { var filename = relativeFolder + "/" + name + "/configurations/" + configName + ".json"; if (isValidPath(filename)) { new FileInfo(filename).Delete(); GitIntegration.CreateBackup(relativeFolder + "/" + name, "delete config " + configName, _gitRemoteOptions); return(Ok()); } else { return(BadRequest("Invalid name.")); } }
public IActionResult CreateConfig(string name, [FromBody] ExperimentFileConfigDto requestData) { if (name == "undefined") { return(BadRequest("Invalid name.")); } var filename = relativeFolder + "/" + name + "/configurations/" + requestData.Name + ".json"; if (isValidPath(filename)) { _directoryOptions.SetFileContents(filename, requestData.Configuration); GitIntegration.CreateBackup(relativeFolder + "/" + name, "create/update config " + requestData.Name, _gitRemoteOptions); return(Ok()); } else { return(BadRequest("Invalid name.")); } }