summaryrefslogtreecommitdiff
path: root/tests/unittests/test_event.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unittests/test_event.py')
-rw-r--r--tests/unittests/test_event.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/unittests/test_event.py b/tests/unittests/test_event.py
new file mode 100644
index 00000000..2ea91bb2
--- /dev/null
+++ b/tests/unittests/test_event.py
@@ -0,0 +1,26 @@
+# This file is part of cloud-init. See LICENSE file for license information.
+"""Tests related to cloudinit.event module."""
+from cloudinit.event import EventScope, EventType, userdata_to_events
+
+
+class TestEvent:
+ def test_userdata_to_events(self):
+ userdata = {"network": {"when": ["boot"]}}
+ expected = {EventScope.NETWORK: {EventType.BOOT}}
+ assert expected == userdata_to_events(userdata)
+
+ def test_invalid_scope(self, caplog):
+ userdata = {"networkasdfasdf": {"when": ["boot"]}}
+ userdata_to_events(userdata)
+ assert (
+ "'networkasdfasdf' is not a valid EventScope! Update data "
+ "will be ignored for 'networkasdfasdf' scope" in caplog.text
+ )
+
+ def test_invalid_event(self, caplog):
+ userdata = {"network": {"when": ["bootasdfasdf"]}}
+ userdata_to_events(userdata)
+ assert (
+ "'bootasdfasdf' is not a valid EventType! Update data "
+ "will be ignored for 'network' scope" in caplog.text
+ )