Skip to content

Commit

Permalink
added a extconn schema test, updated gh action components
Browse files Browse the repository at this point in the history
  • Loading branch information
rschmied committed Dec 28, 2023
1 parent 0436ea1 commit 6484350
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 7 deletions.
15 changes: 8 additions & 7 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,20 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: go mod download
- run: go build -v .

generate:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: go generate ./...
- name: git diff
run: |
Expand All @@ -65,15 +65,16 @@ jobs:
# - "1.1.*"
# - "1.3.*"
- "1.4.*"
- "1.6.*"
steps:
- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- uses: hashicorp/setup-terraform@v2
- uses: hashicorp/setup-terraform@v3
with:
terraform_version: ${{ matrix.terraform }}
terraform_wrapper: false
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: go mod download

- env:
Expand Down
61 changes: 61 additions & 0 deletions internal/cmlschema/extconn_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package cmlschema_test

import (
"context"
"testing"

"github.com/hashicorp/terraform-plugin-framework/datasource/schema"
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/path"
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
"github.com/hashicorp/terraform-plugin-framework/types"
cmlclient "github.com/rschmied/gocmlclient"
"github.com/rschmied/terraform-provider-cml2/internal/cmlschema"
"github.com/stretchr/testify/assert"
)

var conn1 *cmlclient.ExtConn = &cmlclient.ExtConn{
Label: "NAT",
DeviceName: "virbr0",
Protected: false,
Snooped: true,
Tags: []string{
"NAT",
},
ID: "58568fbb-e1f8-4b83-a1f8-148c656eed39",
}

var conn2 *cmlclient.ExtConn = &cmlclient.ExtConn{
Label: "System Bridge",
DeviceName: "bridge0",
Protected: true,
Snooped: true,
Tags: []string{
"System Bridge",
},
ID: "92f95da2-10fd-4a25-931e-acb31a47962c",
}

func TestConnector(t *testing.T) {
diag := &diag.Diagnostics{}
ctx := context.Background()

for _, connector := range []*cmlclient.ExtConn{conn1, conn2} {
value := cmlschema.NewExtConn(ctx, connector, diag)
t.Logf("value: %+v", value)
t.Logf("errors: %+v", diag.Errors())
assert.False(t, diag.HasError())
var newExtConn cmlschema.ExtConnModel
diag.Append(tfsdk.ValueAs(ctx, value, &newExtConn)...)
}
assert.False(t, diag.HasError())
}

func TestExtConnSchema(t *testing.T) {
extconnSchema := schema.Schema{
Attributes: cmlschema.Converter(cmlschema.ExtConn()),
}
got, diag := extconnSchema.TypeAtPath(context.TODO(), path.Root("id"))
assert.False(t, diag.HasError())
assert.Equal(t, types.StringType, got)
}

0 comments on commit 6484350

Please sign in to comment.