Skip to content

Commit 871c04b

Browse files
committed
Extend icontrolsessionfactory to be useful
1 parent 21d8495 commit 871c04b

2 files changed

Lines changed: 34 additions & 10 deletions

File tree

conftest.py

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,23 @@ def pytest_addoption(parser):
4848

4949
@pytest.fixture
5050
def fakeicontrolsession(monkeypatch):
51+
class Response(object):
52+
53+
def json(self):
54+
return {'selfLink': 'https://localhost/mgmt/tm/sys?ver=11.6.0'}
55+
56+
fakesessionclass = mock.create_autospec(iControlRESTSession, spec_set=True)
57+
fakesessioninstance = mock.create_autospec(iControlRESTSession('A', 'B'),
58+
spec_set=True)
59+
fakesessioninstance.get =\
60+
mock.MagicMock(return_value=Response())
61+
fakesessionclass.return_value = fakesessioninstance
62+
monkeypatch.setattr('f5.bigip.iControlRESTSession', fakesessionclass)
63+
64+
65+
66+
@pytest.fixture
67+
def fakeicontrolsessionfactory(monkeypatch):
5168
class Response(object):
5269
def __init__(self, **json_keys):
5370
if 'selfLink' not in json_keys:
@@ -58,13 +75,17 @@ def __init__(self, **json_keys):
5875
def json(self):
5976
return self.params
6077

61-
fakesessionclass = mock.create_autospec(iControlRESTSession, spec_set=True)
62-
fakesessioninstance =\
63-
mock.create_autospec(iControlRESTSession('A', 'B'), spec_set=True)
64-
fakesessioninstance.get = mock.MagicMock(return_value=Response())
65-
fakesessionclass.return_value = fakesessioninstance
66-
monkeypatch.setattr('f5.bigip.iControlRESTSession', fakesessionclass)
67-
78+
def _session_factory(**json_keys):
79+
fakesessionclass = mock.create_autospec(iControlRESTSession,
80+
spec_set=True)
81+
fakesessioninstance =\
82+
mock.create_autospec(iControlRESTSession('A', 'B'), spec_set=True)
83+
fakesessioninstance.get =\
84+
mock.MagicMock(return_value=Response(**json_keys))
85+
fakesessionclass.return_value = fakesessioninstance
86+
monkeypatch.setattr('f5.bigip.iControlRESTSession', fakesessionclass)
87+
88+
return _session_factory
6889

6990
@pytest.fixture
7091
def fakeicontrolsession_v12(monkeypatch):

f5/bigip/cm/autodeploy/test/test_software_image_uploads.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
CHUNKSIZE = 20
2525

2626

27-
def test_software_image_uploads_80a(tmpdir, fakeicontrolsession):
27+
def test_software_image_uploads_80a(tmpdir, fakeicontrolsessionfactory):
28+
fakeicontrolsessionfactory()
2829
filepath = tmpdir.mkdir('testdir').join('eightya.iso')
2930
filepath.write(80*'a')
3031
mr = ManagementRoot('FAKENETLOC', 'FAKENAME', 'FAKEPASSWORD')
@@ -37,7 +38,8 @@ def test_software_image_uploads_80a(tmpdir, fakeicontrolsession):
3738
assert d == 'a'*CHUNKSIZE
3839

3940

40-
def test_software_image_uploads_70a(tmpdir, fakeicontrolsession):
41+
def test_software_image_uploads_70a(tmpdir, fakeicontrolsessionfactory):
42+
fakeicontrolsessionfactory()
4143
filepath = tmpdir.mkdir('testdir').join('seventya.iso')
4244
filepath.write(70*'a')
4345
mr = ManagementRoot('FAKENETLOC', 'FAKENAME', 'FAKEPASSWORD')
@@ -53,7 +55,8 @@ def test_software_image_uploads_70a(tmpdir, fakeicontrolsession):
5355
assert 10*'a' == lchunk
5456

5557

56-
def test_non_ISO_extension(tmpdir, fakeicontrolsession):
58+
def test_non_ISO_extension(tmpdir, fakeicontrolsessionfactory):
59+
fakeicontrolsessionfactory()
5760
filepath = tmpdir.mkdir('testdir').join('wrong.name')
5861
mr = ManagementRoot('FAKENETLOC', 'FAKENAME', 'FAKEPASSWORD')
5962
sius = mr.cm.autodeploy.software_image_uploads

0 commit comments

Comments
 (0)