41 lines
825 B
Python
41 lines
825 B
Python
|
# -*- 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']
|