mirror of
https://github.com/coder/coder.git
synced 2025-07-21 01:28:49 +00:00
chore: Force codersdk to not import anything from database (#1576)
* chore: Force codersdk to not import anything from database (linter rule) * chore: Move all database types in codersdk out
This commit is contained in:
@ -56,7 +56,7 @@ func TestExecutorAutostartOK(t *testing.T) {
|
||||
ws := mustWorkspace(t, client, workspace.ID)
|
||||
require.NotEqual(t, workspace.LatestBuild.ID, ws.LatestBuild.ID, "expected a workspace build to occur")
|
||||
require.Equal(t, codersdk.ProvisionerJobSucceeded, ws.LatestBuild.Job.Status, "expected provisioner job to have succeeded")
|
||||
require.Equal(t, database.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected latest transition to be start")
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected latest transition to be start")
|
||||
}
|
||||
|
||||
func TestExecutorAutostartTemplateUpdated(t *testing.T) {
|
||||
@ -107,7 +107,7 @@ func TestExecutorAutostartTemplateUpdated(t *testing.T) {
|
||||
ws := mustWorkspace(t, client, workspace.ID)
|
||||
require.NotEqual(t, workspace.LatestBuild.ID, ws.LatestBuild.ID, "expected a workspace build to occur")
|
||||
require.Equal(t, codersdk.ProvisionerJobSucceeded, ws.LatestBuild.Job.Status, "expected provisioner job to have succeeded")
|
||||
require.Equal(t, database.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected latest transition to be start")
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected latest transition to be start")
|
||||
require.Equal(t, workspace.LatestBuild.TemplateVersionID, ws.LatestBuild.TemplateVersionID, "expected workspace build to be using the old template version")
|
||||
}
|
||||
|
||||
@ -126,7 +126,7 @@ func TestExecutorAutostartAlreadyRunning(t *testing.T) {
|
||||
)
|
||||
|
||||
// Given: we ensure the workspace is running
|
||||
require.Equal(t, database.WorkspaceTransitionStart, workspace.LatestBuild.Transition)
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, workspace.LatestBuild.Transition)
|
||||
|
||||
// Given: the workspace initially has autostart disabled
|
||||
require.Empty(t, workspace.AutostartSchedule)
|
||||
@ -148,7 +148,7 @@ func TestExecutorAutostartAlreadyRunning(t *testing.T) {
|
||||
<-time.After(5 * time.Second)
|
||||
ws := mustWorkspace(t, client, workspace.ID)
|
||||
require.Equal(t, workspace.LatestBuild.ID, ws.LatestBuild.ID, "expected no further workspace builds to occur")
|
||||
require.Equal(t, database.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected workspace to be running")
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected workspace to be running")
|
||||
}
|
||||
|
||||
func TestExecutorAutostartNotEnabled(t *testing.T) {
|
||||
@ -196,7 +196,7 @@ func TestExecutorAutostopOK(t *testing.T) {
|
||||
workspace = mustProvisionWorkspace(t, client)
|
||||
)
|
||||
// Given: workspace is running
|
||||
require.Equal(t, database.WorkspaceTransitionStart, workspace.LatestBuild.Transition)
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, workspace.LatestBuild.Transition)
|
||||
|
||||
// Given: the workspace initially has autostop disabled
|
||||
require.Empty(t, workspace.AutostopSchedule)
|
||||
@ -219,7 +219,7 @@ func TestExecutorAutostopOK(t *testing.T) {
|
||||
ws := mustWorkspace(t, client, workspace.ID)
|
||||
require.NotEqual(t, workspace.LatestBuild.ID, ws.LatestBuild.ID, "expected a workspace build to occur")
|
||||
require.Equal(t, codersdk.ProvisionerJobSucceeded, ws.LatestBuild.Job.Status, "expected provisioner job to have succeeded")
|
||||
require.Equal(t, database.WorkspaceTransitionStop, ws.LatestBuild.Transition, "expected workspace not to be running")
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStop, ws.LatestBuild.Transition, "expected workspace not to be running")
|
||||
}
|
||||
|
||||
func TestExecutorAutostopAlreadyStopped(t *testing.T) {
|
||||
@ -259,7 +259,7 @@ func TestExecutorAutostopAlreadyStopped(t *testing.T) {
|
||||
<-time.After(5 * time.Second)
|
||||
ws := mustWorkspace(t, client, workspace.ID)
|
||||
require.Equal(t, workspace.LatestBuild.ID, ws.LatestBuild.ID, "expected no further workspace builds to occur")
|
||||
require.Equal(t, database.WorkspaceTransitionStop, ws.LatestBuild.Transition, "expected workspace not to be running")
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStop, ws.LatestBuild.Transition, "expected workspace not to be running")
|
||||
}
|
||||
|
||||
func TestExecutorAutostopNotEnabled(t *testing.T) {
|
||||
@ -275,7 +275,7 @@ func TestExecutorAutostopNotEnabled(t *testing.T) {
|
||||
)
|
||||
|
||||
// Given: workspace is running
|
||||
require.Equal(t, database.WorkspaceTransitionStart, workspace.LatestBuild.Transition)
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, workspace.LatestBuild.Transition)
|
||||
|
||||
// Given: the workspace has autostop disabled
|
||||
require.Empty(t, workspace.AutostopSchedule)
|
||||
@ -290,7 +290,7 @@ func TestExecutorAutostopNotEnabled(t *testing.T) {
|
||||
<-time.After(5 * time.Second)
|
||||
ws := mustWorkspace(t, client, workspace.ID)
|
||||
require.Equal(t, workspace.LatestBuild.ID, ws.LatestBuild.ID, "expected no further workspace builds to occur")
|
||||
require.Equal(t, database.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected workspace to be running")
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected workspace to be running")
|
||||
}
|
||||
|
||||
func TestExecutorWorkspaceDeleted(t *testing.T) {
|
||||
@ -330,7 +330,7 @@ func TestExecutorWorkspaceDeleted(t *testing.T) {
|
||||
<-time.After(5 * time.Second)
|
||||
ws := mustWorkspace(t, client, workspace.ID)
|
||||
require.Equal(t, workspace.LatestBuild.ID, ws.LatestBuild.ID, "expected no further workspace builds to occur")
|
||||
require.Equal(t, database.WorkspaceTransitionDelete, ws.LatestBuild.Transition, "expected workspace to be deleted")
|
||||
require.Equal(t, codersdk.WorkspaceTransitionDelete, ws.LatestBuild.Transition, "expected workspace to be deleted")
|
||||
}
|
||||
|
||||
func TestExecutorWorkspaceTooEarly(t *testing.T) {
|
||||
@ -369,7 +369,7 @@ func TestExecutorWorkspaceTooEarly(t *testing.T) {
|
||||
<-time.After(5 * time.Second)
|
||||
ws := mustWorkspace(t, client, workspace.ID)
|
||||
require.Equal(t, workspace.LatestBuild.ID, ws.LatestBuild.ID, "expected no further workspace builds to occur")
|
||||
require.Equal(t, database.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected workspace to be running")
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected workspace to be running")
|
||||
}
|
||||
|
||||
func TestExecutorAutostartMultipleOK(t *testing.T) {
|
||||
@ -419,13 +419,13 @@ func TestExecutorAutostartMultipleOK(t *testing.T) {
|
||||
ws := mustWorkspace(t, client, workspace.ID)
|
||||
require.NotEqual(t, workspace.LatestBuild.ID, ws.LatestBuild.ID, "expected a workspace build to occur")
|
||||
require.Equal(t, codersdk.ProvisionerJobSucceeded, ws.LatestBuild.Job.Status, "expected provisioner job to have succeeded")
|
||||
require.Equal(t, database.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected latest transition to be start")
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, ws.LatestBuild.Transition, "expected latest transition to be start")
|
||||
builds, err := client.WorkspaceBuilds(ctx, codersdk.WorkspaceBuildsRequest{WorkspaceID: ws.ID})
|
||||
require.NoError(t, err, "fetch list of workspace builds from primary")
|
||||
// One build to start, one stop transition, and one autostart. No more.
|
||||
require.Equal(t, database.WorkspaceTransitionStart, builds[0].Transition)
|
||||
require.Equal(t, database.WorkspaceTransitionStop, builds[1].Transition)
|
||||
require.Equal(t, database.WorkspaceTransitionStart, builds[2].Transition)
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, builds[0].Transition)
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStop, builds[1].Transition)
|
||||
require.Equal(t, codersdk.WorkspaceTransitionStart, builds[2].Transition)
|
||||
require.Len(t, builds, 3, "unexpected number of builds for workspace from primary")
|
||||
|
||||
// Builds are returned most recent first.
|
||||
@ -450,21 +450,21 @@ func mustTransitionWorkspace(t *testing.T, client *codersdk.Client, workspaceID
|
||||
ctx := context.Background()
|
||||
workspace, err := client.Workspace(ctx, workspaceID)
|
||||
require.NoError(t, err, "unexpected error fetching workspace")
|
||||
require.Equal(t, workspace.LatestBuild.Transition, from, "expected workspace state: %s got: %s", from, workspace.LatestBuild.Transition)
|
||||
require.Equal(t, workspace.LatestBuild.Transition, codersdk.WorkspaceTransition(from), "expected workspace state: %s got: %s", from, workspace.LatestBuild.Transition)
|
||||
|
||||
template, err := client.Template(ctx, workspace.TemplateID)
|
||||
require.NoError(t, err, "fetch workspace template")
|
||||
|
||||
build, err := client.CreateWorkspaceBuild(ctx, workspace.ID, codersdk.CreateWorkspaceBuildRequest{
|
||||
TemplateVersionID: template.ActiveVersionID,
|
||||
Transition: to,
|
||||
Transition: codersdk.WorkspaceTransition(to),
|
||||
})
|
||||
require.NoError(t, err, "unexpected error transitioning workspace to %s", to)
|
||||
|
||||
_ = coderdtest.AwaitWorkspaceBuildJob(t, client, build.ID)
|
||||
|
||||
updated := mustWorkspace(t, client, workspace.ID)
|
||||
require.Equal(t, to, updated.LatestBuild.Transition, "expected workspace to be in state %s but got %s", to, updated.LatestBuild.Transition)
|
||||
require.Equal(t, codersdk.WorkspaceTransition(to), updated.LatestBuild.Transition, "expected workspace to be in state %s but got %s", to, updated.LatestBuild.Transition)
|
||||
return updated
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user