Merge "fixtures: Introduce fixture for auto-resetting config object"

This commit is contained in:
Zuul 2018-08-14 20:26:07 +00:00 committed by Gerrit Code Review
commit e1e9d3cca3
2 changed files with 32 additions and 6 deletions

View File

@ -0,0 +1,32 @@
# Copyright 2018 AT&T Intellectual Property. All other rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import copy
import pytest
from pegleg import config
"""Fixtures that are applied to all unit tests."""
@pytest.fixture(autouse=True)
def restore_config():
"""Used for ensuring the original global context is reset in memory
following each test execution. Simply import this file to use.
"""
original_global_context = copy.deepcopy(config.GLOBAL_CONTEXT)
try:
yield
finally:
config.GLOBAL_CONTEXT = original_global_context

View File

@ -47,9 +47,6 @@ def _gen_document(**kwargs):
def create_tmp_deployment_files(tmpdir):
"""Fixture that creates a temporary directory structure."""
sitenames = ['cicd', 'lab']
# Used for ensuring the original global context is reset in memory
# following each test execution.
original_global_context = copy.deepcopy(config.GLOBAL_CONTEXT)
SITE_TEST_STRUCTURE = {
'directories': {
@ -154,6 +151,3 @@ schema: pegleg/SiteDefinition/v1
files._create_tree(cicd_path, tree=test_structure)
yield
# Restore the global context back to blank slate status.
config.GLOBAL_CONTEXT = original_global_context