MCPcopy Create free account
hub / github.com/OISF/libhtp / parseRequestThenVerify

Method parseRequestThenVerify

test/test_multipart.cpp:90–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

88 }
89
90 void parseRequestThenVerify(char *headers[], char *data[]) {
91 parseRequest(headers, data);
92
93 ASSERT_TRUE(body != NULL);
94 ASSERT_TRUE(body->parts != NULL);
95 ASSERT_TRUE(htp_list_size(body->parts) == 3);
96
97 ASSERT_FALSE(body->flags & HTP_MULTIPART_INCOMPLETE);
98
99 // Field 1
100 htp_multipart_part_t *field1 = (htp_multipart_part_t *) htp_list_get(body->parts, 0);
101 ASSERT_TRUE(field1 != NULL);
102 ASSERT_EQ(MULTIPART_PART_TEXT, field1->type);
103 ASSERT_TRUE(field1->name != NULL);
104 ASSERT_TRUE(bstr_cmp_c(field1->name, "field1") == 0);
105 ASSERT_TRUE(field1->value != NULL);
106 ASSERT_TRUE(bstr_cmp_c(field1->value, "ABCDEF") == 0);
107
108 // File 1
109 htp_multipart_part_t *file1 = (htp_multipart_part_t *) htp_list_get(body->parts, 1);
110 ASSERT_TRUE(file1 != NULL);
111 ASSERT_EQ(MULTIPART_PART_FILE, file1->type);
112 ASSERT_TRUE(file1->name != NULL);
113 ASSERT_TRUE(bstr_cmp_c(file1->name, "file1") == 0);
114 ASSERT_TRUE(file1->file->filename != NULL);
115 ASSERT_TRUE(bstr_cmp_c(file1->file->filename, "file.bin") == 0);
116
117 // Field 2
118 htp_multipart_part_t *field2 = (htp_multipart_part_t *) htp_list_get(body->parts, 2);
119 ASSERT_TRUE(field2 != NULL);
120 ASSERT_EQ(MULTIPART_PART_TEXT, field2->type);
121 ASSERT_TRUE(field2->name != NULL);
122 ASSERT_TRUE(bstr_cmp_c(field2->name, "field2") == 0);
123 ASSERT_TRUE(field2->value != NULL);
124 ASSERT_TRUE(bstr_cmp_c(field2->value, "GHIJKL") == 0);
125 }
126
127 void parseParts(char *parts[]) {
128 mpartp = htp_mpartp_create(cfg, bstr_dup_c("0123456789"), 0 /* flags */);

Callers

nothing calls this directly

Calls 1

bstr_cmp_cFunction · 0.85

Tested by

no test coverage detected