diff --git a/src/constants.js b/src/constants.js index 48a73599..9727a641 100644 --- a/src/constants.js +++ b/src/constants.js @@ -4,6 +4,7 @@ import os from 'os'; import {version} from '../package.json'; export const DEFAULT_SAUCE_CONNECT_VERSION = '5.2.2'; +export const DEFAULT_RUNNER_NAME = 'node-saucelabs'; export const SAUCE_VERSION_NOTE = `node-saucelabs v${version}\nSauce Connect v${DEFAULT_SAUCE_CONNECT_VERSION}`; const protocols = [ diff --git a/src/index.js b/src/index.js index 04664d5e..05f87d30 100644 --- a/src/index.js +++ b/src/index.js @@ -36,6 +36,7 @@ import { DEFAULT_SAUCE_CONNECT_VERSION, SC_FAILURE_MESSAGES, SC_BOOLEAN_CLI_PARAMS, + DEFAULT_RUNNER_NAME, } from './constants'; import SauceConnectLoader from './sauceConnectLoader'; @@ -248,6 +249,16 @@ export default class SauceLabs { ); } + // Provide a default runner name. It's used for identifying the tunnel's initiation method. + if (!argv['metadata']) { + argv = {...argv, metadata: `runner=${DEFAULT_RUNNER_NAME}`}; + } else if (!argv['metadata'].includes('runner=')) { + argv = { + ...argv, + metadata: `runner=${DEFAULT_RUNNER_NAME},${argv['metadata']}`, + }; + } + const scUpstreamProxy = argv.scUpstreamProxy; const args = Object.entries(argv) /** diff --git a/tests/__snapshots__/index.test.js.snap b/tests/__snapshots__/index.test.js.snap index 0ad7f1d7..d7f4f1bd 100644 --- a/tests/__snapshots__/index.test.js.snap +++ b/tests/__snapshots__/index.test.js.snap @@ -162,6 +162,7 @@ exports[`startSauceConnect should start sauce connect with proper parsed args 1` "run", "--proxy-tunnel=abc", "--verbose=true", + "--metadata=runner=node-saucelabs", "--username=foo", "--access-key=bar", "--region=eu-central-1",