private string GetCloneArgString(string process, string projectName, CloneTaskConfig taskConfig, Dictionary <string, string> additionalConfigs) { var dict = new Dictionary <string, object> { { "process", process }, { "project", projectName }, { "cloneconfig", taskConfig }, { "additional", additionalConfigs } }; return(JsonConvert.SerializeObject(dict)); }
public async void Clone_Success() { var cloneLocation = Path.Combine(AppContext.BaseDirectory, "clone"); _gitHubUtils.Setup(u => u.Clone(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>())) .ReturnsAsync(cloneLocation); var taskConfig = new CloneTaskConfig { CloneLocation = cloneLocation, Repository = "https://github.com/polyrific-inc/opencatapult" }; var additionalConfigs = new Dictionary <string, string>(); var provider = new Program(new string[] { GetCloneArgString("main", "TestProject", taskConfig, additionalConfigs) }, _gitHubUtils.Object); var result = await provider.Clone(); Assert.Equal(cloneLocation, result.cloneLocation); Assert.Equal("", result.errorMessage); Assert.True(Directory.Exists(cloneLocation)); }