Skip to content

Commit 5c9af31

Browse files
f5-rahmcaphrim007
authored andcommitted
Issues: (#1335)
Fixes #1334 Problem: Many old tests still reference the bigip object. Analysis: Refactored all functional tests that use the bigip object to use the mgmt_root object instead
1 parent 037d244 commit 5c9af31

35 files changed

Lines changed: 751 additions & 754 deletions

conftest.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,10 @@ def USER(bigip):
188188
return n
189189

190190

191-
def _delete_pools_members(bigip, pool_records):
191+
def _delete_pools_members(mgmt_root, pool_records):
192192
for pr in pool_records:
193-
if bigip.ltm.pools.pool.exists(partition=pr.partition, name=pr.name):
194-
pool_inst = bigip.ltm.pools.pool.load(partition=pr.partition,
195-
name=pr.name)
193+
if mgmt_root.tm.ltm.pools.pool.exists(partition=pr.partition, name=pr.name):
194+
pool_inst = mgmt_root.tm.ltm.pools.pool.load(partition=pr.partition, name=pr.name)
196195
members_list = pool_inst.members_s.get_collection()
197196
pool_inst.delete()
198197
for mem_inst in members_list:
@@ -201,14 +200,13 @@ def _delete_pools_members(bigip, pool_records):
201200

202201
@pytest.fixture
203202
def pool_factory():
204-
def _setup_boilerplate(bigip, request, pool_records):
205-
_delete_pools_members(bigip, pool_records)
203+
def _setup_boilerplate(mgmt_root, request, pool_records):
204+
_delete_pools_members(mgmt_root, pool_records)
206205
pool_registry = {}
207206
members_registry = {}
208207
for pr in pool_records:
209208
pool_registry[pr.name] =\
210-
bigip.ltm.pools.pool.create(partition=pr.partition,
211-
name=pr.name)
209+
mgmt_root.tm.ltm.pools.pool.create(partition=pr.partition, name=pr.name)
212210
if pr.memberconfigs != (tuple(),):
213211
members_collection = pool_registry[pr.name].members_s
214212
for memconf in pr.memberconfigs:

f5/bigip/shared/test/functional/test_bigip_failover_state.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
@pytest.mark.skipif(pytest.config.getoption('--release') != '12.0.0',
2121
reason='Needs v12 TMOS to pass')
2222
class TestBigIPFailoverState(object):
23-
def test_load(self, request, bigip):
24-
a = bigip.shared.bigip_failover_state.load()
23+
def test_load(self, request, mgmt_root):
24+
a = mgmt_root.shared.bigip_failover_state.load()
2525
assert hasattr(a, 'generation')
2626

27-
def test_update(self, request, bigip):
27+
def test_update(self, request, mgmt_root):
2828
with pytest.raises(UnsupportedMethod):
29-
bigip.shared.bigip_failover_state.update()
29+
mgmt_root.shared.bigip_failover_state.update()

f5/bigip/shared/test/functional/test_licensing.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,20 @@
1818

1919

2020
class TestActivation(object):
21-
def test_load(self, request, bigip):
22-
a = bigip.shared.licensing.activation.load()
21+
def test_load(self, request, mgmt_root):
22+
a = mgmt_root.tm.shared.licensing.activation.load()
2323
assert hasattr(a, 'generation')
2424

25-
def test_update(self, request, bigip):
25+
def test_update(self, request, mgmt_root):
2626
with pytest.raises(UnsupportedMethod):
27-
bigip.shared.licensing.activation.update()
27+
mgmt_root.tm.shared.licensing.activation.update()
2828

2929

3030
class TestRegistration(object):
31-
def test_load(self, request, bigip):
32-
reg = bigip.shared.licensing.registration.load()
31+
def test_load(self, request, mgmt_root):
32+
reg = mgmt_root.tm.shared.licensing.registration.load()
3333
assert hasattr(reg, 'generation')
3434

35-
def test_update(self, request, bigip):
35+
def test_update(self, request, mgmt_root):
3636
with pytest.raises(UnsupportedMethod):
37-
bigip.shared.licensing.registration.update()
37+
mgmt_root.tm.shared.licensing.registration.update()

f5/bigip/test/functional/test_requests_params.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020
MemberConfig = namedtuple('MemberConfig', 'mempartition memname')
2121

2222

23-
def test_get_collection(request, bigip, pool_factory, opt_release):
23+
def test_get_collection(request, mgmt_root, pool_factory, opt_release):
2424
Pool1MemberConfigs = (MemberConfig('Common', '192.168.15.15:80'),
2525
MemberConfig('Common', '192.168.16.16:8080'),)
2626
Pool1Config = PoolConfig('Common', 'TEST', Pool1MemberConfigs)
2727
test_pools = (Pool1Config,)
2828
pool_registry, member_registry =\
29-
pool_factory(bigip, request, test_pools)
29+
pool_factory(mgmt_root, request, test_pools)
3030
selfLinks = []
3131
for pool_inst in list(itervalues(pool_registry)):
3232
for mem in pool_inst.members_s.get_collection():
@@ -39,23 +39,23 @@ def test_get_collection(request, bigip, pool_factory, opt_release):
3939
'?ver='+opt_release
4040

4141

42-
def test_get_dollar_filtered_collection(request, bigip, pool_factory):
43-
if bigip.sys.folders.folder.exists(name='za', partition=''):
44-
bigip.sys.folders.folder.load(name='za', partition='')
42+
def test_get_dollar_filtered_collection(request, mgmt_root, pool_factory):
43+
if mgmt_root.tm.sys.folders.folder.exists(name='za', partition=''):
44+
mgmt_root.tm.sys.folders.folder.load(name='za', partition='')
4545
else:
46-
bigip.sys.folders.folder.create(name='za', subPath='/')
46+
mgmt_root.tm.sys.folders.folder.create(name='za', subPath='/')
4747
Pool1Config = PoolConfig('Common', 'TEST', ((),))
4848
Pool2Config = PoolConfig('za', 'TEST', ((),))
4949
test_pools = (Pool1Config, Pool2Config)
5050
pool_registry, member_registry =\
51-
pool_factory(bigip, request, test_pools)
51+
pool_factory(mgmt_root, request, test_pools)
5252
rp = {'params': '$filter=partition+eq+za'}
53-
pools_in_za = bigip.ltm.pools.get_collection(requests_params=rp)
53+
pools_in_za = mgmt_root.tm.ltm.pools.get_collection(requests_params=rp)
5454
muri = pools_in_za[0]._meta_data['uri']
5555
assert muri.endswith('/mgmt/tm/ltm/pool/~za~TEST/')
5656

5757

58-
def test_get_dollar_select_collection_properties(request, bigip, mgmt_root):
58+
def test_get_dollar_select_collection_properties(request, mgmt_root):
5959
http_profiles = mgmt_root.tm.ltm.profile.https
6060
without_select = http_profiles.get_collection()
6161
with_select = http_profiles.get_collection(

f5/bigip/tm/auth/test/functional/test_password_policy.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717

1818

1919
class TestPasswordPolicy(object):
20-
def test_load(self, bigip):
21-
password_policy = bigip.auth.password_policy.load()
20+
def test_load(self, mgmt_root):
21+
password_policy = mgmt_root.tm.auth.password_policy.load()
2222
assert password_policy.maxLoginFailures == 0
2323
password_policy.refresh()
2424
assert password_policy.maxLoginFailures == 0
2525

26-
def test_update(self, bigip):
27-
password_policy = bigip.auth.password_policy.load()
26+
def test_update(self, mgmt_root):
27+
password_policy = mgmt_root.tm.auth.password_policy.load()
2828
password_policy.update(maxLoginFailures=10)
2929
assert password_policy.maxLoginFailures == 10
3030
password_policy.update(maxLoginFailures=0)

f5/bigip/tm/cm/test/functional/test_sync_status.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616

1717
class TestSyncStatus(object):
18-
def test_get_status(self, request, bigip):
19-
sync_status = bigip.cm.sync_status
18+
def test_get_status(self, request, mgmt_root):
19+
sync_status = mgmt_root.tm.cm.sync_status
2020
assert sync_status._meta_data['uri'].endswith(
2121
"/mgmt/tm/cm/sync-status/")
2222
sync_status.refresh()

f5/bigip/tm/cm/test/functional/test_traffic_group.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@
2020
TEST_DESCR = "TEST DESCRIPTION"
2121

2222

23-
def setup_traffic_group_test(request, bigip, name, partition, **kwargs):
23+
def setup_traffic_group_test(request, mgmt_root, name, partition, **kwargs):
2424
def teardown():
2525
try:
2626
tg.delete()
2727
except HTTPError as err:
2828
if err.response.status_code is not 404:
2929
raise
3030
request.addfinalizer(teardown)
31-
tg = bigip.cm.traffic_groups.traffic_group.create(
31+
tg = mgmt_root.tm.cm.traffic_groups.traffic_group.create(
3232
name=name, partition=partition, **kwargs)
3333
return tg
3434

@@ -40,29 +40,29 @@ class TestTrafficGroups(object):
4040
) < LooseVersion('11.6.0'),
4141
reason='Skip test if on a version below 11.6.0. The '
4242
'mac attribute does not exist in 11.5.4.')
43-
def test_device_list_11_6_and_greater(self, bigip):
44-
groups = bigip.cm.traffic_groups.get_collection()
43+
def test_device_list_11_6_and_greater(self, mgmt_root):
44+
groups = mgmt_root.tm.cm.traffic_groups.get_collection()
4545
assert len(groups)
4646
assert groups[0].generation > 0
4747
assert hasattr(groups[0], 'mac')
4848

49-
def test_device_list_alternative(self, bigip):
49+
def test_device_list_alternative(self, mgmt_root):
5050
'''An alternative to test above that works regardless of version.'''
51-
groups = bigip.cm.traffic_groups.get_collection()
51+
groups = mgmt_root.tm.cm.traffic_groups.get_collection()
5252
assert len(groups)
5353
assert groups[0].generation > 0
5454
assert hasattr(groups[0], 'isFloating')
5555

5656

5757
class TestDevice(object):
58-
def test_device_CURDL(self, request, bigip):
58+
def test_device_CURDL(self, request, mgmt_root):
5959
# Create and Delete are done by setup/teardown
6060
tg1 = setup_traffic_group_test(
61-
request, bigip, 'test-tg', 'Common')
61+
request, mgmt_root, 'test-tg', 'Common')
6262
assert tg1.generation > 0
6363

6464
# Load
65-
tg2 = bigip.cm.traffic_groups.traffic_group.load(
65+
tg2 = mgmt_root.tm.cm.traffic_groups.traffic_group.load(
6666
name=tg1.name, partition=tg1.partition)
6767
assert tg1.generation == tg2.generation
6868

f5/bigip/tm/cm/test/functional/test_trust.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,23 @@
1717
import pytest
1818

1919

20-
def set_trust(request, bigip, name, device, dev_name, usr, passwd):
21-
dvcs = bigip.cm
20+
def set_trust(request, mgmt_root, name, device, dev_name, usr, passwd):
21+
dvcs = mgmt_root.tm.cm
2222
trust = dvcs.add_to_trust.exec_cmd('run', name=name, device=device,
2323
deviceName=dev_name, username=usr,
2424
caDevice=True, password=passwd)
2525
return trust
2626

2727

28-
def unset_trust(request, bigip, name, dev_name):
29-
dvcs = bigip.cm
28+
def unset_trust(request, mgmt_root, name, dev_name):
29+
dvcs = mgmt_root.tm.cm
3030
reset = dvcs.remove_from_trust.exec_cmd('run', name=name,
3131
deviceName=dev_name)
3232
return reset
3333

3434

35-
def check_sync(request, bigip):
36-
sync_status = bigip.cm.sync_status
35+
def check_sync(request, mgmt_root):
36+
sync_status = mgmt_root.tm.cm.sync_status
3737
sync_status.refresh()
3838
des = \
3939
(sync_status.entries['https://localhost/mgmt/tm/cm/sync-status/0']
@@ -44,8 +44,8 @@ def check_sync(request, bigip):
4444
return des
4545

4646

47-
def check_peer(request, bigip):
48-
dvcs = bigip.cm.devices.get_collection()
47+
def check_peer(request, mgmt_root):
48+
dvcs = mgmt_root.tm.cm.devices.get_collection()
4949
device = str(dvcs[0].managementIp)
5050
devname = str(dvcs[0].hostname)
5151
return device, devname
@@ -54,33 +54,33 @@ def check_peer(request, bigip):
5454
@pytest.mark.skipif(pytest.config.getoption('--peer') == 'none',
5555
reason='Needs peer defined to run')
5656
class TestTrust(object):
57-
def test_run(self, request, bigip, peer):
57+
def test_run(self, request, mgmt_root, peer):
5858
# Check sync state, assume standalone
59-
assert check_sync(request, bigip) == "Standalone"
59+
assert check_sync(request, mgmt_root) == "Standalone"
6060
assert check_sync(request, peer) == "Standalone"
6161

6262
# Obtain peer information
6363
device1, devicename1 = check_peer(request, peer)
64-
device2, devicename2 = check_peer(request, bigip)
64+
device2, devicename2 = check_peer(request, mgmt_root)
6565

6666
# Setup trust
67-
set_trust(request, bigip, 'Root', device1,
67+
set_trust(request, mgmt_root, 'Root', device1,
6868
devicename1, 'admin', 'admin')
6969

7070
# Verify sync state assume disconnected
71-
assert check_sync(request, bigip) == "Disconnected"
71+
assert check_sync(request, mgmt_root) == "Disconnected"
7272
assert check_sync(request, peer) == "Disconnected"
7373

7474
# Remove trust from both units
75-
unset_trust(request, bigip, 'Root', devicename1)
75+
unset_trust(request, mgmt_root, 'Root', devicename1)
7676
unset_trust(request, peer, 'Root', devicename2)
7777

7878
# Verify devices sync state is Standalone
79-
assert check_sync(request, bigip) == "Standalone"
79+
assert check_sync(request, mgmt_root) == "Standalone"
8080
assert check_sync(request, peer) == "Standalone"
8181

82-
def test_invalid_cmd_meta(self, request, bigip):
83-
dvcs = bigip.cm
82+
def test_invalid_cmd_meta(self, request, mgmt_root):
83+
dvcs = mgmt_root.tm.cm
8484
with pytest.raises(InvalidCommand):
8585
dvcs.add_to_trust.exec_cmd('foo', name='fooname',
8686
device='foodev',

0 commit comments

Comments
 (0)