@@ -24,17 +24,19 @@ TEST_CASE("HTTP GET & POST requests", "[HTTPClient]")
24
24
{
25
25
{
26
26
// small request
27
+ WiFiClient client;
27
28
HTTPClient http;
28
- http.begin (getenv (" SERVER_IP" ), 8088 , " /" );
29
+ http.begin (client, getenv (" SERVER_IP" ), 8088 , " /" );
29
30
auto httpCode = http.GET ();
30
31
REQUIRE (httpCode == HTTP_CODE_OK);
31
32
String payload = http.getString ();
32
33
REQUIRE (payload == " hello!!!" );
33
34
}
34
35
{
35
36
// request which returns 8000 bytes
37
+ WiFiClient client;
36
38
HTTPClient http;
37
- http.begin (getenv (" SERVER_IP" ), 8088 , " /data?size=8000" );
39
+ http.begin (client, getenv (" SERVER_IP" ), 8088 , " /data?size=8000" );
38
40
auto httpCode = http.GET ();
39
41
REQUIRE (httpCode == HTTP_CODE_OK);
40
42
String payload = http.getString ();
@@ -48,36 +50,74 @@ TEST_CASE("HTTP GET & POST requests", "[HTTPClient]")
48
50
}
49
51
{
50
52
// can do two POST requests with one HTTPClient object (#1902)
53
+ WiFiClient client;
51
54
HTTPClient http;
52
- http.begin (getenv (" SERVER_IP" ), 8088 , " /" );
55
+ http.begin (client, getenv (" SERVER_IP" ), 8088 , " /" );
53
56
http.addHeader (" Content-Type" , " text/plain" );
54
57
auto httpCode = http.POST (" foo" );
55
58
Serial.println (httpCode);
56
59
REQUIRE (httpCode == HTTP_CODE_OK);
57
60
http.end ();
58
61
59
62
httpCode = http.POST (" bar" );
60
- REQUIRE (httpCode == HTTP_CODE_OK);
63
+ // its not expected to work but should not crash
64
+ REQUIRE (httpCode == HTTPC_ERROR_CONNECTION_REFUSED);
61
65
http.end ();
62
66
}
63
67
}
64
68
65
69
66
70
TEST_CASE (" HTTPS GET request" , " [HTTPClient]" )
67
71
{
72
+ //
73
+ // Tests with BearSSL
74
+ //
68
75
{
69
76
// small request
77
+ BearSSL::WiFiClientSecure client;
78
+ client.setFingerprint (fp);
70
79
HTTPClient http;
71
- http.begin (getenv (" SERVER_IP" ), 8088 , " /" , fp);
80
+ http.begin (client, getenv (" SERVER_IP" ), 8088 , " /" , fp);
72
81
auto httpCode = http.GET ();
73
82
REQUIRE (httpCode == HTTP_CODE_OK);
74
83
String payload = http.getString ();
75
84
REQUIRE (payload == " hello!!!" );
76
85
}
77
86
{
78
87
// request which returns 4000 bytes
88
+ BearSSL::WiFiClientSecure client;
89
+ client.setFingerprint (fp);
79
90
HTTPClient http;
80
- http.begin (getenv (" SERVER_IP" ), 8088 , " /data?size=4000" , fp);
91
+ http.begin (client, getenv (" SERVER_IP" ), 8088 , " /data?size=4000" , fp);
92
+ auto httpCode = http.GET ();
93
+ REQUIRE (httpCode == HTTP_CODE_OK);
94
+ String payload = http.getString ();
95
+ auto len = payload.length ();
96
+ REQUIRE (len == 4000 );
97
+ for (int i = 0 ; i < len; ++i) {
98
+ if (payload[i] != ' a' ) {
99
+ REQUIRE (false );
100
+ }
101
+ }
102
+ }
103
+ //
104
+ // Same tests with axTLS
105
+ //
106
+ {
107
+ // small request
108
+ axTLS::WiFiClientSecure client;
109
+ HTTPClient http;
110
+ http.begin (client, getenv (" SERVER_IP" ), 8088 , " /" , fp);
111
+ auto httpCode = http.GET ();
112
+ REQUIRE (httpCode == HTTP_CODE_OK);
113
+ String payload = http.getString ();
114
+ REQUIRE (payload == " hello!!!" );
115
+ }
116
+ {
117
+ // request which returns 4000 bytes
118
+ axTLS::WiFiClientSecure client;
119
+ HTTPClient http;
120
+ http.begin (client, getenv (" SERVER_IP" ), 8088 , " /data?size=4000" , fp);
81
121
auto httpCode = http.GET ();
82
122
REQUIRE (httpCode == HTTP_CODE_OK);
83
123
String payload = http.getString ();
@@ -89,7 +129,6 @@ TEST_CASE("HTTPS GET request", "[HTTPClient]")
89
129
}
90
130
}
91
131
}
92
-
93
132
}
94
133
95
134
void loop ()
0 commit comments