| // 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. |
| |
| import * as Common from '../core/common/common.js'; |
| import type * as SDK from '../core/sdk/sdk.js'; |
| import * as Logs from '../models/logs/logs.js'; |
| |
| interface MockNetworkRequest { |
| requestId(): string; |
| } |
| |
| export function createNetworkRequest(requestId: string): SDK.NetworkRequest.NetworkRequest { |
| return { |
| requestId() { |
| return requestId; |
| }, |
| backendRequestId() { |
| return requestId; |
| }, |
| } as unknown as SDK.NetworkRequest.NetworkRequest; |
| } |
| |
| export class MockNetworkLog extends Common.ObjectWrapper.ObjectWrapper<Logs.NetworkLog.EventTypes> { |
| private mockRequests: MockNetworkRequest[]; |
| |
| constructor(mockRequests: MockNetworkRequest[]) { |
| super(); |
| this.mockRequests = mockRequests; |
| } |
| |
| requestsForId(requestId: string) { |
| return this.mockRequests.filter(x => x.requestId() === requestId); |
| } |
| |
| addRequest(mockRequest: MockNetworkRequest) { |
| this.mockRequests.push(mockRequest); |
| this.dispatchEventToListeners( |
| Logs.NetworkLog.Events.RequestAdded, {request: mockRequest as SDK.NetworkRequest.NetworkRequest}); |
| } |
| } |