|
- import os
- import pytest
-
- from collections import OrderedDict
- os.environ["TESTING"] = "True"
-
-
- @pytest.fixture(scope='function')
- def StringDictionaries():
- ParamLine1 = OrderedDict({'parameter name1': 'value1'})
- ParamLine2 = OrderedDict({'parameter name2': 'value2'})
- ParamLine3 = OrderedDict({'parameter name3': 'value3'})
-
- Section1 = OrderedDict({'section name1': OrderedDict(**ParamLine1,
- **ParamLine2)})
- Section2 = OrderedDict({'section name2': OrderedDict(**ParamLine1,
- **ParamLine2)})
- Section3 = OrderedDict({'section name3': OrderedDict(**ParamLine3)})
-
- OriginalDictionary = OrderedDict(**Section1, **Section2)
- TemplateDictionary = OrderedDict(**Section3)
- ResultDictionary = OrderedDict(**Section1, **Section2, **Section3)
-
- return (OriginalDictionary, TemplateDictionary, ResultDictionary)
-
-
- @pytest.fixture(scope='function')
- def TupleDictionaries():
- ParamLine1 = OrderedDict({('', 'parameter name1'): 'value1'})
- ParamLine2 = OrderedDict({('', 'parameter name2'): 'value2'})
- ParamLine3 = OrderedDict({('', 'parameter name3'): 'value3'})
-
- Section1 = OrderedDict({('', 'section name1'): OrderedDict(**ParamLine1,
- **ParamLine2)})
- Section2 = OrderedDict({('', 'section name2'): OrderedDict(**ParamLine1,
- **ParamLine2)})
- Section3 = OrderedDict({('', 'section name3'): OrderedDict(**ParamLine3)})
-
- OriginalDictionary = OrderedDict(**Section1, **Section2)
- TemplateDictionary = OrderedDict(**Section3)
- ResultDictionary = OrderedDict(**Section1, **Section2, **Section3)
-
- return (OriginalDictionary, TemplateDictionary, ResultDictionary)
-
-
- @pytest.fixture(scope='function')
- def MergeSectionDictionaries():
- ParamLine1 = OrderedDict({('', 'parameter name1'): 'value1'})
- ParamLine2 = OrderedDict({('', 'parameter name2'): 'value2'})
- ParamLine3 = OrderedDict({('', 'parameter name3'): 'value3'})
-
- Section1 = OrderedDict({('', 'section name1'): OrderedDict(**ParamLine1,
- **ParamLine2)})
- Section2 = OrderedDict({('', 'section name2'): OrderedDict(**ParamLine1,
- **ParamLine2)})
- Section2Add = OrderedDict({('', 'section name2'):
- OrderedDict(**ParamLine3)})
- Section2Added = OrderedDict({('', 'section name2'):
- OrderedDict(**ParamLine1,
- **ParamLine2,
- **ParamLine3)})
-
- OriginalDictionary = OrderedDict(**Section1, **Section2)
- TemplateDictionary = OrderedDict(**Section2Add)
- ResultDictionary = OrderedDict(**Section1, **Section2Added)
-
- return (OriginalDictionary, TemplateDictionary, ResultDictionary)
-
-
- @pytest.fixture(scope='function')
- def ChangeParameterDictionaries():
- ParamLine1 = OrderedDict({('', 'parameter name1'): 'value1'})
- ParamLine2 = OrderedDict({('', 'parameter name2'): 'value2'})
- ParamLine3 = OrderedDict({('', 'parameter name3'): 'value3'})
- ParamLine2New = OrderedDict({('', 'parameter name2'): 'NewValue'})
- ParamLine3New = OrderedDict({('', 'parameter name3'): 'OtherValue'})
-
- Section = OrderedDict({('', 'section name1'): OrderedDict(**ParamLine1,
- **ParamLine2,
- **ParamLine3)})
- SectionNew = OrderedDict({('', 'section name1'):
- OrderedDict(**ParamLine1,
- **ParamLine2New,
- **ParamLine3New)})
-
- OriginalDictionary = OrderedDict(**Section)
- TemplateDictionary = OrderedDict(**SectionNew)
- ResultDictionary = TemplateDictionary
-
- return (OriginalDictionary, TemplateDictionary, ResultDictionary)
-
-
- @pytest.fixture(scope='function')
- def DeleteSectionDictionaries():
- ParamLine1 = OrderedDict({('', 'parameter name1'): 'value1'})
- ParamLine2 = OrderedDict({('', 'parameter name2'): 'value2'})
-
- Section1 = OrderedDict({('', 'section name1'): OrderedDict(**ParamLine1,
- **ParamLine2)})
- Section2 = OrderedDict({('', 'section name2'): OrderedDict(**ParamLine1,
- **ParamLine2)})
- SectionDel = OrderedDict({('!', 'section name2'): OrderedDict()})
-
- OriginalDictionary = OrderedDict(**Section1, **Section2)
- TemplateDictionary = OrderedDict(**SectionDel)
- ResultDictionary = OrderedDict(**Section1)
-
- return (OriginalDictionary, TemplateDictionary, ResultDictionary)
-
-
- @pytest.fixture(scope='function')
- def ReplaceSectionDictionaries():
- ParamLine1 = OrderedDict({('', 'parameter name1'): 'value1'})
- ParamLine2 = OrderedDict({('', 'parameter name2'): 'value2'})
- ParamLine3 = OrderedDict({('', 'parameter name3'): 'value3'})
- ParamLine4 = OrderedDict({('', 'parameter name4'): 'value4'})
-
- Section1 = OrderedDict({('', 'section name1'): OrderedDict(**ParamLine1,
- **ParamLine2)})
- Section2 = OrderedDict({('', 'section name2'): OrderedDict(**ParamLine1,
- **ParamLine2)})
- Section2Replace = OrderedDict({('-', 'section name2'):
- OrderedDict(**ParamLine3, **ParamLine4)})
- Section2Replaced = OrderedDict({('', 'section name2'):
- OrderedDict(**ParamLine3, **ParamLine4)})
-
- OriginalDictionary = OrderedDict(**Section1, **Section2)
- TemplateDictionary = OrderedDict(**Section2Replace)
- ResultDictionary = OrderedDict(**Section1, **Section2Replaced)
-
- return (OriginalDictionary, TemplateDictionary, ResultDictionary)
-
-
- @pytest.fixture(scope='function')
- def DeleteParameterDictionaries():
- ParamLine1 = OrderedDict({('', 'parameter name1'): 'value1'})
- ParamLine2 = OrderedDict({('', 'parameter name2'): 'value2'})
- ParamLineDel = OrderedDict({('!', 'parameter name2'): 'value2'})
-
- Section1 = OrderedDict({('', 'section name1'): OrderedDict(**ParamLine1,
- **ParamLine2)})
- Section2 = OrderedDict({('', 'section name2'): OrderedDict(**ParamLine1,
- **ParamLine2)})
- SectionDel = OrderedDict({('', 'section name2'):
- OrderedDict(**ParamLineDel)})
- SectionAfterDel = OrderedDict({('', 'section name2'):
- OrderedDict(**ParamLine1)})
-
- OriginalDictionary = OrderedDict(**Section1, **Section2)
- TemplateDictionary = OrderedDict(**SectionDel)
- ResultDictionary = OrderedDict(**Section1, **SectionAfterDel)
-
- return (OriginalDictionary, TemplateDictionary, ResultDictionary)
-
-
- @pytest.fixture(scope='function')
- def DictionariesWithoutSections():
- ParamLine1 = OrderedDict({('', 'parameter name1'): 'value1'})
- ParamLine2 = OrderedDict({('', 'parameter name2'): 'value2'})
- ParamLine3 = OrderedDict({('', 'parameter name3'): 'value3'})
- ParamLineDel = OrderedDict({('!', 'parameter name2'): ''})
-
- OriginalDictionary = OrderedDict(**ParamLine1, **ParamLine2)
- TemplateDictionary = OrderedDict(**ParamLine3, **ParamLineDel)
- ResultDictionary = OrderedDict(**ParamLine1, **ParamLine3)
-
- return (OriginalDictionary, TemplateDictionary, ResultDictionary)
-
-
- def pytest_addoption(parser):
- parser.addoption(
- "--chroot-test",
- action="store_true",
- default=False,
- help="run chroot tests"
- )
- parser.addoption(
- "--backgrounds-slow",
- action="store_true",
- default=False,
- help="run slow backgrounds tests."
- )
- parser.addoption(
- "--from-root",
- action="store_true",
- default=False,
- help="run tests that needs root rights."
- )
-
-
- def pytest_collection_modifyitems(config, items):
- if not config.getoption("--chroot-test"):
- skip_chroot = pytest.mark.skip(
- reason="need --chroot-test option to run")
- for item in items:
- if "chroot" in item.keywords:
- item.add_marker(skip_chroot)
-
- if not config.getoption("--backgrounds-slow"):
- skip_backgrounds = pytest.mark.skip(
- reason="need --backgrounds-slow option to run")
- for item in items:
- if "backgrounds_slow" in item.keywords:
- item.add_marker(skip_backgrounds)
-
- if not config.getoption("--from-root"):
- skip_from_root = pytest.mark.skip(
- reason="need --from-root option to run")
- for item in items:
- if "needs_root" in item.keywords:
- item.add_marker(skip_from_root)
|