summaryrefslogtreecommitdiff
path: root/tests/unittests/test_event.py
blob: 2ea91bb27d8b1fd0669c06eabfc91bbcdc665bf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
        )