Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions tests/unittests/test_registry.py
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@
# This file is part of cloud-init. See LICENSE file for license information.

from unittest import mock

import pytest

from cloudinit.registry import DictRegistry
from tests.unittests.helpers import TestCase, mock


class TestDictRegistry(TestCase):
class TestDictRegistry:
def test_added_item_included_in_output(self):
registry = DictRegistry()
item_key, item_to_register = "test_key", mock.Mock()
registry.register_item(item_key, item_to_register)
self.assertEqual(
{item_key: item_to_register}, registry.registered_items
)
assert {item_key: item_to_register} == registry.registered_items

def test_registry_starts_out_empty(self):
self.assertEqual({}, DictRegistry().registered_items)
assert {} == DictRegistry().registered_items

def test_modifying_registered_items_isnt_exposed_to_other_callers(self):
registry = DictRegistry()
registry.registered_items["test_item"] = mock.Mock()
self.assertEqual({}, registry.registered_items)
assert {} == registry.registered_items

def test_keys_cannot_be_replaced(self):
registry = DictRegistry()
item_key = "test_key"
registry.register_item(item_key, mock.Mock())
self.assertRaises(
ValueError, registry.register_item, item_key, mock.Mock()
)

with pytest.raises(ValueError):
registry.register_item(item_key, mock.Mock())