~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-15 19:14:19 UTC
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: heber.parrucci@canonical.com-20170215191419-a3549ap02gflc8rj
Addressing review feedback regarding credentials:
Now it is read from a user config file that is outside the repo in the host machine. If that config is not found, then it reads the credentials from env variables.
The idea is to store the config with the credentials in a private repository, and then Jenkins will get it and store in the host machine when running the tests.
The same mechanism is used in ubuntu-system-tests.

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
27
26
 
28
27
# Test data dirs
29
28
DIR_TESTS = os.path.realpath(__file__ + '/../../tests')
30
29
DIR_TEST_DATA = os.path.join(DIR_TESTS, 'data')
31
 
DIR_TEST_DATA_USERS = os.path.join(DIR_TEST_DATA, 'users')
 
30
DIR_TEST_DATA_ENTITY = os.path.join(DIR_TEST_DATA, 'entity')
32
31
 
33
32
# Test data files
34
 
USERS_FILE = os.path.join(DIR_TEST_DATA_USERS, 'users.json')
35
 
 
36
 
 
37
 
def get_store_user_by_index(index=0):
38
 
    """Get the a user store data by index as a dict"""
39
 
    return USERS_STACK.store_users['users'][index]
40
 
 
41
 
 
42
 
def get_default_store_user():
43
 
    """Return default store user: considering as default the first one stored"""
44
 
    return get_store_user_by_index()
45
 
 
46
 
 
47
 
class UsersStack(metaclass=Singleton):
48
 
    """Singleton to store the users that are stored as test data in json files"""
 
33
ENTITY_FILE = os.path.join(DIR_TEST_DATA_ENTITY, 'entity.json')
 
34
 
 
35
 
 
36
class EntityStack:
 
37
    """Class store an entity that is read as
 
38
    test data in json files"""
49
39
 
50
40
    def __init__(self):
51
 
        self.__users = read_json_from_file(USERS_FILE)
 
41
        self.__entities = read_json_from_file(ENTITY_FILE)
52
42
 
53
43
    @property
54
 
    def store_users(self):
55
 
        """Get the current users"""
56
 
        return self.__users
57
 
 
58
 
 
59
 
USERS_STACK = UsersStack()
 
44
    def entities(self):
 
45
        """Get the current entities"""
 
46
        return self.__entities