@@ -43,43 +43,107 @@ func newFakeCosmosDBSQLClient(t *testing.T, srv *cosmosfake.SQLResourcesServer)
4343func 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
6496func 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
85149func TestGetCosmosDBSQLContainerWithClient (t * testing.T ) {
0 commit comments