core: add test for tmp_config; unset new attributes
This commit is contained in:
parent
5313984d8f
commit
82e2f96192
2 changed files with 17 additions and 0 deletions
|
@ -40,6 +40,9 @@ def override_config(config: F) -> Iterator[F]:
|
||||||
# ugh. __dict__ of type objects isn't writable..
|
# ugh. __dict__ of type objects isn't writable..
|
||||||
for k, v in orig_properties.items():
|
for k, v in orig_properties.items():
|
||||||
setattr(config, k, v)
|
setattr(config, k, v)
|
||||||
|
added = {k for k in set(vars(config).keys()).difference(set(orig_properties.keys())) if not k.startswith('__')}
|
||||||
|
for k in added:
|
||||||
|
delattr(config, k)
|
||||||
|
|
||||||
|
|
||||||
# helper for tests? not sure if could be useful elsewhere
|
# helper for tests? not sure if could be useful elsewhere
|
||||||
|
@ -48,3 +51,16 @@ def tmp_config():
|
||||||
import my.config as C
|
import my.config as C
|
||||||
with override_config(C):
|
with override_config(C):
|
||||||
yield C # todo not sure?
|
yield C # todo not sure?
|
||||||
|
|
||||||
|
|
||||||
|
def test_tmp_config() -> None:
|
||||||
|
class extra:
|
||||||
|
data_path = '/path/to/data'
|
||||||
|
with tmp_config() as c:
|
||||||
|
assert c.google != 'whatever'
|
||||||
|
assert not hasattr(c, 'extra')
|
||||||
|
c.extra = extra
|
||||||
|
c.google = 'whatever'
|
||||||
|
# todo hmm. not sure what should do about new properties??
|
||||||
|
assert not hasattr(c, 'extra')
|
||||||
|
assert c.google != 'whatever'
|
||||||
|
|
|
@ -10,6 +10,7 @@ we can run against the tests in my.core directly.
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
from my.core.cfg import *
|
||||||
from my.core.common import *
|
from my.core.common import *
|
||||||
from my.core.core_config import *
|
from my.core.core_config import *
|
||||||
from my.core.error import *
|
from my.core.error import *
|
||||||
|
|
Loading…
Add table
Reference in a new issue