# -*- coding: utf-8 -*- # type: ignore from __future__ import annotations from keep_it_secret import secrets from tests.fixtures import TestingSecrets class ParentSecrets(secrets.Secrets): pass def test_init(): # When result = TestingSecrets() # Then assert isinstance(result, TestingSecrets) assert result.__secrets_parent__ is None assert result.__secrets_data__ == {'spam': 'spam', 'eggs': 'eggs'} def test_init_with_parent(): # Given parent_secrets = ParentSecrets() # When result = TestingSecrets(parent=parent_secrets) # Then assert result.__secrets_parent__ is parent_secrets def test_field_property(testing_secrets: TestingSecrets): # When result = testing_secrets.spam # Then assert result == testing_secrets.__secrets_data__['spam']