The channel status list resource,
/ISAPI/ContentMgmt/InputProxy/channels/status.
NVR only: a camera answers with a failing <ResponseStatus>, which reads
as an IsapiError. The statuses come in document order.
Read through a stubbed fetch
Read through a stubbed fetch
import { assertEquals } from "@std/assert"; import { resolvesNext, spy } from "@std/testing/mock"; import { request } from "../request.ts"; import { inputProxyChannelStatus } from "./input-proxy-channel-status.ts"; const fetch = spy(resolvesNext([ new Response( "<InputProxyChannelStatusList><InputProxyChannelStatus><id>3</id>" + "<online>false</online><chanDetectResult>netUnreachable</chanDetectResult>" + "</InputProxyChannelStatus></InputProxyChannelStatusList>", ), ])); const status = await request({ baseUrl: "http://192.0.2.10", username: "admin", password: "hunter2", fetch, }, inputProxyChannelStatus); assertEquals(status, [{ id: 3, online: false, chanDetectResult: "netUnreachable" }]); assertEquals( fetch.calls[0].args[0], "http://192.0.2.10/ISAPI/ContentMgmt/InputProxy/channels/status", );