public async void ExecuteScript_OnFinallyTest_Sucesfull() { var token = await Client.GetTokenAsync(new GetTokenRequest { Username = "******", Password = "******" }); Client.Token = token.Token; await Client.UploadScriptAsync(new UploadScriptRequest { FilePath = "SimpleScript.cs" }); if (File.Exists("Finally.txt")) { File.Delete("Finally.txt"); } var req = new ExecuteScriptRequest { ScriptFileName = "SimpleScript.cs", TargetToExecute = "FinallyTarget", ScriptArguments = new Dictionary <string, string>() }; await Client.ExecuteScriptAsync(req); Assert.True(File.Exists("Finally.txt")); }
public async Task <ExecuteScriptResponse> Evaluate(ExecuteScriptRequest request) { var result = new ExecuteScriptResponse(); try { var response = await Evaluate(request.Script ?? string.Empty); result.Result = response != null?SerializeObject(response, 2) : "Ok"; } catch (Exception ex) { result.Exception = ex.ToString(); } return(result); }
private void PrepareCommandArguments(ExecuteScriptRequest request) { _commandArguments.MainCommands = new List <string>(); var scriptFullPath = Path.Combine(_hostingEnvironment.ContentRootPath, "Scripts", request.ScriptFileName); _commandArguments.MainCommands.Add(request.TargetToExecute); _commandArguments.Script = scriptFullPath; if (request.ScriptArguments != null && request.ScriptArguments.Count > 0) { _commandArguments.ScriptArguments = new DictionaryWithDefault <string, string>(null, StringComparer.OrdinalIgnoreCase); foreach (var scriptArgument in request.ScriptArguments) { _commandArguments.ScriptArguments.Add(scriptArgument.Key, scriptArgument.Value); } } _commandArguments.RethrowOnException = true; }
public async void ExecuteScript_ScriptNotFound_ThrowsBadRequest() { var token = await Client.GetToken(new GetTokenRequest { Username = "******", Password = "******" }); Client.Token = token.Token; var req = new ExecuteScriptRequest { ScriptFileName = "SimpleScript.cs", TargetToExecute = "SuccesfullTarget", ScriptArguments = new Dictionary <string, string>() }; req.ScriptArguments.Add("FileName", "test.txt"); var exception = await Assert.ThrowsAsync <WebApiException>(async() => await Client.ExecuteScriptAsync(req)); Assert.Equal(HttpStatusCode.BadRequest, exception.StatusCode); Assert.Equal(ErrorCodes.ScriptNotFound, exception.ErrorCode); }
public async void ExecuteScript_WhenTest_Sucesfull() { var token = await Client.GetToken(new GetTokenRequest { Username = "******", Password = "******" }); Client.Token = token.Token; await Client.UploadScriptAsync(new UploadScriptRequest { FilePath = "SimpleScript.cs" }); if (File.Exists("file.txt")) { File.Delete("file.txt"); } if (File.Exists("file2.txt")) { File.Delete("file2.txt"); } if (File.Exists("file3.txt")) { File.Delete("file3.txt"); } Assert.False(File.Exists("file.txt")); Assert.False(File.Exists("file2.txt")); Assert.False(File.Exists("file3.txt")); var req = new ExecuteScriptRequest { ScriptFileName = "SimpleScript.cs", TargetToExecute = "WhenTarget", ScriptArguments = new Dictionary <string, string>() }; req.ScriptArguments.Add("FileName", "test.txt"); var response = await Client.ExecuteScriptAsync(req); Assert.False(File.Exists("file.txt")); Assert.True(File.Exists("file2.txt")); Assert.True(File.Exists("file3.txt")); }
public async void ExecuteScript_RequiresTest_Sucesfull() { var token = await Client.GetTokenAsync(new GetTokenRequest { Username = "******", Password = "******" }); Client.Token = token.Token; await Client.UploadScriptAsync(new UploadScriptRequest { FilePath = "SimpleScript.cs" }); var req = new ExecuteScriptRequest { ScriptFileName = "SimpleScript.cs", TargetToExecute = "RequiredTarget", ScriptArguments = new Dictionary <string, string>() }; var ex = await Assert.ThrowsAsync <WebApiException>(async() => await Client.ExecuteScriptAsync(req)); Assert.Equal("Target 'RequiredTarget' requires build script member 'RequiredParam' not to be null.", ex.ErrorMessage); }
public async Task ExecuteScriptAsync(ExecuteScriptRequest request) { await SendAsync(request); }
public override Task <ExecuteScriptResponse> ExecuteScript(ExecuteScriptRequest request, ServerCallContext context) => _provider.GetService <ScriptService>(_accessor).Evaluate(request);
public async Task <ExecuteScriptResponse> ExecuteScriptAsync(ExecuteScriptRequest request) { return(await SendAsync <ExecuteScriptResponse>(request)); }