From 731bffdc1e22381ab84f9aca293de676117656b0 Mon Sep 17 00:00:00 2001 From: Mateusz Poliwczak Date: Thu, 21 Aug 2025 12:19:05 +0200 Subject: [PATCH] Re-enable test_delete from test_input.py This also simplifies the test and splits it into to two separate tests. --- tests/integration/test_input.py | 48 +++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/tests/integration/test_input.py b/tests/integration/test_input.py index fa1663ec4..fe0ca83fc 100755 --- a/tests/integration/test_input.py +++ b/tests/integration/test_input.py @@ -282,27 +282,35 @@ def test_update(self): entity.refresh() self.assertEqual(entity.host, kwargs["host"]) - @pytest.mark.skip("flaky") def test_delete(self): - inputs = self.service.inputs - remaining = len(self._test_entities) - 1 - for input_entity in self._test_entities.values(): - name = input_entity.name - kind = input_entity.kind - self.assertTrue(name in inputs) - self.assertTrue((name, kind) in inputs) - if remaining == 0: - inputs.delete(name) - self.assertFalse(name in inputs) - else: - if not name.startswith("boris"): - self.assertRaises( - client.AmbiguousReferenceException, inputs.delete, name - ) - self.service.inputs.delete(name, kind) - self.assertFalse((name, kind) in inputs) - self.assertRaises(client.HTTPError, input_entity.refresh) - remaining -= 1 + udpName, udpKind = ( + self._test_entities["udp"].name, + self._test_entities["udp"].kind, + ) + tcpName, tcpKind = ( + self._test_entities["tcp"].name, + self._test_entities["tcp"].kind, + ) + + # Delete via the Input entity itself. + self._test_entities["tcp"].delete() + + # Delete via the Inputs collection. + self.service.inputs.delete(udpName, udpKind) + + for input in self.service.inputs: + if input.name == tcpName and input.kind == tcpKind: + self.fail(f"{tcpName} {tcpKind} still exists") + if input.name == udpName and input.kind == udpKind: + self.fail(f"{udpName} {udpKind} still exists") + + def test_delete_ambiguous_reference(self): + # _test_entities["udp"] and _test_entities["tcp"] share the same input name, thus + # deletion only with the name, without specifying the input kind, should fail. + name = self._test_entities["udp"].name + self.assertRaises( + client.AmbiguousReferenceException, lambda: self.service.inputs.delete(name) + ) if __name__ == "__main__":