Unverified Commit 2b252ac6 authored by James Bardin's avatar James Bardin Committed by GitHub
Browse files

Merge pull request #27910 from hashicorp/jbardin/remote-provisioners

remote provisioners require a connection config
parents 45b795b3 47a68214
Showing with 37 additions and 0 deletions
+37 -0
......@@ -74,6 +74,11 @@ func (p *provisioner) ValidateProvisionerConfig(req provisioners.ValidateProvisi
}
func (p *provisioner) ProvisionResource(req provisioners.ProvisionResourceRequest) (resp provisioners.ProvisionResourceResponse) {
if req.Connection.IsNull() {
resp.Diagnostics = resp.Diagnostics.Append(errors.New("missing connection configuration for provisioner"))
return resp
}
comm, err := communicator.New(req.Connection)
if err != nil {
resp.Diagnostics = resp.Diagnostics.Append(err)
......
package file
import (
"strings"
"testing"
"github.com/hashicorp/terraform/provisioners"
......@@ -102,3 +103,16 @@ func TestResourceProvisioner_StopClose(t *testing.T) {
p.Stop()
p.Close()
}
func TestResourceProvisioner_connectionRequired(t *testing.T) {
p := New()
resp := p.ProvisionResource(provisioners.ProvisionResourceRequest{})
if !resp.Diagnostics.HasErrors() {
t.Fatal("expected error")
}
got := resp.Diagnostics.Err().Error()
if !strings.Contains(got, "missing connection") {
t.Fatalf("expected 'missing connection' error: got %q", got)
}
}
......@@ -85,6 +85,11 @@ func (p *provisioner) ValidateProvisionerConfig(req provisioners.ValidateProvisi
}
func (p *provisioner) ProvisionResource(req provisioners.ProvisionResourceRequest) (resp provisioners.ProvisionResourceResponse) {
if req.Connection.IsNull() {
resp.Diagnostics = resp.Diagnostics.Append(errors.New("missing connection configuration for provisioner"))
return resp
}
comm, err := communicator.New(req.Connection)
if err != nil {
resp.Diagnostics = resp.Diagnostics.Append(err)
......
......@@ -261,3 +261,16 @@ func TestResourceProvisioner_StopClose(t *testing.T) {
p.Stop()
p.Close()
}
func TestResourceProvisioner_connectionRequired(t *testing.T) {
p := New()
resp := p.ProvisionResource(provisioners.ProvisionResourceRequest{})
if !resp.Diagnostics.HasErrors() {
t.Fatal("expected error")
}
got := resp.Diagnostics.Err().Error()
if !strings.Contains(got, "missing connection") {
t.Fatalf("expected 'missing connection' error: got %q", got)
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment