test_request-utils-fetchNetworkUpdatePacket.js (1599B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 // Test devtools/client/netmonitor/src/utils/request-utils.js function 5 // |fetchNetworkUpdatePacket| 6 7 "use strict"; 8 9 const { require } = ChromeUtils.importESModule( 10 "resource://devtools/shared/loader/Loader.sys.mjs" 11 ); 12 const { 13 fetchNetworkUpdatePacket, 14 } = require("resource://devtools/client/netmonitor/src/utils/request-utils.js"); 15 16 function run_test() { 17 let fetchedNetworkUpdateTypes = []; 18 async function mockConnectorRequestData(id, updateType) { 19 fetchedNetworkUpdateTypes.push(updateType); 20 return updateType; 21 } 22 23 const updateTypes = ["requestHeaders", "responseHeaders"]; 24 const request = { 25 id: "foo", 26 requestHeadersAvailable: true, 27 responseHeadersAvailable: true, 28 }; 29 30 info( 31 "Testing that the expected network update packets were fetched from the server" 32 ); 33 fetchNetworkUpdatePacket(mockConnectorRequestData, request, updateTypes); 34 equal(fetchedNetworkUpdateTypes.length, 2, "Two network request updates"); 35 equal( 36 fetchedNetworkUpdateTypes[0], 37 "requestHeaders", 38 "Request headers updates" 39 ); 40 equal( 41 fetchedNetworkUpdateTypes[1], 42 "responseHeaders", 43 " Response headers updates" 44 ); 45 46 // clear the fetch updates for next test 47 fetchedNetworkUpdateTypes = []; 48 49 info( 50 "Testing that no network updates were fetched when no `request` is provided" 51 ); 52 fetchNetworkUpdatePacket(mockConnectorRequestData, undefined, updateTypes); 53 equal(fetchedNetworkUpdateTypes.length, 0, "No network request updates"); 54 }