Skip to content

Commit

Permalink
add tests for filter and version
Browse files Browse the repository at this point in the history
  • Loading branch information
AshleyDumaine committed Mar 14, 2024
1 parent 6cfe528 commit 6976a86
Show file tree
Hide file tree
Showing 6 changed files with 83 additions and 6 deletions.
6 changes: 5 additions & 1 deletion cloud/services/loadbalancers.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,11 @@ func CreateNodeBalancer(ctx context.Context, clusterScope *scope.ClusterScope, l
Label: NBLabel,
Tags: tags,
}
linodeNBs, err := clusterScope.LinodeClient.ListNodeBalancers(ctx, linodego.NewListOptions(1, listFilter.String()))
filter, err := listFilter.String()
if err != nil {
return nil, err
}
linodeNBs, err := clusterScope.LinodeClient.ListNodeBalancers(ctx, linodego.NewListOptions(1, filter))
if err != nil {
logger.Info("Failed to list NodeBalancers", "error", err.Error())

Expand Down
6 changes: 5 additions & 1 deletion controller/linodemachine_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,11 @@ func (r *LinodeMachineReconciler) reconcileCreate(
Label: machineScope.LinodeMachine.Name,
Tags: tags,
}
linodeInstances, err := machineScope.LinodeClient.ListInstances(ctx, linodego.NewListOptions(1, listFilter.String()))
filter, err := listFilter.String()
if err != nil {
return nil, err
}
linodeInstances, err := machineScope.LinodeClient.ListInstances(ctx, linodego.NewListOptions(1, filter))
if err != nil {
logger.Error(err, "Failed to list Linode machine instances")

Expand Down
6 changes: 5 additions & 1 deletion controller/linodevpc_controller_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,11 @@ func (r *LinodeVPCReconciler) reconcileVPC(ctx context.Context, vpcScope *scope.
Label: createConfig.Label,
Tags: nil,
}
if vpcs, err := vpcScope.LinodeClient.ListVPCs(ctx, linodego.NewListOptions(1, listFilter.String())); err != nil {
filter, err := listFilter.String()
if err != nil {
return err
}
if vpcs, err := vpcScope.LinodeClient.ListVPCs(ctx, linodego.NewListOptions(1, filter)); err != nil {
logger.Error(err, "Failed to list VPCs")

return err
Expand Down
6 changes: 3 additions & 3 deletions util/filter.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ func (f Filter) MarshalJSON() ([]byte, error) {

// String returns the string representation of the encoded value from
// [Filter.MarshalJSON].
func (f Filter) String() string {
func (f Filter) String() (string, error) {
p, err := f.MarshalJSON()
if err != nil {
panic("this should not have failed")
return "", err
}

return string(p)
return string(p), nil
}
54 changes: 54 additions & 0 deletions util/filter_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package util

import "testing"

func TestString(t *testing.T) {
t.Parallel()
tests := []struct {
name string
filter Filter
expectErr bool
}{{
name: "success ID",
filter: Filter{
ID: Pointer(123),
Label: "",
Tags: nil,
},
expectErr: false,
}, {
name: "success label",
filter: Filter{
ID: nil,
Label: "test",
Tags: nil,
},
expectErr: false,
}, {
name: "success tags",
filter: Filter{
ID: nil,
Label: "",
Tags: []string{"testtag"},
},
expectErr: false,
}, {
name: "failure unmarshal",
filter: Filter{
ID: nil,
Label: "",
Tags: []string{},
},
expectErr: true,
}}
for _, tt := range tests {
testcase := tt
t.Run(testcase.name, func(t *testing.T) {
t.Parallel()
_, err := testcase.filter.String()
if testcase.expectErr && err != nil {
t.Error("expected err but got nil")
}
})
}
}
11 changes: 11 additions & 0 deletions version/version_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package version

import "testing"

func TestVersion(t *testing.T) {
t.Parallel()
vers := GetVersion()
if vers != "dev" {
t.Errorf("unset version should be dev, got %s", vers)
}
}

0 comments on commit 6976a86

Please sign in to comment.