diff --git a/provider/internal/ssh.go b/provider/internal/ssh.go index dbe1244..af649fb 100644 --- a/provider/internal/ssh.go +++ b/provider/internal/ssh.go @@ -17,9 +17,9 @@ package internal import ( "strings" - "github.com/docker/buildx/controller/pb" controllerapi "github.com/docker/buildx/controller/pb" "github.com/docker/buildx/util/buildflags" + "github.com/pulumi/pulumi-go-provider/infer" ) @@ -74,6 +74,6 @@ func (s SSH) validate() (*controllerapi.SSH, error) { return nil, nil } - _, err = controllerapi.CreateSSH([]*pb.SSH{{ID: s.ID, Paths: s.Paths}}) + _, err = controllerapi.CreateSSH([]*controllerapi.SSH{{ID: s.ID, Paths: s.Paths}}) return parsed[0], err } diff --git a/provider/internal/ssh_test.go b/provider/internal/ssh_test.go new file mode 100644 index 0000000..224591d --- /dev/null +++ b/provider/internal/ssh_test.go @@ -0,0 +1,52 @@ +// Copyright 2024, Pulumi Corporation. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package internal + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestValidateSSH(t *testing.T) { + t.Parallel() + tests := []struct { + name string + ssh SSH + + wantErr string + }{ + { + name: "invalid path", + ssh: SSH{ID: "foo", Paths: []string{"/not/real"}}, + wantErr: "/not/real: no such file or directory", + }, + } + + for _, tt := range tests { + tt := tt + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + _, err := tt.ssh.validate() + + if tt.wantErr == "" { + assert.NoError(t, err) + } else { + assert.ErrorContains(t, err, tt.wantErr) + } + }) + } +}