public IList <ITask> Load() { if (!Directory.Exists(taskDefinitionDirectory)) { try { Directory.CreateDirectory(taskDefinitionDirectory); } catch { // ignore } return(new List <ITask>()); } var jsonFiles = Directory.EnumerateFiles(taskDefinitionDirectory, "*.json"); var tasks = new List <ITask>(); foreach (var jsonFile in jsonFiles) { try { var json = File.ReadAllText(jsonFile); var taskDefinition = JsonConvert.DeserializeObject <ScriptPeriodicTaskDefinition>(json); var task = new ScriptPeriodTask(taskDefinition); tasks.Add(task); } catch { // ignored } } return(tasks); }
public async Task Run() { var definition = JsonConvert.DeserializeObject <ScriptPeriodicTaskDefinition>(File.ReadAllText(DefinitionPath)); var sut = new ScriptPeriodTask(definition); var executionResult = await sut.Action(CancellationToken.None); Assert.That(executionResult.IsSuccess, Is.True); }
public async Task FailingScriptReturnsAsUnsuccessful() { var definition = JsonConvert.DeserializeObject <ScriptPeriodicTaskDefinition>(File.ReadAllText(DefinitionPath)); var sut = new ScriptPeriodTask(definition); var executionResult = await sut.Action(CancellationToken.None); Console.WriteLine(executionResult.Summary); Assert.That(executionResult.IsSuccess, Is.False); }