Skip to content

Commit 6afca8b

Browse files
committed
Add GetNetwork method to hcloud client
1 parent adbe3c5 commit 6afca8b

File tree

4 files changed

+46
-0
lines changed

4 files changed

+46
-0
lines changed

pkg/services/hcloud/client/client.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ type Client interface {
6969
RebootServer(context.Context, *hcloud.Server) error
7070
CreateNetwork(context.Context, hcloud.NetworkCreateOpts) (*hcloud.Network, error)
7171
ListNetworks(context.Context, hcloud.NetworkListOpts) ([]*hcloud.Network, error)
72+
GetNetwork(ctx context.Context, id int64) (*hcloud.Network, error)
7273
DeleteNetwork(context.Context, *hcloud.Network) error
7374
ListSSHKeys(context.Context, hcloud.SSHKeyListOpts) ([]*hcloud.SSHKey, error)
7475
CreatePlacementGroup(context.Context, hcloud.PlacementGroupCreateOpts) (*hcloud.PlacementGroup, error)
@@ -300,6 +301,11 @@ func (c *realClient) ListNetworks(ctx context.Context, opts hcloud.NetworkListOp
300301
return resp, err
301302
}
302303

304+
func (c *realClient) GetNetwork(ctx context.Context, id int64) (*hcloud.Network, error) {
305+
res, _, err := c.client.Network.GetByID(ctx, id)
306+
return res, err
307+
}
308+
303309
func (c *realClient) DeleteNetwork(ctx context.Context, network *hcloud.Network) error {
304310
_, err := c.client.Network.Delete(ctx, network)
305311
return err

pkg/services/hcloud/client/fake/hcloud_client.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,9 @@ func (c *cacheHCloudClient) ListNetworks(_ context.Context, opts hcloud.NetworkL
652652

653653
return networks, nil
654654
}
655+
func (c *cacheHCloudClient) GetNetwork(_ context.Context, id int64) (*hcloud.Network, error) {
656+
return c.networkCache.idMap[id], nil
657+
}
655658

656659
func (c *cacheHCloudClient) DeleteNetwork(_ context.Context, network *hcloud.Network) error {
657660
if _, found := c.networkCache.idMap[network.ID]; !found {

pkg/services/hcloud/client/fake/hcloud_client_test.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,6 +644,13 @@ var _ = Describe("Network", func() {
644644
Expect(resp[0].ID).To(Equal(network.ID))
645645
})
646646

647+
It("gets a network", func() {
648+
resp, err := client.GetNetwork(ctx, 1)
649+
Expect(err).To(Succeed())
650+
Expect(resp).ToNot(BeNil())
651+
Expect(resp.ID).To(Equal(network.ID))
652+
})
653+
647654
It("deletes a network", func() {
648655
Expect(client.DeleteNetwork(ctx, network)).To(Succeed())
649656
resp, err := client.ListNetworks(ctx, listOpts)

pkg/services/hcloud/client/mocks/Client.go

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)