def test_validate_bad__log_settings_missing(default_log_settings): log_keys = default_log_settings.keys() for log_key in log_keys: print("Testing for missing", log_key) log_settings = default_log_settings.copy() log_settings.pop(log_key) bad_input = [{ "object": "window", "instrumentedName": "window", "logSettings": log_settings, }] with pytest.raises(ValidationError): jsi._validate(bad_input),
def test_validate_bad__missing_object(default_log_settings): bad_input = [{ "instrumentedName": "window", "logSettings": default_log_settings }] with pytest.raises(ValidationError): assert jsi._validate(bad_input)
def test_validate_good(default_log_settings): good_input = [{ "object": "window", "instrumentedName": "window", "logSettings": default_log_settings, }] assert jsi._validate(good_input)
def test_validate_bad__not_a_list(default_log_settings): bad_input = { "object": "window", "instrumentedName": "window", "logSettings": default_log_settings, } with pytest.raises(ValidationError): assert jsi._validate(bad_input)
def test_validate_bad__log_settings_invalid(default_log_settings): log_settings = default_log_settings.copy() log_settings["recursive"] = "yes, please" bad_input = [{ "object": "window", "instrumentedName": "window", "logSettings": log_settings }] with pytest.raises(ValidationError): assert jsi._validate(bad_input)
def test_merge_and_validate_multiple_overlap_properties_to_instrument_properties_to_exclude( default_log_settings, ): # noqa log_settings_1 = default_log_settings.copy() log_settings_2 = default_log_settings.copy() log_settings_1["propertiesToInstrument"] = ["name", "place"] log_settings_2["excludedProperties"] = ["name"] dupe_input = [ { "object": "window", "instrumentedName": "window", "logSettings": log_settings_1, }, { "object": "window", "instrumentedName": "window", "logSettings": log_settings_2, }, ] merged = jsi._merge_settings(dupe_input) with pytest.raises(ValueError): jsi._validate(merged)