123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- // Copyright 2021 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "components/winhttp/network_fetcher.h"
- #include "base/bind.h"
- #include "base/files/file.h"
- #include "base/memory/scoped_refptr.h"
- #include "base/run_loop.h"
- #include "base/test/bind.h"
- #include "base/test/task_environment.h"
- #include "components/winhttp/scoped_hinternet.h"
- #include "testing/gtest/include/gtest/gtest.h"
- #include "url/gurl.h"
- namespace winhttp {
- TEST(WinHttpNetworkFetcher, InvalidUrlPost) {
- base::test::TaskEnvironment environment;
- base::RunLoop run_loop;
- winhttp::ScopedHInternet session_handle = CreateSessionHandle(
- L"WinHttpNetworkFetcher.InvalidUrlPost", WINHTTP_ACCESS_TYPE_NO_PROXY);
- auto network_fetcher = base::MakeRefCounted<NetworkFetcher>(
- session_handle.get(), base::MakeRefCounted<ProxyConfiguration>());
- network_fetcher->PostRequest(
- /*url*/ GURL("file://afile"),
- /*content_type*/ "text/plain",
- /*post_data*/ "a request body",
- /*post_additional_headers*/ {},
- /*fetch_started_callback*/
- base::BindOnce([](int response_code, int64_t content_length) {}),
- /*fetch_progress_callback*/ base::BindRepeating([](int64_t current) {}),
- /*fetch_complete_callback*/
- base::BindLambdaForTesting(
- [&run_loop](int response_code) { run_loop.Quit(); }));
- run_loop.Run();
- EXPECT_EQ(network_fetcher->GetNetError(), E_INVALIDARG);
- }
- TEST(WinHttpNetworkFetcher, InvalidUrlDownload) {
- base::test::TaskEnvironment environment;
- base::RunLoop run_loop;
- winhttp::ScopedHInternet session_handle = CreateSessionHandle(
- L"WinHttpNetworkFetcher.InvalidUrlPost", WINHTTP_ACCESS_TYPE_NO_PROXY);
- auto network_fetcher = base::MakeRefCounted<NetworkFetcher>(
- session_handle.get(), base::MakeRefCounted<ProxyConfiguration>());
- network_fetcher->DownloadToFile(
- /*url*/ GURL("file://afile"),
- /*file_path*/ {},
- /*fetch_started_callback*/
- base::BindOnce([](int response_code, int64_t content_length) {}),
- /*fetch_progress_callback*/ base::BindRepeating([](int64_t current) {}),
- /*fetch_complete_callback*/
- base::BindLambdaForTesting(
- [&run_loop](int response_code) { run_loop.Quit(); }));
- run_loop.Run();
- EXPECT_EQ(network_fetcher->GetNetError(), E_INVALIDARG);
- }
- } // namespace winhttp
|