def test_headers_len(): h = SpamcHeaders(headers={ 'A': GenericHeaderValue(value='a'), 'B': GenericHeaderValue(value='b') }) assert len(h) == 2
def x_headers(): from aiospamc.header_values import GenericHeaderValue return { 'A': GenericHeaderValue(value='a'), 'B': GenericHeaderValue(value='b') }
def test_headers_keys(): h = SpamcHeaders(headers={ 'A': GenericHeaderValue(value='a'), 'B': GenericHeaderValue(value='b') }) for test_result in h.keys(): assert test_result in ['A', 'B']
def test_headers_items(): headers = { 'A': GenericHeaderValue(value='a'), 'B': GenericHeaderValue(value='b') } h = SpamcHeaders(headers=headers) for test_key, test_value in h.items(): assert test_key in headers assert headers[test_key] is test_value
def test_headers_bytes(): h = SpamcHeaders(headers={ 'A': GenericHeaderValue(value='a'), 'B': GenericHeaderValue(value='b') }) result = bytes(h) header_bytes = [ b'%b: %b\r\n' % (name.encode('ascii'), bytes(value)) for name, value in h.items() ] for header in header_bytes: assert header in result
def test_header_str(): value = 'value' encoding = 'utf8' h = GenericHeaderValue(value=value, encoding=encoding) assert str(h) == 'value={}, encoding={}'.format(repr(value), repr(encoding))
def test_header_bytes(): h = GenericHeaderValue(value='value', encoding='utf8') assert bytes(h) == b'value'
def test_header_repr(): h = GenericHeaderValue(value='value') assert repr(h) == 'GenericHeaderValue(value={}, encoding={})'.format( repr(h.value), repr(h.encoding))
def test_user_repr(): u = UserValue(name='username') assert repr(u) == 'UserValue(name={})'.format(repr('username')) def test_user_bytes(): u = UserValue(name='username') assert bytes(u) == b'username' @pytest.mark.parametrize('test_input', [ GenericHeaderValue('value'), CompressValue(), ContentLengthValue(), SetOrRemoveValue(ActionOption(local=True, remote=False)), MessageClassValue(value=MessageClassOption.ham), SpamValue(), UserValue() ]) def test_equal(test_input): assert test_input == test_input @pytest.mark.parametrize('test_input', [ GenericHeaderValue('value'), CompressValue(), ContentLengthValue(),
def test_headers_values(): values = [GenericHeaderValue(value='a'), GenericHeaderValue(value='b')] h = SpamcHeaders(headers={'A': values[0], 'B': values[1]}) for test_result in h.values(): assert test_result in values
assert isinstance(result, GenericHeaderValue) assert result.value == 'value' @pytest.mark.parametrize('test_input,header,value', [ [b'Compress: zlib', 'Compress', CompressValue(algorithm='zlib')], [b'Content-length: 42', 'Content-length', ContentLengthValue(length=42)], [b'DidRemove: local, remote', 'DidRemove', SetOrRemoveValue(action=ActionOption(local=True, remote=True))], [b'DidSet: local, remote', 'DidSet', SetOrRemoveValue(action=ActionOption(local=True, remote=True))], [b'Message-class: spam', 'Message-class', MessageClassValue(value=MessageClassOption.spam)], [b'Remove: local, remote', 'Remove', SetOrRemoveValue(action=ActionOption(local=True, remote=True))], [b'Set: local, remote', 'Set', SetOrRemoveValue(action=ActionOption(local=True, remote=True))], [b'Spam: True ; 40 / 20', 'Spam', SpamValue(value=True, score=40, threshold=20)], [b'User: username', 'User', UserValue(name='username')], [b'XHeader: x value', 'XHeader', GenericHeaderValue('x value')] ]) def test_parse_header_success(test_input, header, value): result = parse_header(test_input) assert result[0] == header assert result[1] == value def test_parse_body_success(): test_input = b'Test body' result = parse_body(test_input, len(test_input)) assert result == test_input