mirror of
https://github.com/coder/coder.git
synced 2025-07-12 00:14:10 +00:00
* chore: Rename ProjectHistory to ProjectVersion Version more accurately represents version storage. This forks from the WorkspaceHistory name, but I think it's easier to understand Workspace history. * Rename files * Standardize tests a bit more * Remove Server struct from coderdtest * Improve test coverage for workspace history * Fix linting errors * Fix coderd test leak * Fix coderd test leak * Improve workspace history logs * Standardize test structure for codersdk * Fix linting errors * Fix WebSocket compression * Update coderd/workspaces.go Co-authored-by: Bryan <bryan@coder.com> * Add test for listing project parameters * Cache npm dependencies with setup node * Remove windows npm cache key Co-authored-by: Bryan <bryan@coder.com>
55 lines
1.3 KiB
Go
55 lines
1.3 KiB
Go
package provisionersdk_test
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"go.uber.org/goleak"
|
|
"storj.io/drpc/drpcerr"
|
|
|
|
"github.com/coder/coder/provisionersdk"
|
|
"github.com/coder/coder/provisionersdk/proto"
|
|
)
|
|
|
|
func TestMain(m *testing.M) {
|
|
goleak.VerifyTestMain(m)
|
|
}
|
|
|
|
func TestProvisionerSDK(t *testing.T) {
|
|
t.Parallel()
|
|
t.Run("Serve", func(t *testing.T) {
|
|
t.Parallel()
|
|
client, server := provisionersdk.TransportPipe()
|
|
defer client.Close()
|
|
defer server.Close()
|
|
|
|
ctx, cancelFunc := context.WithCancel(context.Background())
|
|
defer cancelFunc()
|
|
go func() {
|
|
err := provisionersdk.Serve(ctx, &proto.DRPCProvisionerUnimplementedServer{}, &provisionersdk.ServeOptions{
|
|
Listener: server,
|
|
})
|
|
require.NoError(t, err)
|
|
}()
|
|
|
|
api := proto.NewDRPCProvisionerClient(provisionersdk.Conn(client))
|
|
stream, err := api.Parse(context.Background(), &proto.Parse_Request{})
|
|
require.NoError(t, err)
|
|
_, err = stream.Recv()
|
|
require.Equal(t, drpcerr.Unimplemented, int(drpcerr.Code(err)))
|
|
})
|
|
|
|
t.Run("ServeClosedPipe", func(t *testing.T) {
|
|
t.Parallel()
|
|
client, server := provisionersdk.TransportPipe()
|
|
_ = client.Close()
|
|
_ = server.Close()
|
|
|
|
err := provisionersdk.Serve(context.Background(), &proto.DRPCProvisionerUnimplementedServer{}, &provisionersdk.ServeOptions{
|
|
Listener: server,
|
|
})
|
|
require.NoError(t, err)
|
|
})
|
|
}
|