diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /library/cpp/http/io/stream_ut_medium.cpp | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'library/cpp/http/io/stream_ut_medium.cpp')
-rw-r--r-- | library/cpp/http/io/stream_ut_medium.cpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/library/cpp/http/io/stream_ut_medium.cpp b/library/cpp/http/io/stream_ut_medium.cpp new file mode 100644 index 0000000000..2c125eb21e --- /dev/null +++ b/library/cpp/http/io/stream_ut_medium.cpp @@ -0,0 +1,54 @@ +#include "stream.h" +#include <library/cpp/testing/unittest/registar.h> +#include <util/stream/zlib.h> + +Y_UNIT_TEST_SUITE(THttpTestMedium) { + Y_UNIT_TEST(TestCodings2) { + TStringBuf data = "aaaaaaaaaaaaaaaaaaaaaaa"; + + for (auto codec : SupportedCodings()) { + if (codec == TStringBuf("z-zlib-0")) { + continue; + } + + if (codec == TStringBuf("z-null")) { + continue; + } + + TString s; + + { + TStringOutput so(s); + THttpOutput ho(&so); + TBufferedOutput bo(&ho, 10000); + + bo << "HTTP/1.1 200 Ok\r\n" + << "Connection: close\r\n" + << "Content-Encoding: " << codec << "\r\n\r\n"; + + for (size_t i = 0; i < 100; ++i) { + bo << data; + } + } + + try { + UNIT_ASSERT(s.size() > 10); + UNIT_ASSERT(s.find(data) == TString::npos); + } catch (...) { + Cerr << codec << " " << s << Endl; + + throw; + } + + { + TStringInput si(s); + THttpInput hi(&si); + + auto res = hi.ReadAll(); + + UNIT_ASSERT(res.find(data) == 0); + } + } + } + +} // THttpTestMedium suite |