blob: 8bdfda6085478cb453f873483253fc2ccf718c4b [file] [log] [blame]
// 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});
}
}