Skip to content

Commit 2119969

Browse files
committed
test(azure): fill coverage gaps in cosmosdb and disk tests, fix avs delegation
1 parent d0e3cac commit 2119969

3 files changed

Lines changed: 137 additions & 41 deletions

File tree

modules/azure/availabilityset.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ func GetAvailabilitySetFaultDomainCountContextE(t testing.TestingT, ctx context.
140140
return -1, err
141141
}
142142

143-
return *avs.Properties.PlatformFaultDomainCount, nil
143+
return GetAvailabilitySetFaultDomainCountWithClient(avs), nil
144144
}
145145

146146
// GetAvailabilitySetFaultDomainCountWithClient gets the Fault Domain Count from the provided AvailabilitySet.

modules/azure/cosmosdb_withclient_test.go

Lines changed: 88 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -43,43 +43,107 @@ func newFakeCosmosDBSQLClient(t *testing.T, srv *cosmosfake.SQLResourcesServer)
4343
func TestGetCosmosDBAccountWithClient(t *testing.T) {
4444
t.Parallel()
4545

46-
srv := &cosmosfake.DatabaseAccountsServer{
47-
Get: func(_ context.Context, _ string, accountName string, _ *armcosmos.DatabaseAccountsClientGetOptions) (resp azfake.Responder[armcosmos.DatabaseAccountsClientGetResponse], errResp azfake.ErrorResponder) {
48-
resp.SetResponse(http.StatusOK, armcosmos.DatabaseAccountsClientGetResponse{
49-
DatabaseAccountGetResults: armcosmos.DatabaseAccountGetResults{
50-
Name: to.Ptr(accountName),
51-
},
52-
}, nil)
46+
tests := []struct {
47+
server cosmosfake.DatabaseAccountsServer
48+
name string
49+
wantErr bool
50+
}{
51+
{
52+
name: "Success",
53+
server: cosmosfake.DatabaseAccountsServer{
54+
Get: func(_ context.Context, _ string, accountName string, _ *armcosmos.DatabaseAccountsClientGetOptions) (resp azfake.Responder[armcosmos.DatabaseAccountsClientGetResponse], errResp azfake.ErrorResponder) {
55+
resp.SetResponse(http.StatusOK, armcosmos.DatabaseAccountsClientGetResponse{
56+
DatabaseAccountGetResults: armcosmos.DatabaseAccountGetResults{
57+
Name: to.Ptr(accountName),
58+
},
59+
}, nil)
5360

54-
return
61+
return
62+
},
63+
},
64+
},
65+
{
66+
name: "NotFound",
67+
server: cosmosfake.DatabaseAccountsServer{
68+
Get: func(_ context.Context, _ string, _ string, _ *armcosmos.DatabaseAccountsClientGetOptions) (resp azfake.Responder[armcosmos.DatabaseAccountsClientGetResponse], errResp azfake.ErrorResponder) {
69+
errResp.SetResponseError(http.StatusNotFound, "ResourceNotFound")
70+
return
71+
},
72+
},
73+
wantErr: true,
5574
},
5675
}
57-
client := newFakeCosmosDBAccountClient(t, srv)
5876

59-
account, err := azure.GetCosmosDBAccountWithClient(t.Context(), client, "rg", "my-cosmos")
60-
require.NoError(t, err)
61-
assert.Equal(t, "my-cosmos", *account.Name)
77+
for _, tc := range tests {
78+
t.Run(tc.name, func(t *testing.T) {
79+
t.Parallel()
80+
81+
srv := tc.server
82+
client := newFakeCosmosDBAccountClient(t, &srv)
83+
84+
account, err := azure.GetCosmosDBAccountWithClient(t.Context(), client, "rg", "my-cosmos")
85+
if tc.wantErr {
86+
require.Error(t, err)
87+
return
88+
}
89+
90+
require.NoError(t, err)
91+
assert.Equal(t, "my-cosmos", *account.Name)
92+
})
93+
}
6294
}
6395

6496
func TestGetCosmosDBSQLDatabaseWithClient(t *testing.T) {
6597
t.Parallel()
6698

67-
srv := &cosmosfake.SQLResourcesServer{
68-
GetSQLDatabase: func(_ context.Context, _ string, _ string, dbName string, _ *armcosmos.SQLResourcesClientGetSQLDatabaseOptions) (resp azfake.Responder[armcosmos.SQLResourcesClientGetSQLDatabaseResponse], errResp azfake.ErrorResponder) {
69-
resp.SetResponse(http.StatusOK, armcosmos.SQLResourcesClientGetSQLDatabaseResponse{
70-
SQLDatabaseGetResults: armcosmos.SQLDatabaseGetResults{
71-
Name: to.Ptr(dbName),
72-
},
73-
}, nil)
99+
tests := []struct {
100+
server cosmosfake.SQLResourcesServer
101+
name string
102+
wantErr bool
103+
}{
104+
{
105+
name: "Success",
106+
server: cosmosfake.SQLResourcesServer{
107+
GetSQLDatabase: func(_ context.Context, _ string, _ string, dbName string, _ *armcosmos.SQLResourcesClientGetSQLDatabaseOptions) (resp azfake.Responder[armcosmos.SQLResourcesClientGetSQLDatabaseResponse], errResp azfake.ErrorResponder) {
108+
resp.SetResponse(http.StatusOK, armcosmos.SQLResourcesClientGetSQLDatabaseResponse{
109+
SQLDatabaseGetResults: armcosmos.SQLDatabaseGetResults{
110+
Name: to.Ptr(dbName),
111+
},
112+
}, nil)
74113

75-
return
114+
return
115+
},
116+
},
117+
},
118+
{
119+
name: "NotFound",
120+
server: cosmosfake.SQLResourcesServer{
121+
GetSQLDatabase: func(_ context.Context, _ string, _ string, _ string, _ *armcosmos.SQLResourcesClientGetSQLDatabaseOptions) (resp azfake.Responder[armcosmos.SQLResourcesClientGetSQLDatabaseResponse], errResp azfake.ErrorResponder) {
122+
errResp.SetResponseError(http.StatusNotFound, "ResourceNotFound")
123+
return
124+
},
125+
},
126+
wantErr: true,
76127
},
77128
}
78-
client := newFakeCosmosDBSQLClient(t, srv)
79129

80-
db, err := azure.GetCosmosDBSQLDatabaseWithClient(t.Context(), client, "rg", "acct", "my-db")
81-
require.NoError(t, err)
82-
assert.Equal(t, "my-db", *db.Name)
130+
for _, tc := range tests {
131+
t.Run(tc.name, func(t *testing.T) {
132+
t.Parallel()
133+
134+
srv := tc.server
135+
client := newFakeCosmosDBSQLClient(t, &srv)
136+
137+
db, err := azure.GetCosmosDBSQLDatabaseWithClient(t.Context(), client, "rg", "acct", "my-db")
138+
if tc.wantErr {
139+
require.Error(t, err)
140+
return
141+
}
142+
143+
require.NoError(t, err)
144+
assert.Equal(t, "my-db", *db.Name)
145+
})
146+
}
83147
}
84148

85149
func TestGetCosmosDBSQLContainerWithClient(t *testing.T) {

modules/azure/disk_withclient_test.go

Lines changed: 48 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,26 +31,58 @@ func newFakeDisksClient(t *testing.T, srv *computefake.DisksServer) *armcompute.
3131
func TestGetDiskWithClient(t *testing.T) {
3232
t.Parallel()
3333

34-
srv := &computefake.DisksServer{
35-
Get: func(_ context.Context, _ string, diskName string, _ *armcompute.DisksClientGetOptions) (resp azfake.Responder[armcompute.DisksClientGetResponse], errResp azfake.ErrorResponder) {
36-
resp.SetResponse(http.StatusOK, armcompute.DisksClientGetResponse{
37-
Disk: armcompute.Disk{
38-
Name: to.Ptr(diskName),
39-
Properties: &armcompute.DiskProperties{
40-
DiskSizeGB: to.Ptr[int32](128),
41-
},
34+
tests := []struct {
35+
server computefake.DisksServer
36+
name string
37+
wantErr bool
38+
}{
39+
{
40+
name: "Success",
41+
server: computefake.DisksServer{
42+
Get: func(_ context.Context, _ string, diskName string, _ *armcompute.DisksClientGetOptions) (resp azfake.Responder[armcompute.DisksClientGetResponse], errResp azfake.ErrorResponder) {
43+
resp.SetResponse(http.StatusOK, armcompute.DisksClientGetResponse{
44+
Disk: armcompute.Disk{
45+
Name: to.Ptr(diskName),
46+
Properties: &armcompute.DiskProperties{
47+
DiskSizeGB: to.Ptr[int32](128),
48+
},
49+
},
50+
}, nil)
51+
52+
return
4253
},
43-
}, nil)
44-
45-
return
54+
},
55+
},
56+
{
57+
name: "NotFound",
58+
server: computefake.DisksServer{
59+
Get: func(_ context.Context, _ string, _ string, _ *armcompute.DisksClientGetOptions) (resp azfake.Responder[armcompute.DisksClientGetResponse], errResp azfake.ErrorResponder) {
60+
errResp.SetResponseError(http.StatusNotFound, "ResourceNotFound")
61+
return
62+
},
63+
},
64+
wantErr: true,
4665
},
4766
}
48-
client := newFakeDisksClient(t, srv)
4967

50-
disk, err := azure.GetDiskWithClient(t.Context(), client, "rg", "my-disk")
51-
require.NoError(t, err)
52-
assert.Equal(t, "my-disk", *disk.Name)
53-
assert.Equal(t, int32(128), *disk.Properties.DiskSizeGB)
68+
for _, tc := range tests {
69+
t.Run(tc.name, func(t *testing.T) {
70+
t.Parallel()
71+
72+
srv := tc.server
73+
client := newFakeDisksClient(t, &srv)
74+
75+
disk, err := azure.GetDiskWithClient(t.Context(), client, "rg", "my-disk")
76+
if tc.wantErr {
77+
require.Error(t, err)
78+
return
79+
}
80+
81+
require.NoError(t, err)
82+
assert.Equal(t, "my-disk", *disk.Name)
83+
assert.Equal(t, int32(128), *disk.Properties.DiskSizeGB)
84+
})
85+
}
5486
}
5587

5688
func TestDiskExistsWithClient(t *testing.T) {

0 commit comments

Comments
 (0)