@@ -262,3 +262,69 @@ def test_valid_condition_all_actions():
262
262
},
263
263
}
264
264
validator .validate_json_schema (schema )
265
+
266
+
267
+ def test_validate_condition_invalid_condition_type ():
268
+ # GIVEN an invalid condition type of empty dict
269
+ validator = SchemaValidator (logger )
270
+ condition = {}
271
+
272
+ # WHEN calling _validate_condition
273
+ with pytest .raises (ConfigurationError ) as err :
274
+ validator ._validate_condition ("foo" , condition )
275
+
276
+ # THEN raise ConfigurationError
277
+ assert "invalid condition type" in str (err )
278
+
279
+
280
+ def test_validate_condition_invalid_condition_action ():
281
+ # GIVEN an invalid condition action of foo
282
+ validator = SchemaValidator (logger )
283
+ condition = {"action" : "foo" }
284
+
285
+ # WHEN calling _validate_condition
286
+ with pytest .raises (ConfigurationError ) as err :
287
+ validator ._validate_condition ("foo" , condition )
288
+
289
+ # THEN raise ConfigurationError
290
+ assert "invalid action value" in str (err )
291
+
292
+
293
+ def test_validate_condition_invalid_condition_key ():
294
+ # GIVEN a configuration with a missing "key"
295
+ validator = SchemaValidator (logger )
296
+ condition = {"action" : ACTION .EQUALS .value }
297
+
298
+ # WHEN calling _validate_condition
299
+ with pytest .raises (ConfigurationError ) as err :
300
+ validator ._validate_condition ("foo" , condition )
301
+
302
+ # THEN raise ConfigurationError
303
+ assert "invalid key value" in str (err )
304
+
305
+
306
+ def test_validate_condition_missing_condition_value ():
307
+ # GIVEN a configuration with a missing condition value
308
+ validator = SchemaValidator (logger )
309
+ condition = {"action" : ACTION .EQUALS .value , "key" : "Foo" }
310
+
311
+ # WHEN calling _validate_condition
312
+ with pytest .raises (ConfigurationError ) as err :
313
+ validator ._validate_condition ("foo" , condition )
314
+
315
+ # THEN raise ConfigurationError
316
+ assert "missing condition value" in str (err )
317
+
318
+
319
+ def test_validate_rule_invalid_rule_name ():
320
+ # GIVEN a rule_name not in the rule dict
321
+ validator = SchemaValidator (logger )
322
+ rule_name = "invalid_rule_name"
323
+ rule = {"missing" : "" }
324
+
325
+ # WHEN calling _validate_rule
326
+ with pytest .raises (ConfigurationError ) as err :
327
+ validator ._validate_rule (rule_name , rule )
328
+
329
+ # THEN raise ConfigurationError
330
+ assert "invalid rule_name" in str (err )
0 commit comments