Beispiel #1
0
def test_assert_keys_type_value_raises_with_extra_error_text():
    """assert_keys_type_value raises if issue with one in the middle."""
    info1 = ContextItemInfo(key='key1',
                            key_in_context=True,
                            expected_type=str,
                            is_expected_type=True,
                            has_value=True)

    info2 = ContextItemInfo(key='key2',
                            key_in_context=True,
                            expected_type=str,
                            is_expected_type=True,
                            has_value=False)

    info3 = ContextItemInfo(key='key3',
                            key_in_context=True,
                            expected_type=str,
                            is_expected_type=True,
                            has_value=True)

    with pytest.raises(KeyInContextHasNoValueError) as err_info:
        Context().assert_keys_type_value('mydesc', 'extra text here', info1,
                                         info2, info3)

    assert repr(err_info.value) == (
        "KeyInContextHasNoValueError(\"mydesc found key2 in context but it "
        "doesn\'t have a value. extra text here\",)")
Beispiel #2
0
def test_assert_key_type_value_passes():
    """assert_key_type_value passes if key exists, has value and type right."""
    info = ContextItemInfo(key='key1',
                           key_in_context=True,
                           expected_type=str,
                           is_expected_type=True,
                           has_value=True)

    Context().assert_key_type_value(info, None)
Beispiel #3
0
def test_assert_keys_type_value_passes():
    """assert_keys_type_value passes if all keys, types, values correct."""
    info1 = ContextItemInfo(key='key1',
                            key_in_context=True,
                            expected_type=str,
                            is_expected_type=True,
                            has_value=True)

    info2 = ContextItemInfo(key='key2',
                            key_in_context=True,
                            expected_type=str,
                            is_expected_type=True,
                            has_value=True)

    info3 = ContextItemInfo(key='key3',
                            key_in_context=True,
                            expected_type=str,
                            is_expected_type=True,
                            has_value=True)

    Context().assert_keys_type_value(None, '', info1, info2, info3)
Beispiel #4
0
def test_assert_key_type_value_no_key_raises():
    """assert_key_type_value fails if key doesn't exist."""
    info = ContextItemInfo(key='key1',
                           key_in_context=False,
                           expected_type=str,
                           is_expected_type=True,
                           has_value=True)

    with pytest.raises(KeyNotInContextError) as err_info:
        Context().assert_key_type_value(info, 'mydesc')

    assert repr(err_info.value) == (
        "KeyNotInContextError(\"mydesc couldn't find key1 in context.\",)")
Beispiel #5
0
def test_assert_key_type_value_wrong_type_raises_with_extra_error_text():
    """assert_key_type_value fails if wrong type."""
    info = ContextItemInfo(key='key1',
                           key_in_context=True,
                           expected_type=str,
                           is_expected_type=False,
                           has_value=True)

    with pytest.raises(KeyInContextHasNoValueError) as err_info:
        Context().assert_key_type_value(info, 'mydesc', 'extra text here')

    assert repr(err_info.value) == (
        "KeyInContextHasNoValueError(\"mydesc found key1 in context, but "
        "it\'s not a <class 'str'>. extra text here\",)")
Beispiel #6
0
def test_assert_key_type_value_no_value_raises_extra_text():
    """assert_key_type_value fails if no value."""
    info = ContextItemInfo(key='key1',
                           key_in_context=True,
                           expected_type=str,
                           is_expected_type=True,
                           has_value=False)

    with pytest.raises(KeyInContextHasNoValueError) as err_info:
        Context().assert_key_type_value(info, 'mydesc', 'extra text here')

    assert repr(err_info.value) == (
        "KeyInContextHasNoValueError(\"mydesc found key1 in context but it "
        "doesn\'t have a value. extra text here\",)")