1313# limitations under the License.
1414#
1515
16- from distutils .version import LooseVersion
16+ from f5 .bigip .resource import MissingRequiredCreationParameter
17+ from f5 .bigip .resource import MissingRequiredReadParameter
18+
1719from pprint import pprint as pp
1820import pytest
1921
@@ -25,19 +27,23 @@ def delete_resource(resources):
2527 resource .delete ()
2628
2729
28- def setup_virtual_test (request , bigip , partition , name ):
30+ def setup_virtual_test (request , mgmt_root , partition , name ):
2931 def teardown ():
3032 delete_resource (vc1 )
3133 request .addfinalizer (teardown )
32- vc1 = bigip .ltm .virtuals
34+ vc1 = mgmt_root . tm .ltm .virtuals
3335 pp ('****' )
3436 virtual1 = vc1 .virtual .create (name = name , partition = partition )
3537 return virtual1 , vc1
3638
3739
3840class TestVirtual (object ):
39- def test_virtual_create_refresh_update_delete_load (self , request , bigip ):
40- virtual1 , vc1 = setup_virtual_test (request , bigip , 'Common' , 'vstest1' )
41+ def test_virtual_create_refresh_update_delete_load (
42+ self , request , mgmt_root , setup_device_snapshot
43+ ):
44+ virtual1 , vc1 = setup_virtual_test (
45+ request , mgmt_root , 'Common' , 'vstest1'
46+ )
4147 assert virtual1 .name == 'vstest1'
4248 virtual1 .description = TESTDESCRIPTION
4349 virtual1 .update ()
@@ -49,24 +55,48 @@ def test_virtual_create_refresh_update_delete_load(self, request, bigip):
4955 assert virtual2 .selfLink == virtual1 .selfLink
5056
5157
52- @pytest .mark .skipif (LooseVersion (pytest .config .getoption ('--release' )) <
53- LooseVersion ('11.6.0' ),
54- reason = 'This test fails in 11.5.4. Will '
55- 'revert this change in next PR.'
56- )
57- def test_profiles_CE (bigip , opt_release ):
58- v1 = bigip .ltm .virtuals .virtual .create (name = "tv1" , partition = "Common" )
59- p1 = v1 .profiles_s .profiles .create (name = "http" )
60- pp (p1 .raw )
58+ def test_profiles_CE (
59+ mgmt_root , opt_release , setup_device_snapshot
60+ ):
61+ v1 = mgmt_root .tm .ltm .virtuals .virtual .create (
62+ name = "tv1" , partition = "Common"
63+ )
64+ p1 = v1 .profiles_s .profiles .create (name = "http" , partition = 'Common' )
6165 test_profiles_s = v1 .profiles_s
62- pp (test_profiles_s .raw )
6366 test_profiles_s .context = 'all'
64- pp (test_profiles_s .raw )
6567 assert p1 .selfLink == \
6668 u"https://localhost/mgmt/tm/ltm/virtual/" \
67- "~Common~tv1/profiles/http?ver=" + opt_release
69+ "~Common~tv1/profiles/~Common~ http?ver=" + opt_release
6870
6971 p2 = v1 .profiles_s .profiles
70- assert p2 .exists (name = 'http' )
72+ assert p2 .exists (name = 'http' , partition = 'Common' )
73+
74+ v1 .delete ()
75+
76+
77+ def test_profiles_CE_check_create_params (mgmt_root , setup_device_snapshot ):
78+ v1 = mgmt_root .tm .ltm .virtuals .virtual .create (
79+ name = "tv2" , partition = "Common"
80+ )
81+ with pytest .raises (MissingRequiredCreationParameter ) as ex :
82+ v1 .profiles_s .profiles .create (name = "http" )
83+ assert "Missing required params: ['partition']" in ex .value .message
84+ v1 .delete ()
85+
86+
87+ def test_profiles_CE_check_load_params (mgmt_root , setup_device_snapshot ):
88+ v1 = mgmt_root .tm .ltm .virtuals .virtual .create (
89+ name = "tv3" , partition = "Common"
90+ )
91+ p1 = v1 .profiles_s .profiles .create (name = "http" , partition = "Common" )
92+
93+ with pytest .raises (MissingRequiredReadParameter ) as ex :
94+ assert v1 .profiles_s .profiles .load (name = 'http' )
95+ assert "Missing required params: ['partition']" in ex .value .message
96+
97+ v1 .profiles_s .profiles .load (name = "http" , partition = "Common" )
98+
99+ # Check for existence with partition given
100+ p1 .exists (name = 'http' , partition = 'Common' )
71101
72102 v1 .delete ()
0 commit comments