Skip to content

Commit

Permalink
Add test
Browse files Browse the repository at this point in the history
  • Loading branch information
ducvm29 committed Oct 15, 2024
1 parent 26489f3 commit e5d2765
Show file tree
Hide file tree
Showing 2 changed files with 138 additions and 0 deletions.
55 changes: 55 additions & 0 deletions fptcloud/mfke/util_network_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package fptcloud_mfke

import (
"context"
"github.com/stretchr/testify/assert"
"terraform-provider-fptcloud/commons"
"terraform-provider-fptcloud/commons/utils"
fptcloud_subnet "terraform-provider-fptcloud/fptcloud/subnet"
"testing"
)

func TestGetNetworkIdByPlatform(t *testing.T) {
vpcId := "a659e537-f231-4c2b-93d7-1bb9b19af35c"
mockResponse := `{
"status": true,
"message": "ok",
"data": {
"id": "f0e7d6fc-0f44-4e78-b6f1-d9447ad3138f",
"name": "test-net",
"network_name": "test-net",
"gateway": "10.10.200.1",
"vpc_id": "a659e537-f231-4c2b-93d7-1bb9b19af35c",
"is_vdc_group": false,
"edge_gateway": {
"name": "XPLAT-EG",
"id": "ba37b5a5-a9bb-401b-bbe3-6f0b0ff14f8b",
"edge_gateway_id": "urn:vcloud:gateway:099110cc-4b4e-4c21-be40-d6c88d2f2036"
},
"prefix_length": 24,
"created_at": "2023-10-02T08:35:28",
"network_id": "urn:vcloud:network:10642b67-cf52-4076-bba0-0255786e2a6a",
"dns_servers": "1.1.1.1 - 8.8.8.8",
"tags": []
}
}`

dto := fptcloud_subnet.FindSubnetDTO{
NetworkName: "test-net",
NetworkID: "",
VpcId: vpcId,
}
apiPath := commons.ApiPath.FindSubnetByName(vpcId) + utils.ToQueryParams(dto)

mockClient, server, _ := commons.NewClientForTesting(map[string]string{
apiPath: mockResponse,
})

defer server.Close()

service := fptcloud_subnet.NewSubnetService(mockClient)
n, err := getNetworkId(context.Background(), service, vpcId, dto.NetworkName, dto.NetworkID)
assert.NoError(t, err)
assert.NotNil(t, n)
assert.Equal(t, "f0e7d6fc-0f44-4e78-b6f1-d9447ad3138f", n)
}
83 changes: 83 additions & 0 deletions fptcloud/mfke/util_validations_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
package fptcloud_mfke

import (
diag2 "github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/stretchr/testify/assert"
"testing"
)

var (
successVmw = &managedKubernetesEngine{
NetworkID: types.StringValue(""),
Pools: []*managedKubernetesEnginePool{
{
WorkerPoolID: types.StringValue("worker-1"),
NetworkID: types.StringValue("6436b770-8fd3-44d4-80ea-77e3e05b502f"),
},
{
WorkerPoolID: types.StringValue("worker-2"),
NetworkID: types.StringValue("f9ff3950-a546-46ba-9ed8-625661245b1f"),
},
},
}

successOsp = &managedKubernetesEngine{
NetworkID: types.StringValue("6436b770-8fd3-44d4-80ea-77e3e05b502f"),
Pools: []*managedKubernetesEnginePool{
{
WorkerPoolID: types.StringValue("worker-1"),
NetworkID: types.StringValue("6436b770-8fd3-44d4-80ea-77e3e05b502f"),
},
{
WorkerPoolID: types.StringValue("worker-2"),
NetworkID: types.StringValue("6436b770-8fd3-44d4-80ea-77e3e05b502f"),
},
},
}
poolDupe = []*managedKubernetesEnginePool{
{WorkerPoolID: types.StringValue("worker-1")},
{WorkerPoolID: types.StringValue("worker-1")},
}
)

func TestValidate(t *testing.T) {
var err *diag2.ErrorDiagnostic
err = validateNetwork(successOsp, "osp")
assert.Nil(t, err)

err = validateNetwork(successVmw, "vmw")
assert.Nil(t, err)

err = validateNetwork(successVmw, "osp")
assert.NotNil(t, err)

err = validateNetwork(successOsp, "vmw")
assert.NotNil(t, err)
}

func TestValidatePool(t *testing.T) {
var diag *diag2.ErrorDiagnostic
diag = validatePool([]*managedKubernetesEnginePool{})
assert.NotNil(t, diag)

diag = validatePool(nil)
assert.NotNil(t, diag)

diag = validatePool(poolDupe)
assert.NotNil(t, diag)

diag = validatePool(successVmw.Pools)
assert.Nil(t, diag)
}

func TestValidatePoolName(t *testing.T) {
names, err := validatePoolNames(successVmw.Pools)
assert.NoError(t, err)
assert.Len(t, names, 2)
assert.Equal(t, "worker-1", names[0])
assert.Equal(t, "worker-2", names[1])

_, err = validatePoolNames(poolDupe)
assert.Error(t, err)
}

0 comments on commit e5d2765

Please sign in to comment.