1
# -*- coding: utf-8 -*-
2
# Copyright: (C) 2013 Canonical
7
# This program is free software; you can redistribute it and/or modify it under
8
# the terms of the GNU General Public License as published by the Free Software
9
# Foundation; version 3.
11
# This program is distributed in the hope that it will be useful, but WITHOUT
12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
16
# You should have received a copy of the GNU General Public License along with
17
# this program; if not, write to the Free Software Foundation, Inc.,
18
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23
from ..tools import basetestcase
26
class BaseSystemTestCase(basetestcase.BaseTestCase):
27
'''Base system test case module, remove all mocks from PATH
29
Note that BaseSystemTestCase cleanswap the double BranchHandlingTests import (with PATH change) due to nosetests.
30
So we need it to be inherited *first* by subclasses to be the last executed'''
34
super(BaseSystemTestCase, cls).setUpClass()
35
cls.removeFromPath(os.path.join("mocks", "offline"))
36
cls.removeFromPath(os.path.join("mocks", "online"))
39
class BaseSystemTestCaseWithErrors(BaseSystemTestCase):
40
'''Base system test case module, simulating errors in mock objects'''
43
'''Reset the error mode to 1'''
44
super(BaseSystemTestCaseWithErrors, self).setUp()
45
os.environ['MOCK_ERROR_MODE'] = "1"
48
def tearDownClass(cls):
49
super(BaseSystemTestCaseWithErrors, cls).setUpClass()
51
os.environ.pop('MOCK_ERROR_MODE')