1 Star 0 Fork 0

万象qq/Linux

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
context_test.cc 3.51 KB
一键复制 编辑 原始数据 按行查看 历史
万象qq 提交于 2025-11-29 15:32 +08:00 . context模块测试
#include"../Context.hpp"
void test()
{
//测试只有错误的URL
Context con;
Buffer buf1;
buf1.WriteByString("GET hello world HTTP/1.1\r\n");
con.HttpServer(&buf1);
std::cout<<"测试错误的URL的解析状态为"<<con.GetStatu()<<std::endl;
//测试只有正确的URL
con.ReSet();
Buffer buf2;
buf2.WriteByStringAndMove("GET http://www.baidu.com?username=vientiane&password=123 HTTP/1.1\r\n");
con.HttpServer(&buf2);
std::cout<<"测试正确的URL的解析状态为"<<con.GetStatu()<<std::endl;
//测试正确的URL和错误的请求头
Buffer buf3;
buf3.WriteByStringAndMove("GET http://www.baidu.com?username=vientiane&password=123 HTTP/1.1\r\nuseragent: Linux\r\nContent-Type");
con.ReSet();
con.HttpServer(&buf3);
std::cout<<"测试正确的URL和错误的请求头解析状态为"<<con.GetStatu()<<std::endl;
//测试正确的URL和正确的请求头
Buffer buf4;
buf4.WriteByStringAndMove("GET http://www.baidu.com?username=vientiane&password=123 HTTP/1.1\r\nuseragent: Linux\r\nContent-Type: application-json\r\n");
con.ReSet();
con.HttpServer(&buf4);
std::cout<<"测试正确的URL和正确的请求头解析状态为"<<con.GetStatu()<<std::endl;
//测试错误的URL和正确的请求头
Buffer buf5;
buf5.WriteByStringAndMove("PATCH http://www.baidu.com?username=vientiane&password=123 HTTP/1.1\r\nuseragent: Linux\r\nContent-Type: application-json\r\n");
con.ReSet();
con.HttpServer(&buf5);
std::cout<<"测试错误的URL和正确的请求头解析状态为"<<con.GetStatu()<<std::endl;
//测试正确的URL和正确的请求头和正确的请求体
Buffer buf6;
buf6.WriteByStringAndMove("GET http://www.baidu.com?username=vientiane&password=123 HTTP/1.1\r\nuseragent: Linux\r\nContent-Type: application-json\r\nContent-Length: 11\r\n\r\nhello world");
con.ReSet();
con.HttpServer(&buf6);
std::cout<<"测试正确的URL和正确的请求头和正确的请求体解析状态为"<<con.GetStatu()<<std::endl;
//测试正确的URL和错误的请求头和正确的请求体
Buffer buf7;
buf7.WriteByStringAndMove("GET http://www.baidu.com?username=vientiane&password=123 HTTP/1.1\r\nuseragent: Linux\r\nContent-Type: application-json\r\nContent-Length: 1000\r\n\r\nhello world");
con.ReSet();
con.HttpServer(&buf7);
std::cout<<"测试正确的URL和错误的请求头和正确的请求体解析状态为"<<con.GetStatu()<<std::endl;
//测试正确的URL和正确的请求头和错误的请求体
Buffer buf8;
buf8.WriteByStringAndMove("GET http://www.baidu.com?username=vientiane&password=123 HTTP/1.1\r\nuseragent: Linux\r\nContent-Type: application-json\r\nContent-Length: 11\r\n\r\nhello worlddddddddddddd");
con.ReSet();
con.HttpServer(&buf8);
std::cout<<"测试正确的URL和正确的请求头和错误的请求体解析状态为"<<con.GetStatu()<<std::endl;
//测试两个请求合在一起
Buffer buf9;
buf9.WriteByStringAndMove("GET http://www.baidu.com?username=vientiane&password=123 HTTP/1.1\r\nuseragent: Linux\r\nContent-Type: application-json\r\nContent-Length: 11\r\n\r\nhello worldGET http://www.baidu.com?username=vientiane&password=123 HTTP/1.1\r\nuseragent: Linux\r\nContent-Type: application-json\r\nContent-Length: 11\r\n\r\nhello world");
con.ReSet();
con.HttpServer(&buf9);
std::cout<<"测试两个正确的URL和正确的请求头和正确的请求体解析状态为"<<con.GetStatu()<<std::endl;
}
int main()
{
test();
return 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/wanxiang-qq/linux.git
git@gitee.com:wanxiang-qq/linux.git
wanxiang-qq
linux
Linux
master

搜索帮助