~canonical-platform-qa/snappy-ecosystem-tests/fixing_ci

« back to all changes in this revision

Viewing changes to snappy_ecosystem_tests/utils/test_data.py

  • Committer: Heber Parrucci
  • Date: 2017-02-13 16:00:04 UTC
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: heber.parrucci@canonical.com-20170213160004-oe9fnfkd6foqllae
Changing runner for pytest to aviod the plugins issues in nose2 using testtools.
Making pylint more strict: fail with Warnings messages.
Refactoring global variables to use Singletons instead.
Updating README.rst with the new runner options

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
import os
24
24
 
25
25
from snappy_ecosystem_tests.utils.json import read_json_from_file
 
26
from snappy_ecosystem_tests.utils.singleton import Singleton
26
27
 
27
28
# Test data dirs
28
29
DIR_TESTS = os.path.realpath(__file__ + '/../../tests')
32
33
# Test data files
33
34
USERS_FILE = os.path.join(DIR_TEST_DATA_USERS, 'users.json')
34
35
 
35
 
# Globals
36
 
STORE_USERS = None
37
 
 
38
 
 
39
 
def get_store_users():
40
 
    """Get the users store data as a dict"""
41
 
    global STORE_USERS
42
 
    if not STORE_USERS:
43
 
        STORE_USERS = read_json_from_file(USERS_FILE)
44
 
    return STORE_USERS
45
 
 
46
36
 
47
37
def get_store_user(index=0):
48
38
    """Get the a user store data by index as a dict"""
49
 
    return get_store_users()['users'][index]
 
39
    return USERS_STACK.store_users['users'][index]
 
40
 
 
41
 
 
42
class UsersStack(metaclass=Singleton):
 
43
    """Singleton to store the users that are stored as test data in json files"""
 
44
 
 
45
    def __init__(self):
 
46
        self.__users = read_json_from_file(USERS_FILE)
 
47
 
 
48
    @property
 
49
    def store_users(self):
 
50
        """Get the current users"""
 
51
        return self.__users
 
52
 
 
53
 
 
54
USERS_STACK = UsersStack()