1
#include "mock-transport.h"
3
#include "msg_parse_lib.h"
4
#include "logproto/logproto-indented-multiline-server.h"
6
/****************************************************************************************
7
* LogProtoIMultiLineServer
8
****************************************************************************************/
11
test_proper_multiline(gboolean input_is_stream)
13
LogProtoServer *proto;
15
proto_server_options.max_msg_size = 32;
17
proto = log_proto_indented_multiline_server_new(
18
/* 32 bytes max line length */
19
(input_is_stream ? log_transport_mock_stream_new : log_transport_mock_records_new)(
26
get_inited_proto_server_options());
28
assert_proto_server_fetch(proto, "0\n"
32
log_proto_server_free(proto);
36
test_line_without_continuation(gboolean input_is_stream)
38
LogProtoServer *proto;
40
proto_server_options.max_msg_size = 32;
42
proto = log_proto_indented_multiline_server_new(
43
/* 32 bytes max line length */
44
(input_is_stream ? log_transport_mock_stream_new : log_transport_mock_records_new)
51
get_inited_proto_server_options());
53
assert_proto_server_fetch(proto, "01234567", -1);
54
assert_proto_server_fetch(proto, "01234567", -1);
56
log_proto_server_free(proto);
60
test_input_starts_with_continuation(gboolean input_is_stream)
62
LogProtoServer *proto;
64
proto_server_options.max_msg_size = 32;
66
proto = log_proto_indented_multiline_server_new(
67
/* 32 bytes max line length */
68
(input_is_stream ? log_transport_mock_stream_new : log_transport_mock_records_new)
75
get_inited_proto_server_options());
77
assert_proto_server_fetch(proto, " 01234567", -1);
78
assert_proto_server_fetch(proto, "01234567", -1);
80
log_proto_server_free(proto);
84
test_multiline_at_eof(gboolean input_is_stream)
86
LogProtoServer *proto;
88
proto_server_options.max_msg_size = 32;
90
proto = log_proto_indented_multiline_server_new(
91
/* 32 bytes max line length */
92
(input_is_stream ? log_transport_mock_stream_new : log_transport_mock_records_new)
98
get_inited_proto_server_options());
100
assert_proto_server_fetch(proto, "01234567\n"
103
assert_proto_server_fetch_failure(proto, LPS_EOF, NULL);
105
log_proto_server_free(proto);
109
test_log_proto_indented_multiline_server(void)
111
PROTO_TESTCASE(test_proper_multiline, FALSE);
112
PROTO_TESTCASE(test_proper_multiline, TRUE);
113
PROTO_TESTCASE(test_line_without_continuation, FALSE);
114
PROTO_TESTCASE(test_input_starts_with_continuation, TRUE);
115
PROTO_TESTCASE(test_multiline_at_eof, FALSE);
116
PROTO_TESTCASE(test_multiline_at_eof, TRUE);