Exemplo n.º 1
0
def test_validate_request_fields_decimal_max():
    details = {'amount': Decimal('200.00')}

    try:
        conversions.validate_request_fields(details)
    except ValueError as error:
        assert str(error) == "amount field value too large."
    else:
        assert False
Exemplo n.º 2
0
def test_validate_request_fields_string_min():
    details = {'cc_cvv': '12'}

    try:
        conversions.validate_request_fields(details)
    except ValueError as error:
        assert str(error) == "cc_cvv field length too short."
    else:
        assert False
Exemplo n.º 3
0
def test_validate_request_fields_invalid_field_name():
    details = {'invalid': 'field'}

    try:
        conversions.validate_request_fields(details)
    except KeyError:
        assert True
    else:
        assert False
Exemplo n.º 4
0
def test_validate_request_fields_integer_max():
    details = {'product_id': 101}

    try:
        conversions.validate_request_fields(details)
    except ValueError as error:
        assert str(error) == "product_id field value too large."
    else:
        assert False
Exemplo n.º 5
0
def test__validate_request_fields__decimal_max():
    """Confirms handling of decimal minimum value validation."""
    details = {'amount': Decimal('200.00')}

    try:
        conversions.validate_request_fields(details)
    except ValueError as error:
        assert str(error) == "amount field value too large."
    else:
        assert False
Exemplo n.º 6
0
def test__validate_request_fields__integer_max():
    """Confirms handling of integer maximum value validation."""
    details = {'product_id': 101}

    try:
        conversions.validate_request_fields(details)
    except ValueError as error:
        assert str(error) == "product_id field value too large."
    else:
        assert False
Exemplo n.º 7
0
def test__validate_request_fields__invalid_field_name():
    """Confirms handling when an invalid field name provide."""
    details = {'invalid': 'field'}

    try:
        conversions.validate_request_fields(details)
    except KeyError:
        assert True
    else:
        assert False
Exemplo n.º 8
0
def test__validate_request_fields__string_max_invalid():
    """Confirms handling of string maximum length validation."""
    details = {'cc_cvv': '12345'}

    try:
        conversions.validate_request_fields(details)
    except ValueError as error:
        assert str(error) == "cc_cvv field length too long."
    else:
        assert False
Exemplo n.º 9
0
def test__validate_request_fields__invalid_field_type():
    """Tests that error is generated if invalid field type is passed."""
    details = {'invalid': 'field'}

    try:
        conversions.validate_request_fields(details)
    except UnboundLocalError as error:
        assert str(error) == (
            "local variable 'cleaned_value' referenced before assignment")
    else:
        assert False
Exemplo n.º 10
0
def test_validate_request_fields_integer_valid():
    details = {'product_id': 100}

    cleaned = conversions.validate_request_fields(details)

    assert 'product_id' in cleaned
    assert cleaned['product_id'] == details['product_id']
Exemplo n.º 11
0
def test_validate_request_fields_string_valid():
    details = {'cc_cvv': '123'}

    cleaned = conversions.validate_request_fields(details)

    assert 'cc_cvv' in cleaned
    assert cleaned['cc_cvv'] == details['cc_cvv']
Exemplo n.º 12
0
def test_validate_request_fields_boolean_false():
    details = {'test': False}

    cleaned = conversions.validate_request_fields(details)

    assert 'test' in cleaned
    assert cleaned['test'] == 0
Exemplo n.º 13
0
def test_validate_request_fields_decimal_valid():
    details = {'amount': Decimal('50.00')}

    cleaned = conversions.validate_request_fields(details)

    assert 'amount' in cleaned
    assert cleaned['amount'] == details['amount']
Exemplo n.º 14
0
def test__validate_request_fields__boolean_false():
    """Confirms handling of False boolean request field."""
    details = {'test': False}

    cleaned = conversions.validate_request_fields(details)

    assert 'test' in cleaned
    assert cleaned['test'] == 0
Exemplo n.º 15
0
def test__validate_request_fields__decimal_valid():
    """Confirms handling of decimal request field."""
    details = {'amount': Decimal('50.00')}

    cleaned = conversions.validate_request_fields(details)

    assert 'amount' in cleaned
    assert cleaned['amount'] == details['amount']
Exemplo n.º 16
0
def test__validate_request_fields__integer_valid():
    """Confirms handling of integer request field."""
    details = {'product_id': 100}

    cleaned = conversions.validate_request_fields(details)

    assert 'product_id' in cleaned
    assert cleaned['product_id'] == details['product_id']
Exemplo n.º 17
0
def test__validate_request_fields__string_valid():
    """Confirms handling of string request field."""
    details = {'cc_cvv': '123'}

    cleaned = conversions.validate_request_fields(details)

    assert 'cc_cvv' in cleaned
    assert cleaned['cc_cvv'] == details['cc_cvv']
Exemplo n.º 18
0
def test__validate_request_fields__all_valid():
    """Tests that validations works for all fields at once."""
    details = {
        'cc_cvv': '123',
        'product_id': 100,
        'amount': Decimal('50.00'),
        'test': True,
    }

    cleaned = conversions.validate_request_fields(details)

    assert 'cc_cvv' in cleaned
    assert cleaned['cc_cvv'] == details['cc_cvv']
    assert 'product_id' in cleaned
    assert cleaned['product_id'] == details['product_id']
    assert 'amount' in cleaned
    assert cleaned['amount'] == details['amount']
    assert 'test' in cleaned
    assert cleaned['test'] == 1
Exemplo n.º 19
0
 def validate_fields(self):
     """Validates Helcim API request fields and coerces values."""
     self.cleaned = conversions.validate_request_fields(self.details)