mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
feat: show banner when workspace is outdated (#4926)
* feat: show banner when workspace is outdated * Address PR comments * Fix: writer
This commit is contained in:
58
cli/ssh_internal_test.go
Normal file
58
cli/ssh_internal_test.go
Normal file
@ -0,0 +1,58 @@
|
||||
package cli
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/coder/coder/codersdk"
|
||||
)
|
||||
|
||||
const (
|
||||
fakeOwnerName = "fake-owner-name"
|
||||
fakeServerURL = "https://fake-foo-url"
|
||||
fakeWorkspaceName = "fake-workspace-name"
|
||||
)
|
||||
|
||||
func TestVerifyWorkspaceOutdated(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
serverURL, err := url.Parse(fakeServerURL)
|
||||
require.NoError(t, err)
|
||||
|
||||
client := codersdk.Client{URL: serverURL}
|
||||
|
||||
t.Run("Up-to-date", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
workspace := codersdk.Workspace{Name: fakeWorkspaceName, OwnerName: fakeOwnerName}
|
||||
|
||||
_, outdated := verifyWorkspaceOutdated(&client, workspace)
|
||||
|
||||
assert.False(t, outdated, "workspace should be up-to-date")
|
||||
})
|
||||
t.Run("Outdated", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
workspace := codersdk.Workspace{Name: fakeWorkspaceName, OwnerName: fakeOwnerName, Outdated: true}
|
||||
|
||||
updateWorkspaceBanner, outdated := verifyWorkspaceOutdated(&client, workspace)
|
||||
|
||||
assert.True(t, outdated, "workspace should be outdated")
|
||||
assert.NotEmpty(t, updateWorkspaceBanner, "workspace banner should be present")
|
||||
})
|
||||
}
|
||||
|
||||
func TestBuildWorkspaceLink(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
serverURL, err := url.Parse(fakeServerURL)
|
||||
require.NoError(t, err)
|
||||
|
||||
workspace := codersdk.Workspace{Name: fakeWorkspaceName, OwnerName: fakeOwnerName}
|
||||
workspaceLink := buildWorkspaceLink(serverURL, workspace)
|
||||
|
||||
assert.Equal(t, workspaceLink.String(), fakeServerURL+"/@"+fakeOwnerName+"/"+fakeWorkspaceName)
|
||||
}
|
Reference in New Issue
Block a user