@@ -140,6 +140,30 @@ def test_user_admin_build_add_request_with_bad_segment_traits(self):
140
140
+ f"combination for '{ self .user_admin ._profile_type } '.\n " ,
141
141
)
142
142
143
+ def test_user_admin_cleans_up_after_build_add_request_with_bad_segment_traits (self ):
144
+ bad_trait = "omvs:bad_trait"
145
+ user_admin = UserAdmin (
146
+ generate_requests_only = True ,
147
+ )
148
+ with self .assertRaises (SegmentTraitError ) as exception :
149
+ user_admin .add (
150
+ "squidwrd" , TestUserConstants .TEST_ADD_USER_REQUEST_BAD_TRAITS
151
+ )
152
+ self .assertEqual (
153
+ exception .exception .message ,
154
+ "Unable to build Security Request.\n \n "
155
+ + f"'{ bad_trait } ' is not a known segment-trait "
156
+ + f"combination for '{ self .user_admin ._profile_type } '.\n " ,
157
+ )
158
+ result = user_admin .extract ("squidwrd" , segments = ["omvs" ])
159
+ self .assertEqual (
160
+ result , TestUserConstants .TEST_EXTRACT_USER_REQUEST_BASE_OMVS_XML
161
+ )
162
+ result = self .user_admin .add (
163
+ "squidwrd" , traits = TestUserConstants .TEST_ADD_USER_REQUEST_TRAITS
164
+ )
165
+ self .assertEqual (result , TestUserConstants .TEST_ADD_USER_REQUEST_XML )
166
+
143
167
def test_user_admin_build_extract_request_with_bad_segment_name (self ):
144
168
bad_segment = "bad_segment"
145
169
user_admin = UserAdmin (
@@ -152,3 +176,22 @@ def test_user_admin_build_extract_request_with_bad_segment_name(self):
152
176
"Unable to build Security Request.\n \n "
153
177
+ f"'{ bad_segment } ' is not a known segment for '{ self .user_admin ._profile_type } '.\n " ,
154
178
)
179
+
180
+ def test_user_admin_cleans_up_after_build_extract_request_with_bad_segment_name (
181
+ self ,
182
+ ):
183
+ bad_segment = "bad_segment"
184
+ user_admin = UserAdmin (
185
+ generate_requests_only = True ,
186
+ )
187
+ with self .assertRaises (SegmentError ) as exception :
188
+ user_admin .extract ("squidwrd" , segments = ["tso" , bad_segment ])
189
+ self .assertEqual (
190
+ exception .exception .message ,
191
+ "Unable to build Security Request.\n \n "
192
+ + f"'{ bad_segment } ' is not a known segment for '{ self .user_admin ._profile_type } '.\n " ,
193
+ )
194
+ result = user_admin .extract ("squidwrd" , segments = ["omvs" ])
195
+ self .assertEqual (
196
+ result , TestUserConstants .TEST_EXTRACT_USER_REQUEST_BASE_OMVS_XML
197
+ )
0 commit comments