From adbe5a66ae835d1bc879c96e2902b2e2a7c857e5 Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Sat, 22 Jun 2024 23:09:38 +0000 Subject: [PATCH 1/6] chore: pass usage app name to coder ssh --- src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt | 1 + src/test/fixtures/outputs/append-blank-newlines.conf | 2 +- src/test/fixtures/outputs/append-blank.conf | 2 +- src/test/fixtures/outputs/append-no-blocks.conf | 2 +- src/test/fixtures/outputs/append-no-newline.conf | 2 +- src/test/fixtures/outputs/append-no-related-blocks.conf | 2 +- src/test/fixtures/outputs/disable-autostart.conf | 2 +- src/test/fixtures/outputs/extra-config.conf | 2 +- src/test/fixtures/outputs/header-command-windows.conf | 2 +- src/test/fixtures/outputs/header-command.conf | 2 +- src/test/fixtures/outputs/multiple-workspaces.conf | 4 ++-- src/test/fixtures/outputs/no-disable-autostart.conf | 2 +- src/test/fixtures/outputs/replace-end-no-newline.conf | 2 +- src/test/fixtures/outputs/replace-end.conf | 2 +- .../fixtures/outputs/replace-middle-ignore-unrelated.conf | 2 +- src/test/fixtures/outputs/replace-middle.conf | 2 +- src/test/fixtures/outputs/replace-only.conf | 2 +- src/test/fixtures/outputs/replace-start.conf | 2 +- 18 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt b/src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt index b729f472..92b1aed2 100644 --- a/src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt +++ b/src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt @@ -256,6 +256,7 @@ class CoderCLIManager( val isRemoving = workspaceNames.isEmpty() val proxyArgs = listOfNotNull( + "CODER_SSH_USAGE_APP=jetbrains", escape(localBinaryPath.toString()), "--global-config", escape(coderConfigPath.toString()), diff --git a/src/test/fixtures/outputs/append-blank-newlines.conf b/src/test/fixtures/outputs/append-blank-newlines.conf index 9c75e87c..30773422 100644 --- a/src/test/fixtures/outputs/append-blank-newlines.conf +++ b/src/test/fixtures/outputs/append-blank-newlines.conf @@ -4,7 +4,7 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/append-blank.conf b/src/test/fixtures/outputs/append-blank.conf index 566a8522..46718203 100644 --- a/src/test/fixtures/outputs/append-blank.conf +++ b/src/test/fixtures/outputs/append-blank.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/append-no-blocks.conf b/src/test/fixtures/outputs/append-no-blocks.conf index 11eeb7fe..f1d24a3f 100644 --- a/src/test/fixtures/outputs/append-no-blocks.conf +++ b/src/test/fixtures/outputs/append-no-blocks.conf @@ -5,7 +5,7 @@ Host test2 # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/append-no-newline.conf b/src/test/fixtures/outputs/append-no-newline.conf index 3dad453d..d7f7d74d 100644 --- a/src/test/fixtures/outputs/append-no-newline.conf +++ b/src/test/fixtures/outputs/append-no-newline.conf @@ -4,7 +4,7 @@ Host test2 Port 443 # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/append-no-related-blocks.conf b/src/test/fixtures/outputs/append-no-related-blocks.conf index 9b0b4c84..dc53ef55 100644 --- a/src/test/fixtures/outputs/append-no-related-blocks.conf +++ b/src/test/fixtures/outputs/append-no-related-blocks.conf @@ -11,7 +11,7 @@ some jetbrains config # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/disable-autostart.conf b/src/test/fixtures/outputs/disable-autostart.conf index a22e34d1..a6305319 100644 --- a/src/test/fixtures/outputs/disable-autostart.conf +++ b/src/test/fixtures/outputs/disable-autostart.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio --disable-autostart foo + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio --disable-autostart foo ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/extra-config.conf b/src/test/fixtures/outputs/extra-config.conf index 5dcff2c8..78c2b718 100644 --- a/src/test/fixtures/outputs/extra-config.conf +++ b/src/test/fixtures/outputs/extra-config.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--extra--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio extra + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio extra ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/header-command-windows.conf b/src/test/fixtures/outputs/header-command-windows.conf index 4711c2ab..1aa069cf 100644 --- a/src/test/fixtures/outputs/header-command-windows.conf +++ b/src/test/fixtures/outputs/header-command-windows.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--header--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command "\"C:\Program Files\My Header Command\HeaderCommand.exe\" --url=\"%%CODER_URL%%\" --test=\"foo bar\"" ssh --stdio header + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command "\"C:\Program Files\My Header Command\HeaderCommand.exe\" --url=\"%%CODER_URL%%\" --test=\"foo bar\"" ssh --stdio header ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/header-command.conf b/src/test/fixtures/outputs/header-command.conf index 04e422fb..0b214063 100644 --- a/src/test/fixtures/outputs/header-command.conf +++ b/src/test/fixtures/outputs/header-command.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--header--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command 'my-header-command --url="$CODER_URL" --test="foo bar" --literal='\''$CODER_URL'\''' ssh --stdio header + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command 'my-header-command --url="$CODER_URL" --test="foo bar" --literal='\''$CODER_URL'\''' ssh --stdio header ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/multiple-workspaces.conf b/src/test/fixtures/outputs/multiple-workspaces.conf index 8cb3d81b..7c55c850 100644 --- a/src/test/fixtures/outputs/multiple-workspaces.conf +++ b/src/test/fixtures/outputs/multiple-workspaces.conf @@ -1,13 +1,13 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null LogLevel ERROR SetEnv CODER_SSH_SESSION_TYPE=JetBrains Host coder-jetbrains--bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/no-disable-autostart.conf b/src/test/fixtures/outputs/no-disable-autostart.conf index 217d332d..9edc02fd 100644 --- a/src/test/fixtures/outputs/no-disable-autostart.conf +++ b/src/test/fixtures/outputs/no-disable-autostart.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-end-no-newline.conf b/src/test/fixtures/outputs/replace-end-no-newline.conf index a2977f21..bb2d1d9a 100644 --- a/src/test/fixtures/outputs/replace-end-no-newline.conf +++ b/src/test/fixtures/outputs/replace-end-no-newline.conf @@ -3,7 +3,7 @@ Host test Host test2 Port 443 # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-end.conf b/src/test/fixtures/outputs/replace-end.conf index 3dad453d..d7f7d74d 100644 --- a/src/test/fixtures/outputs/replace-end.conf +++ b/src/test/fixtures/outputs/replace-end.conf @@ -4,7 +4,7 @@ Host test2 Port 443 # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-middle-ignore-unrelated.conf b/src/test/fixtures/outputs/replace-middle-ignore-unrelated.conf index 37f73c47..9ef47628 100644 --- a/src/test/fixtures/outputs/replace-middle-ignore-unrelated.conf +++ b/src/test/fixtures/outputs/replace-middle-ignore-unrelated.conf @@ -5,7 +5,7 @@ some coder config # ------------END-CODER------------ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-middle.conf b/src/test/fixtures/outputs/replace-middle.conf index 7677238c..12fa9fae 100644 --- a/src/test/fixtures/outputs/replace-middle.conf +++ b/src/test/fixtures/outputs/replace-middle.conf @@ -2,7 +2,7 @@ Host test Port 80 # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-only.conf b/src/test/fixtures/outputs/replace-only.conf index 566a8522..46718203 100644 --- a/src/test/fixtures/outputs/replace-only.conf +++ b/src/test/fixtures/outputs/replace-only.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-start.conf b/src/test/fixtures/outputs/replace-start.conf index 04cbe274..fc20ea38 100644 --- a/src/test/fixtures/outputs/replace-start.conf +++ b/src/test/fixtures/outputs/replace-start.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null From 82849ba609dd32f9291f938345816276d72a9191 Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Mon, 24 Jun 2024 20:07:31 +0000 Subject: [PATCH 2/6] try new EAP version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index b5a9c7ba..554184fc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,7 +15,7 @@ pluginUntilBuild=241.* # verifier should be used after bumping versions to ensure compatibility in the # range. platformType=GW -platformVersion=233.14808-EAP-CANDIDATE-SNAPSHOT +platformVersion=233.15325-EAP-CANDIDATE-SNAPSHOT instrumentationCompiler=241.10840-EAP-CANDIDATE-SNAPSHOT platformDownloadSources=true verifyVersions=2023.3,2024.1 From 5b127580cd4d0a66e2dd5e9ad5a8410ec3725841 Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Tue, 25 Jun 2024 14:54:41 +0000 Subject: [PATCH 3/6] use flag over env var --- src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt | 4 +++- src/test/fixtures/outputs/append-blank-newlines.conf | 2 +- src/test/fixtures/outputs/append-blank.conf | 2 +- src/test/fixtures/outputs/append-no-blocks.conf | 2 +- src/test/fixtures/outputs/append-no-newline.conf | 2 +- src/test/fixtures/outputs/append-no-related-blocks.conf | 2 +- src/test/fixtures/outputs/disable-autostart.conf | 2 +- src/test/fixtures/outputs/extra-config.conf | 2 +- src/test/fixtures/outputs/header-command-windows.conf | 2 +- src/test/fixtures/outputs/header-command.conf | 2 +- src/test/fixtures/outputs/multiple-workspaces.conf | 4 ++-- src/test/fixtures/outputs/no-disable-autostart.conf | 2 +- src/test/fixtures/outputs/replace-end-no-newline.conf | 2 +- src/test/fixtures/outputs/replace-end.conf | 2 +- .../outputs/replace-middle-ignore-unrelated.conf | 2 +- src/test/fixtures/outputs/replace-middle.conf | 2 +- src/test/fixtures/outputs/replace-only.conf | 2 +- src/test/fixtures/outputs/replace-start.conf | 2 +- src/test/fixtures/outputs/report-usage.conf | 9 +++++++++ .../kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt | 1 + 20 files changed, 31 insertions(+), 19 deletions(-) create mode 100644 src/test/fixtures/outputs/report-usage.conf diff --git a/src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt b/src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt index 92b1aed2..96cb09ea 100644 --- a/src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt +++ b/src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt @@ -111,6 +111,7 @@ fun ensureCLI( */ data class Features( val disableAutostart: Boolean = false, + val reportWorkspaceUsage: Boolean = false, ) /** @@ -256,7 +257,6 @@ class CoderCLIManager( val isRemoving = workspaceNames.isEmpty() val proxyArgs = listOfNotNull( - "CODER_SSH_USAGE_APP=jetbrains", escape(localBinaryPath.toString()), "--global-config", escape(coderConfigPath.toString()), @@ -265,6 +265,7 @@ class CoderCLIManager( "ssh", "--stdio", if (settings.disableAutostart && feats.disableAutostart) "--disable-autostart" else null, + if (feats.reportWorkspaceUsage) "--usage-app=jetbrains" else null, ) val extraConfig = if (settings.sshConfigOptions.isNotBlank()) { @@ -447,6 +448,7 @@ class CoderCLIManager( Features( // Autostart with SSH was added in 2.5.0. disableAutostart = version >= SemVer(2, 5, 0), + reportWorkspaceUsage = version >= SemVer(2, 13, 0), ) } } diff --git a/src/test/fixtures/outputs/append-blank-newlines.conf b/src/test/fixtures/outputs/append-blank-newlines.conf index 30773422..9c75e87c 100644 --- a/src/test/fixtures/outputs/append-blank-newlines.conf +++ b/src/test/fixtures/outputs/append-blank-newlines.conf @@ -4,7 +4,7 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/append-blank.conf b/src/test/fixtures/outputs/append-blank.conf index 46718203..566a8522 100644 --- a/src/test/fixtures/outputs/append-blank.conf +++ b/src/test/fixtures/outputs/append-blank.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/append-no-blocks.conf b/src/test/fixtures/outputs/append-no-blocks.conf index f1d24a3f..11eeb7fe 100644 --- a/src/test/fixtures/outputs/append-no-blocks.conf +++ b/src/test/fixtures/outputs/append-no-blocks.conf @@ -5,7 +5,7 @@ Host test2 # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/append-no-newline.conf b/src/test/fixtures/outputs/append-no-newline.conf index d7f7d74d..3dad453d 100644 --- a/src/test/fixtures/outputs/append-no-newline.conf +++ b/src/test/fixtures/outputs/append-no-newline.conf @@ -4,7 +4,7 @@ Host test2 Port 443 # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/append-no-related-blocks.conf b/src/test/fixtures/outputs/append-no-related-blocks.conf index dc53ef55..9b0b4c84 100644 --- a/src/test/fixtures/outputs/append-no-related-blocks.conf +++ b/src/test/fixtures/outputs/append-no-related-blocks.conf @@ -11,7 +11,7 @@ some jetbrains config # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/disable-autostart.conf b/src/test/fixtures/outputs/disable-autostart.conf index a6305319..a22e34d1 100644 --- a/src/test/fixtures/outputs/disable-autostart.conf +++ b/src/test/fixtures/outputs/disable-autostart.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio --disable-autostart foo + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio --disable-autostart foo ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/extra-config.conf b/src/test/fixtures/outputs/extra-config.conf index 78c2b718..5dcff2c8 100644 --- a/src/test/fixtures/outputs/extra-config.conf +++ b/src/test/fixtures/outputs/extra-config.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--extra--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio extra + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio extra ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/header-command-windows.conf b/src/test/fixtures/outputs/header-command-windows.conf index 1aa069cf..4711c2ab 100644 --- a/src/test/fixtures/outputs/header-command-windows.conf +++ b/src/test/fixtures/outputs/header-command-windows.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--header--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command "\"C:\Program Files\My Header Command\HeaderCommand.exe\" --url=\"%%CODER_URL%%\" --test=\"foo bar\"" ssh --stdio header + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command "\"C:\Program Files\My Header Command\HeaderCommand.exe\" --url=\"%%CODER_URL%%\" --test=\"foo bar\"" ssh --stdio header ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/header-command.conf b/src/test/fixtures/outputs/header-command.conf index 0b214063..04e422fb 100644 --- a/src/test/fixtures/outputs/header-command.conf +++ b/src/test/fixtures/outputs/header-command.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--header--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command 'my-header-command --url="$CODER_URL" --test="foo bar" --literal='\''$CODER_URL'\''' ssh --stdio header + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command 'my-header-command --url="$CODER_URL" --test="foo bar" --literal='\''$CODER_URL'\''' ssh --stdio header ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/multiple-workspaces.conf b/src/test/fixtures/outputs/multiple-workspaces.conf index 7c55c850..8cb3d81b 100644 --- a/src/test/fixtures/outputs/multiple-workspaces.conf +++ b/src/test/fixtures/outputs/multiple-workspaces.conf @@ -1,13 +1,13 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null LogLevel ERROR SetEnv CODER_SSH_SESSION_TYPE=JetBrains Host coder-jetbrains--bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/no-disable-autostart.conf b/src/test/fixtures/outputs/no-disable-autostart.conf index 9edc02fd..217d332d 100644 --- a/src/test/fixtures/outputs/no-disable-autostart.conf +++ b/src/test/fixtures/outputs/no-disable-autostart.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-end-no-newline.conf b/src/test/fixtures/outputs/replace-end-no-newline.conf index bb2d1d9a..a2977f21 100644 --- a/src/test/fixtures/outputs/replace-end-no-newline.conf +++ b/src/test/fixtures/outputs/replace-end-no-newline.conf @@ -3,7 +3,7 @@ Host test Host test2 Port 443 # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-end.conf b/src/test/fixtures/outputs/replace-end.conf index d7f7d74d..3dad453d 100644 --- a/src/test/fixtures/outputs/replace-end.conf +++ b/src/test/fixtures/outputs/replace-end.conf @@ -4,7 +4,7 @@ Host test2 Port 443 # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-middle-ignore-unrelated.conf b/src/test/fixtures/outputs/replace-middle-ignore-unrelated.conf index 9ef47628..37f73c47 100644 --- a/src/test/fixtures/outputs/replace-middle-ignore-unrelated.conf +++ b/src/test/fixtures/outputs/replace-middle-ignore-unrelated.conf @@ -5,7 +5,7 @@ some coder config # ------------END-CODER------------ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-middle.conf b/src/test/fixtures/outputs/replace-middle.conf index 12fa9fae..7677238c 100644 --- a/src/test/fixtures/outputs/replace-middle.conf +++ b/src/test/fixtures/outputs/replace-middle.conf @@ -2,7 +2,7 @@ Host test Port 80 # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-only.conf b/src/test/fixtures/outputs/replace-only.conf index 46718203..566a8522 100644 --- a/src/test/fixtures/outputs/replace-only.conf +++ b/src/test/fixtures/outputs/replace-only.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/replace-start.conf b/src/test/fixtures/outputs/replace-start.conf index fc20ea38..04cbe274 100644 --- a/src/test/fixtures/outputs/replace-start.conf +++ b/src/test/fixtures/outputs/replace-start.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo-bar--test.coder.invalid - ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null diff --git a/src/test/fixtures/outputs/report-usage.conf b/src/test/fixtures/outputs/report-usage.conf new file mode 100644 index 00000000..1549f2a8 --- /dev/null +++ b/src/test/fixtures/outputs/report-usage.conf @@ -0,0 +1,9 @@ +# --- START CODER JETBRAINS test.coder.invalid +Host coder-jetbrains--foo--test.coder.invalid + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo --usage-app=jetbrains + ConnectTimeout 0 + StrictHostKeyChecking no + UserKnownHostsFile /dev/null + LogLevel ERROR + SetEnv CODER_SSH_SESSION_TYPE=JetBrains +# --- END CODER JETBRAINS test.coder.invalid \ No newline at end of file diff --git a/src/test/kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt b/src/test/kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt index 4bd5640e..d930c673 100644 --- a/src/test/kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt +++ b/src/test/kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt @@ -345,6 +345,7 @@ internal class CoderCLIManagerTest { }, SSHTest(listOf("foo"), null, "disable-autostart", "blank", "", true, Features(true)), SSHTest(listOf("foo"), null, "no-disable-autostart", "blank", "", true, Features(false)), + SSHTest(listOf("foo"), null, "report-usage", "blank", "", true, Features(false, true)), SSHTest( listOf("extra"), null, From 881a41b2460dbb76bc3bec426e055cd4cf3d934b Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Tue, 25 Jun 2024 15:03:57 +0000 Subject: [PATCH 4/6] space --- src/test/fixtures/outputs/report-usage.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/fixtures/outputs/report-usage.conf b/src/test/fixtures/outputs/report-usage.conf index 1549f2a8..966a450b 100644 --- a/src/test/fixtures/outputs/report-usage.conf +++ b/src/test/fixtures/outputs/report-usage.conf @@ -1,6 +1,6 @@ # --- START CODER JETBRAINS test.coder.invalid Host coder-jetbrains--foo--test.coder.invalid - ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo --usage-app=jetbrains + ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio --usage-app=jetbrains foo ConnectTimeout 0 StrictHostKeyChecking no UserKnownHostsFile /dev/null From 8338d19fd6176ada9a5b2284d645c88f8fbe93f7 Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Tue, 25 Jun 2024 15:12:30 +0000 Subject: [PATCH 5/6] newline --- src/test/fixtures/outputs/report-usage.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/fixtures/outputs/report-usage.conf b/src/test/fixtures/outputs/report-usage.conf index 966a450b..635e48ef 100644 --- a/src/test/fixtures/outputs/report-usage.conf +++ b/src/test/fixtures/outputs/report-usage.conf @@ -6,4 +6,4 @@ Host coder-jetbrains--foo--test.coder.invalid UserKnownHostsFile /dev/null LogLevel ERROR SetEnv CODER_SSH_SESSION_TYPE=JetBrains -# --- END CODER JETBRAINS test.coder.invalid \ No newline at end of file +# --- END CODER JETBRAINS test.coder.invalid From 329ee127ffa0ce014c399f704f7a585ff08ecddc Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Tue, 25 Jun 2024 15:17:02 +0000 Subject: [PATCH 6/6] feature tests --- src/test/kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt b/src/test/kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt index d930c673..51a6339a 100644 --- a/src/test/kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt +++ b/src/test/kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt @@ -722,7 +722,8 @@ internal class CoderCLIManagerTest { val tests = listOf( Pair("2.5.0", Features(true)), - Pair("4.9.0", Features(true)), + Pair("2.13.0", Features(true, true)), + Pair("4.9.0", Features(true, true)), Pair("2.4.9", Features(false)), Pair("1.0.1", Features(false)), )