1616import pytest
1717
1818from f5 .bigip .resource import MissingRequiredCreationParameter
19+ from f5 .bigip .resource import MissingUpdateParameter
1920from icontrol .session import iControlUnexpectedHTTPError
2021from requests .exceptions import HTTPError
2122
@@ -90,9 +91,10 @@ def test_update_exclusive_attrs(self, request, bigip):
9091 ifc .update ()
9192 assert ifc .untagged is True
9293 ifc .tagged = True
94+ ifc .tagMode = 'service'
9395 assert not hasattr (ifc , 'untagged' )
9496 ifc .update ()
95- ifc .tagged is True
97+ assert ifc .tagged is True
9698
9799 def test_update (self , request , bigip ):
98100 i , _ = setup_interfaces_test (request , bigip , 'v1' , 'Common' )
@@ -112,10 +114,16 @@ def test_update_mixed_attr_set(self, request, bigip):
112114 assert not hasattr (i , 'tagged' )
113115 assert i .untagged is True
114116 with pytest .raises (iControlUnexpectedHTTPError ) as err :
115- i .update (tagged = True )
117+ i .update (tagged = True , tagMode = 'service' )
116118 assert err .response .status_code == 400
117119 assert "may not be specified with" in err .response .text
118120
121+ def test_update_without_tagmode (self , request , bigip ):
122+ i , _ = setup_interfaces_test (request , bigip , 'v1' , 'Common' )
123+ i .tagged = True
124+ with pytest .raises (MissingUpdateParameter ):
125+ i .update ()
126+
119127 def test_load (self , request , bigip ):
120128 i1 , v = setup_interfaces_test (request , bigip , 'v1' , 'Common' )
121129 i2 = v .interfaces_s .interfaces
@@ -148,7 +156,7 @@ def test_CURDL(self, request, bigip):
148156 v1 = bigip .net .vlans .vlan
149157 v1 .create (name = 'v1' , partition = 'Common' )
150158 i1 = v1 .interfaces_s .interfaces
151- i1 .create (name = '1.1' , tagged = True )
159+ i1 .create (name = '1.1' , tagged = True , tagMode = 'service' )
152160 v1_ifcs = v1 .interfaces_s .get_collection ()
153161 gen1 = v1 .generation
154162 assert v1 .name == 'v1'
0 commit comments