diff --git a/CHANGELOG.md b/CHANGELOG.md index f704f0dd9..e0df1bc77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## 4.5.0 [unreleased] +### Bug Fixes +1. [#348](https://github.com/influxdata/influxdb-client-csharp/pull/348): Append `task option` at the end of script + ### Dependencies Update dependencies: diff --git a/Client.Test/ItTasksApiTest.cs b/Client.Test/ItTasksApiTest.cs index 58f2a65b3..d13422a9c 100644 --- a/Client.Test/ItTasksApiTest.cs +++ b/Client.Test/ItTasksApiTest.cs @@ -171,7 +171,7 @@ public async Task CreateTaskCron() Assert.AreEqual(TaskStatusType.Active, task.Status); Assert.AreEqual("0 2 * * *", task.Cron); Assert.IsNull(task.Every); - Assert.IsTrue(task.Flux.EndsWith(TaskFlux, StringComparison.OrdinalIgnoreCase)); + StringAssert.StartsWith(TaskFlux, task.Flux); } [Test] @@ -189,7 +189,7 @@ public async Task CreateTaskEvery() Assert.AreEqual(TaskStatusType.Active, task.Status); Assert.AreEqual("1h", task.Every); Assert.IsNull(task.Cron); - Assert.IsTrue(task.Flux.EndsWith(TaskFlux, StringComparison.OrdinalIgnoreCase)); + StringAssert.StartsWith(TaskFlux, task.Flux); } [Test] @@ -586,7 +586,7 @@ public async Task UpdateTask() var cronTask = await _tasksApi.CreateTaskCronAsync(taskName, TaskFlux, "0 2 * * *", _organization); - var flux = $"option task = {{name: \"{taskName}\", every: 3m}}\n\n{TaskFlux}"; + var flux = $"{TaskFlux}\n\noption task = {{name: \"{taskName}\", every: 3m}}"; cronTask.Every = "3m"; cronTask.Cron = null; @@ -607,5 +607,27 @@ public async Task UpdateTask() Assert.IsNotNull(updatedTask.UpdatedAt); } + + [Test] + public async Task CreateTaskWithMoreFrom() + { + var taskName = GenerateName("it task"); + + const string flux = "procTotal = from(bucket: \"example-bucket\")" + + " |> range(start: -5m)" + + " |> filter(fn: (r) => r._measurement == \"processes\" and r._field == \"total\")" + + "" + + "procTotal"; + + var task = await _tasksApi.CreateTaskCronAsync(taskName, flux, "0 2 * * *", _organization); + + Assert.IsNotNull(task); + Assert.IsNotEmpty(task.Id); + Assert.AreEqual(taskName, task.Name); + Assert.AreEqual(_organization.Id, task.OrgID); + Assert.AreEqual(TaskStatusType.Active, task.Status); + Assert.AreEqual("0 2 * * *", task.Cron); + StringAssert.StartsWith(flux, task.Flux); + } } } \ No newline at end of file diff --git a/Client/TasksApi.cs b/Client/TasksApi.cs index a184e50ef..98c4276e6 100644 --- a/Client/TasksApi.cs +++ b/Client/TasksApi.cs @@ -1324,7 +1324,7 @@ private TaskType CreateTaskAsync(string name, string flux, string every, string repetition += "\"" + cron + "\""; } - task.Flux = $"option task = {{name: \"{name}\", {repetition}}} \n {flux}"; + task.Flux = $"{flux}\n\noption task = {{name: \"{name}\", {repetition}}}"; return task; }