Skip to content

Commit 685d2d0

Browse files
committed
Implement the proper interface of the SDK. Add a test so future builds will detect that any SDK injected properly implements the interface expected
1 parent 320e598 commit 685d2d0

File tree

3 files changed

+30
-13
lines changed

3 files changed

+30
-13
lines changed

client/bare_metal_client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type BareMetalClient interface {
2222
CreateImage(compartmentID, instanceID string, opts *baremetal.CreateOptions) (res *baremetal.Image, e error)
2323
CreateInternetGateway(compartmentID, vcnID string, isEnabled bool, opts *baremetal.CreateOptions) (gw *baremetal.InternetGateway, e error)
2424
CreateOrResetUIPassword(userID string, opts *baremetal.RetryTokenOptions) (resource *baremetal.UIPassword, e error)
25-
CreatePolicy(name, desc string, statements []string, opts *baremetal.CreatePolicyOptions) (res *baremetal.Policy, e error)
25+
CreatePolicy(name, desc, compartmentID string, statements []string, opts *baremetal.CreatePolicyOptions) (res *baremetal.Policy, e error)
2626
CreateRouteTable(compartmentID, vcnID string, routeRules []baremetal.RouteRule, opts *baremetal.CreateOptions) (res *baremetal.RouteTable, e error)
2727
CreateSecurityList(compartmentID, vcnID string, egressRules []baremetal.EgressSecurityRule, ingressRules []baremetal.IngressSecurityRule, opts *baremetal.CreateOptions) (res *baremetal.SecurityList, e error)
2828
CreateSubnet(availabilityDomain, cidrBlock, compartmentID, vcnID string, opts *baremetal.CreateSubnetOptions) (sn *baremetal.Subnet, e error)

client/mocks/bare_metal_client.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
// Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
2-
31
package mocks
42

5-
import "github.com/stretchr/testify/mock"
6-
7-
import "github.com/MustWin/baremetal-sdk-go"
3+
import baremetal "github.com/MustWin/baremetal-sdk-go"
4+
import client "github.com/MustWin/terraform-Oracle-BareMetal-Provider/client"
5+
import mock "github.com/stretchr/testify/mock"
86

97
// BareMetalClient is an autogenerated mock type for the BareMetalClient type
108
type BareMetalClient struct {
@@ -333,22 +331,22 @@ func (_m *BareMetalClient) CreateOrResetUIPassword(userID string, opts *baremeta
333331
return r0, r1
334332
}
335333

336-
// CreatePolicy provides a mock function with given fields: name, desc, statements, opts
337-
func (_m *BareMetalClient) CreatePolicy(name string, desc string, statements []string, opts *baremetal.CreatePolicyOptions) (*baremetal.Policy, error) {
338-
ret := _m.Called(name, desc, statements, opts)
334+
// CreatePolicy provides a mock function with given fields: name, desc, compartmentID, statements, opts
335+
func (_m *BareMetalClient) CreatePolicy(name string, desc string, compartmentID string, statements []string, opts *baremetal.CreatePolicyOptions) (*baremetal.Policy, error) {
336+
ret := _m.Called(name, desc, compartmentID, statements, opts)
339337

340338
var r0 *baremetal.Policy
341-
if rf, ok := ret.Get(0).(func(string, string, []string, *baremetal.CreatePolicyOptions) *baremetal.Policy); ok {
342-
r0 = rf(name, desc, statements, opts)
339+
if rf, ok := ret.Get(0).(func(string, string, string, []string, *baremetal.CreatePolicyOptions) *baremetal.Policy); ok {
340+
r0 = rf(name, desc, compartmentID, statements, opts)
343341
} else {
344342
if ret.Get(0) != nil {
345343
r0 = ret.Get(0).(*baremetal.Policy)
346344
}
347345
}
348346

349347
var r1 error
350-
if rf, ok := ret.Get(1).(func(string, string, []string, *baremetal.CreatePolicyOptions) error); ok {
351-
r1 = rf(name, desc, statements, opts)
348+
if rf, ok := ret.Get(1).(func(string, string, string, []string, *baremetal.CreatePolicyOptions) error); ok {
349+
r1 = rf(name, desc, compartmentID, statements, opts)
352350
} else {
353351
r1 = ret.Error(1)
354352
}
@@ -2779,3 +2777,5 @@ func (_m *BareMetalClient) UploadAPIKey(userID string, key string, opts *baremet
27792777

27802778
return r0, r1
27812779
}
2780+
2781+
var _ client.BareMetalClient = (*BareMetalClient)(nil)

client_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package main
2+
3+
import (
4+
"github.com/MustWin/baremetal-sdk-go"
5+
"github.com/MustWin/terraform-Oracle-BareMetal-Provider/client"
6+
"github.com/stretchr/testify/suite"
7+
)
8+
9+
type ResourceClientTestSuite struct {
10+
suite.Suite
11+
}
12+
13+
func (s *ResourceClientTestSuite) TestClientInit() {
14+
var c client.BareMetalClient
15+
c = &baremetal.Client{}
16+
s.Require().True(c != nil) // This won't compile if it's not
17+
}

0 commit comments

Comments
 (0)