From 814c1370471f52903ad629661b025714042ac715 Mon Sep 17 00:00:00 2001 From: Russ Cam Date: Fri, 23 Aug 2019 15:18:52 +1000 Subject: [PATCH] Ensure filters created are deleted This commit updates ML filter integration tests to ensure that filters created as part of a test are deleted. --- .../GetFilters/GetFiltersApiTests.cs | 13 +++++++++++++ .../MachineLearningIntegrationTestBase.cs | 10 ++++++++++ .../MachineLearning/PutFilter/PutFilterApiTests.cs | 6 ++++++ .../UpdateFilter/UpdateFilterApiTests.cs | 6 ++++++ 4 files changed, 35 insertions(+) diff --git a/src/Tests/Tests/XPack/MachineLearning/GetFilters/GetFiltersApiTests.cs b/src/Tests/Tests/XPack/MachineLearning/GetFilters/GetFiltersApiTests.cs index 081693e02da..931a57e29eb 100644 --- a/src/Tests/Tests/XPack/MachineLearning/GetFilters/GetFiltersApiTests.cs +++ b/src/Tests/Tests/XPack/MachineLearning/GetFilters/GetFiltersApiTests.cs @@ -20,6 +20,12 @@ protected override void IntegrationSetup(IElasticClient client, CallUniqueValues PutFilter(client, callUniqueValue.Value); } + protected override void IntegrationTeardown(IElasticClient client, CallUniqueValues values) + { + foreach (var callUniqueValue in values) + DeleteFilter(client, callUniqueValue.Value); + } + protected override bool ExpectIsValid => true; protected override object ExpectJson => null; @@ -71,6 +77,13 @@ protected override void IntegrationSetup(IElasticClient client, CallUniqueValues PutFilter(client, callUniqueValue.Value + "_" + (i + 1)); } + protected override void IntegrationTeardown(IElasticClient client, CallUniqueValues values) + { + foreach (var callUniqueValue in values) + for (var i = 0; i < 3; i++) + DeleteFilter(client, callUniqueValue.Value + "_" + (i + 1)); + } + protected override bool ExpectIsValid => true; protected override object ExpectJson => null; diff --git a/src/Tests/Tests/XPack/MachineLearning/MachineLearningIntegrationTestBase.cs b/src/Tests/Tests/XPack/MachineLearning/MachineLearningIntegrationTestBase.cs index 6ed51022e2f..a2b367125d5 100644 --- a/src/Tests/Tests/XPack/MachineLearning/MachineLearningIntegrationTestBase.cs +++ b/src/Tests/Tests/XPack/MachineLearning/MachineLearningIntegrationTestBase.cs @@ -50,6 +50,16 @@ protected PutFilterResponse PutFilter(IElasticClient client, string filterId) return putFilterResponse; } + protected DeleteFilterResponse DeleteFilter(IElasticClient client, string filterId) + { + var deleteFilterResponse = client.MachineLearning.DeleteFilter(filterId); + + if (!deleteFilterResponse.IsValid) + throw new Exception($"Problem deleting filter {filterId} for integration test: {deleteFilterResponse.DebugInformation}"); + + return deleteFilterResponse; + } + protected PutCalendarResponse PutCalendar(IElasticClient client, string calendarId) { var putCalendarResponse = client.MachineLearning.PutCalendar(calendarId, f => f diff --git a/src/Tests/Tests/XPack/MachineLearning/PutFilter/PutFilterApiTests.cs b/src/Tests/Tests/XPack/MachineLearning/PutFilter/PutFilterApiTests.cs index f50802d17f3..63c2b271ed3 100644 --- a/src/Tests/Tests/XPack/MachineLearning/PutFilter/PutFilterApiTests.cs +++ b/src/Tests/Tests/XPack/MachineLearning/PutFilter/PutFilterApiTests.cs @@ -13,6 +13,12 @@ public class PutFilterApiTests : MachineLearningIntegrationTestBase true; protected override object ExpectJson => new diff --git a/src/Tests/Tests/XPack/MachineLearning/UpdateFilter/UpdateFilterApiTests.cs b/src/Tests/Tests/XPack/MachineLearning/UpdateFilter/UpdateFilterApiTests.cs index c967eb23492..3242bb7758a 100644 --- a/src/Tests/Tests/XPack/MachineLearning/UpdateFilter/UpdateFilterApiTests.cs +++ b/src/Tests/Tests/XPack/MachineLearning/UpdateFilter/UpdateFilterApiTests.cs @@ -20,6 +20,12 @@ protected override void IntegrationSetup(IElasticClient client, CallUniqueValues PutFilter(client, callUniqueValue.Value); } + protected override void IntegrationTeardown(IElasticClient client, CallUniqueValues values) + { + foreach (var callUniqueValue in values) + DeleteFilter(client, callUniqueValue.Value); + } + protected override bool ExpectIsValid => true; protected override object ExpectJson => new