chromium/services/network/cors/cors_url_loader_test_util.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SERVICES_NETWORK_CORS_CORS_URL_LOADER_TEST_UTIL_H_
#define SERVICES_NETWORK_CORS_CORS_URL_LOADER_TEST_UTIL_H_

#include <cstdint>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <vector>

#include "base/check.h"
#include "base/functional/callback_forward.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/test/task_environment.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/system/data_pipe.h"
#include "net/base/isolation_info.h"
#include "net/http/http_request_headers.h"
#include "net/log/test_net_log.h"
#include "services/network/public/cpp/cors/origin_access_list.h"
#include "services/network/public/cpp/resource_request.h"
#include "services/network/public/mojom/client_security_state.mojom-forward.h"
#include "services/network/public/mojom/cors_origin_pattern.mojom-forward.h"
#include "services/network/public/mojom/fetch_api.mojom.h"
#include "services/network/public/mojom/network_context.mojom.h"
#include "services/network/public/mojom/url_loader.mojom.h"
#include "services/network/public/mojom/url_loader_factory.mojom.h"
#include "services/network/resource_scheduler/resource_scheduler.h"
#include "services/network/test/test_url_loader_network_observer.h"
#include "testing/gtest/include/gtest/gtest.h"

class GURL;

namespace net {

struct RedirectInfo;
struct MutableNetworkTrafficAnnotationTag;
struct NetLogEntry;
enum class NetLogEventType;
class URLRequestContext;

}  // namespace net

namespace network {

struct CorsErrorStatus;
class MockDevToolsObserver;
class NetworkContext;
class NetworkService;
class PrefetchMatchingURLLoaderFactory;
class TestURLLoaderClient;

namespace cors {

// TEST URL LOADER FACTORY
// =======================

class TestURLLoaderFactory : public mojom::URLLoaderFactory {};

// CORS URL LOADER TEST BASE
// =========================

class CorsURLLoaderTestBase : public testing::Test {};

}  // namespace cors
}  // namespace network

#endif  // SERVICES_NETWORK_CORS_CORS_URL_LOADER_TEST_UTIL_H_