Пример #1
0
def test_dsn_validator_with_invalid_scheme():

    valid_dsn_list = [
        "ftp://[email protected]/33",
        "amqp://[email protected]/33"
    ]

    # Should raise value error as only http/https schemes are allowed
    for dsn in valid_dsn_list:

        with pytest.raises(ValueError) as exc:
            utils.DSN(dsn)
            assert str(exc.value) == utils.DSN.ERROR_MESSAGE
Пример #2
0
def test_dsn_validator_with_valid_dsn():

    valid_dsn_list = [
        "http://[email protected]/33",
        "http://[email protected]/33",
        "https://[email protected]/33",
        "https://[email protected]:80/33",
        "https://[email protected]/33/"
    ]

    # No exceptions should be raised as all dsns are valid
    for dsn_input_string in valid_dsn_list:
        dsn = utils.DSN(dsn_input_string)
        assert str(dsn) in dsn_input_string
Пример #3
0
def test_dsn_validator_with_invalid_repository_id():

    invalid_dsn_list = [
        "https://[email protected]/33a",
        "https://[email protected]/33/foo/bar"
        "https://[email protected]/"
    ]

    # Should raise value error as provided repository_ids are not valid
    for dsn in invalid_dsn_list:

        with pytest.raises(ValueError) as exc:
            utils.DSN(dsn)
            assert str(exc.value) == utils.DSN.ERROR_MESSAGE
Пример #4
0
def test_dsn_validator_with_invalid_hostname():

    invalid_dsn_list = [
        "https://43f62c942790426c8b41220aade4a0d8@do#main.com/33",
        "https://[email protected]/33"
        "https://[email protected]:foo/33"
    ]

    # Should raise value error as provided hostnames are not valid
    for dsn in invalid_dsn_list:

        with pytest.raises(ValueError) as exc:
            utils.DSN(dsn)
            assert str(exc.value) == utils.DSN.ERROR_MESSAGE
Пример #5
0
def test_dsn_validator_with_invalid_api_key():

    invalid_dsn_list = [
        "https://[email protected]/33",
        "https://[email protected]/33"
        "https://[email protected]/33"
    ]

    # Should raise value error as api keys are valid uuid4 hex strings
    for dsn in invalid_dsn_list:

        with pytest.raises(ValueError) as exc:
            utils.DSN(dsn)
            assert str(exc.value) == utils.DSN.ERROR_MESSAGE
Пример #6
0
def test_dsn_validator_with_invalid_dsn():

    invalid_dsn_list = [
        "",
        "foobar"
        "[email protected]/",
        "domain.com",
        None,
        {},
        0,
        [],
    ]

    for dsn in invalid_dsn_list:

        with pytest.raises(ValueError) as exc:
            utils.DSN(dsn)
            assert str(exc.value) == utils.DSN.ERROR_MESSAGE