summaryrefslogtreecommitdiff
path: root/cloudinit/tests/test_event.py
blob: 3da4c70c9ee20ab146a61ef210c8c0379f0b7bd9 (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 EventType, EventScope, 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