Skip to content

Commit 5018d48

Browse files
committed
test: add GetAPIResource for floatingip, primaryip and loadbalancer
1 parent c1eb2a6 commit 5018d48

3 files changed

Lines changed: 27 additions & 0 deletions

File tree

internal/floatingip/testing.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@ import (
66
"testing"
77

88
"github.com/hetznercloud/hcloud-go/v2/hcloud"
9+
"github.com/hetznercloud/terraform-provider-hcloud/internal/testsupport"
910
"github.com/hetznercloud/terraform-provider-hcloud/internal/testtemplate"
1011
)
1112

13+
// GetAPIResource returns a [testsupport.GetAPIResourceFunc] for [hcloud.FloatingIP].
14+
func GetAPIResource() testsupport.GetAPIResourceFunc[hcloud.FloatingIP] {
15+
return func(c *hcloud.Client, attrs map[string]string) (*hcloud.FloatingIP, error) {
16+
result, _, err := c.FloatingIP.Get(context.Background(), attrs["id"])
17+
return result, err
18+
}
19+
}
20+
1221
// ByID returns a function that obtains a Floating IP by its ID.
1322
func ByID(t *testing.T, fl *hcloud.FloatingIP) func(*hcloud.Client, int64) bool {
1423
return func(c *hcloud.Client, id int64) bool {

internal/loadbalancer/testing.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@ import (
66
"testing"
77

88
"github.com/hetznercloud/hcloud-go/v2/hcloud"
9+
"github.com/hetznercloud/terraform-provider-hcloud/internal/testsupport"
910
"github.com/hetznercloud/terraform-provider-hcloud/internal/testtemplate"
1011
)
1112

13+
// GetAPIResource returns a [testsupport.GetAPIResourceFunc] for [hcloud.LoadBalancer].
14+
func GetAPIResource() testsupport.GetAPIResourceFunc[hcloud.LoadBalancer] {
15+
return func(c *hcloud.Client, attrs map[string]string) (*hcloud.LoadBalancer, error) {
16+
result, _, err := c.LoadBalancer.Get(context.Background(), attrs["id"])
17+
return result, err
18+
}
19+
}
20+
1221
// ByID returns a function that obtains a loadbalancer by its ID.
1322
func ByID(t *testing.T, lb *hcloud.LoadBalancer) func(*hcloud.Client, int64) bool {
1423
return func(c *hcloud.Client, id int64) bool {

internal/primaryip/testing.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@ import (
66
"testing"
77

88
"github.com/hetznercloud/hcloud-go/v2/hcloud"
9+
"github.com/hetznercloud/terraform-provider-hcloud/internal/testsupport"
910
"github.com/hetznercloud/terraform-provider-hcloud/internal/testtemplate"
1011
)
1112

13+
// GetAPIResource returns a [testsupport.GetAPIResourceFunc] for [hcloud.PrimaryIP].
14+
func GetAPIResource() testsupport.GetAPIResourceFunc[hcloud.PrimaryIP] {
15+
return func(c *hcloud.Client, attrs map[string]string) (*hcloud.PrimaryIP, error) {
16+
result, _, err := c.PrimaryIP.Get(context.Background(), attrs["id"])
17+
return result, err
18+
}
19+
}
20+
1221
// ByID returns a function that obtains a primary IP by its ID.
1322
func ByID(t *testing.T, fl *hcloud.PrimaryIP) func(*hcloud.Client, int64) bool {
1423
return func(c *hcloud.Client, id int64) bool {

0 commit comments

Comments
 (0)