summaryrefslogtreecommitdiffstats
path: root/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_telemetry_runtime_connected_details.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_telemetry_runtime_connected_details.js')
-rw-r--r--devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_telemetry_runtime_connected_details.js69
1 files changed, 69 insertions, 0 deletions
diff --git a/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_telemetry_runtime_connected_details.js b/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_telemetry_runtime_connected_details.js
new file mode 100644
index 0000000000..808cfdcae8
--- /dev/null
+++ b/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_telemetry_runtime_connected_details.js
@@ -0,0 +1,69 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/* import-globals-from helper-telemetry.js */
+Services.scriptloader.loadSubScript(
+ CHROME_URL_ROOT + "helper-telemetry.js",
+ this
+);
+
+const REMOTE_RUNTIME_ID = "remote-runtime";
+const REMOTE_RUNTIME = "Remote Runtime";
+const REMOTE_DEVICE = "Remote Device";
+
+const REMOTE_VERSION = "12.0a1";
+const REMOTE_OS = "SOME_OS";
+
+/**
+ * Runtime connected events will log additional extras about the runtime connection that
+ * was established.
+ */
+add_task(async function () {
+ const mocks = new Mocks();
+
+ const usbClient = mocks.createUSBRuntime(REMOTE_RUNTIME_ID, {
+ deviceName: REMOTE_DEVICE,
+ name: REMOTE_RUNTIME,
+ shortName: REMOTE_RUNTIME,
+ });
+ usbClient.getDeviceDescription = () => {
+ return {
+ os: REMOTE_OS,
+ version: REMOTE_VERSION,
+ };
+ };
+
+ const { document, tab } = await openAboutDebugging();
+
+ mocks.emitUSBUpdate();
+ await connectToRuntime(REMOTE_DEVICE, document);
+ const evts = readAboutDebuggingEvents().filter(
+ e => e.method === "runtime_connected"
+ );
+
+ is(
+ evts.length,
+ 1,
+ "runtime_connected event logged when connecting to remote runtime"
+ );
+ const {
+ connection_type,
+ device_name,
+ runtime_name,
+ runtime_os,
+ runtime_version,
+ } = evts[0].extras;
+ is(connection_type, "usb", "Expected value for `connection_type` extra");
+ is(device_name, REMOTE_DEVICE, "Expected value for `device_name` extra");
+ is(runtime_name, REMOTE_RUNTIME, "Expected value for `runtime_name` extra");
+ is(runtime_os, REMOTE_OS, "Expected value for `runtime_os` extra");
+ is(
+ runtime_version,
+ REMOTE_VERSION,
+ "Expected value for `runtime_version` extra"
+ );
+
+ await removeTab(tab);
+});