Completed
Pull Request — master (#539)
by
unknown
02:51
created

TeamCityBaseActionTestCase.setUp()   A

Complexity

Conditions 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
1
import json
2
import yaml
3
4
import requests_mock
5
6
from st2tests.base import BaseActionTestCase
7
8
9
class TeamCityBaseActionTestCase(BaseActionTestCase):
10
    __test__ = False
11
12
    def setUp(self):
13
        super(TeamCityBaseActionTestCase, self).setUp()
14
15
        self._blank_config = self.load_yaml('blank.yaml')
16
        self._full_config = self.load_yaml('full.yaml')
17
18
    def load_yaml(self, filename):
19
        return yaml.safe_load(self.get_fixture_content(filename))
20
21
    def load_json(self, filename):
22
        return json.loads(self.get_fixture_content(filename))
23
24
    @property
25
    def blank_config(self):
26
        return self._blank_config
27
28
    @property
29
    def full_config(self):
30
        return self._full_config
31
32
    def test_run_no_config(self):
33
        self.assertRaises(ValueError,
34
                          self.action_cls,
35
                          self._blank_config)
36
37
    def test_run_is_instance(self):
38
        action = self.get_action_instance(self._full_config)
39
        self.assertIsInstance(action, self.action_cls)
40
        self.assertEqual(action.url, "http://example.teamcityagent.com:8080")
41
        self.assertEqual(action.username, "testuser")
42
        self.assertEqual(action.password, "testpassword")
43
44
    def _get_mocked_action(self):
45
        action = self.get_action_instance(self._full_config)
46
        action.url = "mock://example.teamcityagent.com:8080"
47
48
        adapter = requests_mock.Adapter()
49
        action.session.mount('mock', adapter)
50
51
        return action, adapter
52
53
    def _get_action_status_code(self, method, url, status_code):
54
        action, adapter = self._get_mocked_action()
55
        action.url = "mock://example.teamcityagent.com:8080/"
56
57
        adapter.register_uri(method, url, status_code=status_code)
58
59
        return action, adapter
60