Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }