src/server/test/httpparser.c

changeset 663
bd116bd44926
parent 662
70fdf948b642
equal deleted inserted replaced
662:70fdf948b642 663:bd116bd44926
97 CX_TEST_ASSERT(nret5); 97 CX_TEST_ASSERT(nret5);
98 98
99 parser.start_line = cx_mutstr("GET /uri HTTP/1.1 test\r\n"); 99 parser.start_line = cx_mutstr("GET /uri HTTP/1.1 test\r\n");
100 int nret6 = parse_request_line(&parser); 100 int nret6 = parse_request_line(&parser);
101 CX_TEST_ASSERT(nret6); 101 CX_TEST_ASSERT(nret6);
102
103 parser.start_line = cx_mutstr(" /uri2 HTTP/1.1\r\n");
104 int nret7 = parse_request_line(&parser);
105 CX_TEST_ASSERT(nret7);
106
107 parser.start_line = cx_mutstr("GET HTTP/1.1\r\n");
108 int nret8 = parse_request_line(&parser);
109 CX_TEST_ASSERT(nret8);
102 } 110 }
103 } 111 }
104 112
105 CX_TEST(test_parse_response_line) { 113 CX_TEST(test_parse_response_line) {
106 CX_TEST_DO { 114 CX_TEST_DO {
130 int ret3 = parse_response_line(&parser); 138 int ret3 = parse_response_line(&parser);
131 CX_TEST_ASSERT(!ret3); 139 CX_TEST_ASSERT(!ret3);
132 CX_TEST_ASSERT(!cx_strcmp(parser.httpv, "HTTP/0.9")); 140 CX_TEST_ASSERT(!cx_strcmp(parser.httpv, "HTTP/0.9"));
133 CX_TEST_ASSERT(!cx_strcmp(parser.msg, "No Content")); 141 CX_TEST_ASSERT(!cx_strcmp(parser.msg, "No Content"));
134 CX_TEST_ASSERT(parser.status == 204); 142 CX_TEST_ASSERT(parser.status == 204);
143
144 // negative tests
145 memset(&parser, 0, sizeof(HttpParser));
146 parser.start_line = cx_mutstr("HTTP/1.1 200\r\n");
147 parser.type = 1;
148 int nret1 = parse_response_line(&parser);
149 CX_TEST_ASSERT(nret1);
150
151 memset(&parser, 0, sizeof(HttpParser));
152 parser.start_line = cx_mutstr("\r\n");
153 parser.type = 1;
154 int nret2 = parse_response_line(&parser);
155 CX_TEST_ASSERT(nret2);
156
157 memset(&parser, 0, sizeof(HttpParser));
158 parser.start_line = cx_mutstr("200\r\n");
159 parser.type = 1;
160 int nret3 = parse_response_line(&parser);
161 CX_TEST_ASSERT(nret3);
162
163 memset(&parser, 0, sizeof(HttpParser));
164 parser.start_line = cx_mutstr("HTTP/1.1 2345 Test Message\r\n");
165 parser.type = 1;
166 int nret4 = parse_response_line(&parser);
167 CX_TEST_ASSERT(nret4);
168
169 memset(&parser, 0, sizeof(HttpParser));
170 parser.start_line = cx_mutstr("HTTP/1.1 xy1 OK\r\n");
171 parser.type = 1;
172 int nret5 = parse_response_line(&parser);
173 CX_TEST_ASSERT(nret5);
174
175 memset(&parser, 0, sizeof(HttpParser));
176 parser.start_line = cx_mutstr(" 200 OK\r\n");
177 parser.type = 1;
178 int nret6 = parse_response_line(&parser);
179 CX_TEST_ASSERT(nret6);
135 } 180 }
136 } 181 }

mercurial