Files
onepanel/pkg/workspace_test.go

75 lines
1.7 KiB
Go

package v1
import (
"github.com/onepanelio/core/pkg/util"
"github.com/onepanelio/core/pkg/util/ptr"
"github.com/stretchr/testify/assert"
"google.golang.org/grpc/codes"
"testing"
)
// testClientPrivateCreateWorkspaceNoWorkflowTemplate makes sure we get an error when there is no workflow template for the workspace
func testClientPrivateCreateWorkspaceNoWorkflowTemplate(t *testing.T) {
c := DefaultTestClient()
clearDatabase(t)
namespace := "onepanel"
workspace := &Workspace{
Name: "test",
WorkspaceTemplate: &WorkspaceTemplate{
WorkflowTemplate: &WorkflowTemplate{
UID: "not-exist",
Version: 1,
},
},
}
workspace.GenerateUID("test")
_, err := c.createWorkspace(namespace, []byte(""), workspace)
userErr, ok := err.(*util.UserError)
assert.True(t, ok)
assert.Equal(t, userErr.Code, codes.NotFound)
}
// testClientPrivateCreateWorkspaceSuccess tests creating a workspace successfully
func testClientPrivateCreateWorkspaceSuccess(t *testing.T) {
c := DefaultTestClient()
clearDatabase(t)
namespace := "onepanel"
workspaceTemplate := &WorkspaceTemplate{
Name: "test",
Manifest: jupyterLabWorkspaceManifest,
}
workspaceTemplate, _ = c.CreateWorkspaceTemplate(namespace, workspaceTemplate)
workspace := &Workspace{
Name: "test2",
WorkspaceTemplate: workspaceTemplate,
Parameters: []Parameter{
{
Name: "workflow-execution-name",
Value: ptr.String("test2"),
},
},
}
workspace.GenerateUID("test")
_, err := c.createWorkspace(namespace, []byte("{}"), workspace)
assert.Nil(t, err)
}
func TestClient_createWorkspace(t *testing.T) {
testClientPrivateCreateWorkspaceNoWorkflowTemplate(t)
testClientPrivateCreateWorkspaceSuccess(t)
}
func TestClient_CreateWorkspace(t *testing.T) {
}