// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_TEST_FAKE_NETWORK_H_ #define CONTENT_TEST_FAKE_NETWORK_H_ #include "content/public/test/url_loader_interceptor.h" namespace content { // Mocks network activity. Meant to be used by URLLoaderInterceptor. // // 1. By default, it returns 200 OK with a simple body to any request: // If request path ends in ".js", the body is // "/*this body came from the network*/". Otherwise, the body is // "this body came from the network". // 2. Call SetDefaultResponse() to change the default response. // 3. Call SetResponse() to set the response for a specific url. // // Example: // FakeNetwork fake_network; // URLLoaderInterceptor interceptor(base::BindRepeating( // &FakeNetwork::HandleRequest, base::Unretained(&fake_network_))); // // // |fake_network| will now handle any network request. // // // Customize a response. // fake_network_.SetResponse(...); class FakeNetwork { … }; } // namespace content #endif // CONTENT_TEST_FAKE_NETWORK_H_