Skip to content

Commit f8d94e4

Browse files
committed
test: extractRequestFieldsOCI and refactor
1 parent b9ca262 commit f8d94e4

File tree

2 files changed

+531
-12
lines changed

2 files changed

+531
-12
lines changed

v3/integrations/nroci/nrocinosql_ocigosdk.go

Lines changed: 74 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ func init() {
1616
type NoSQLClient interface {
1717
Query(ctx context.Context, req nosql.QueryRequest) (nosql.QueryResponse, error)
1818
UpdateRow(ctx context.Context, req nosql.UpdateRowRequest) (nosql.UpdateRowResponse, error)
19+
CreateTable(ctx context.Context, req nosql.CreateTableRequest) (nosql.CreateTableResponse, error)
20+
DeleteRow(ctx context.Context, req nosql.DeleteRowRequest) (nosql.DeleteRowResponse, error)
21+
DeleteTable(ctx context.Context, req nosql.DeleteTableRequest) (nosql.DeleteTableResponse, error)
22+
GetRow(ctx context.Context, req nosql.GetRowRequest) (nosql.GetRowResponse, error)
23+
GetTable(ctx context.Context, req nosql.GetTableRequest) (nosql.GetTableResponse, error)
24+
UpdateTable(ctx context.Context, req nosql.UpdateTableRequest) (nosql.UpdateTableResponse, error)
1925
}
2026

2127
type NoSQLClientWrapper struct {
@@ -41,23 +47,43 @@ func NRNewNoSQLClientWithConfigurationProvider(configProvider common.Configurati
4147
}
4248

4349
func extractRequestFieldsOCI(req any) (string, string, string) {
50+
51+
requestNilCheck := func(value *string) string {
52+
if value != nil {
53+
return *value
54+
}
55+
return ""
56+
}
57+
4458
var collection, statement, compartmentID string
4559
switch r := req.(type) {
4660
case nosql.QueryRequest:
4761
// Could do FROM <table-name> type of parse?
48-
if r.QueryDetails.CompartmentId != nil {
49-
compartmentID = *r.QueryDetails.CompartmentId
50-
}
51-
if r.Statement != nil {
52-
statement = *r.Statement
53-
}
62+
compartmentID = requestNilCheck(r.QueryDetails.CompartmentId)
63+
statement = requestNilCheck(r.QueryDetails.Statement)
5464
case nosql.UpdateRowRequest:
55-
if r.TableNameOrId != nil {
56-
collection = *r.TableNameOrId
57-
}
58-
if r.UpdateRowDetails.CompartmentId != nil {
59-
compartmentID = *r.UpdateRowDetails.CompartmentId
60-
}
65+
collection = requestNilCheck(r.TableNameOrId)
66+
compartmentID = requestNilCheck(r.UpdateRowDetails.CompartmentId)
67+
case nosql.CreateTableRequest:
68+
collection = requestNilCheck(r.CreateTableDetails.Name)
69+
compartmentID = requestNilCheck(r.CreateTableDetails.CompartmentId)
70+
statement = requestNilCheck(r.CreateTableDetails.DdlStatement)
71+
case nosql.DeleteRowRequest:
72+
collection = requestNilCheck(r.TableNameOrId)
73+
compartmentID = requestNilCheck(r.CompartmentId)
74+
case nosql.DeleteTableRequest:
75+
collection = requestNilCheck(r.TableNameOrId)
76+
compartmentID = requestNilCheck(r.CompartmentId)
77+
case nosql.GetRowRequest:
78+
collection = requestNilCheck(r.TableNameOrId)
79+
compartmentID = requestNilCheck(r.CompartmentId)
80+
case nosql.GetTableRequest:
81+
collection = requestNilCheck(r.TableNameOrId)
82+
compartmentID = requestNilCheck(r.CompartmentId)
83+
case nosql.UpdateTableRequest:
84+
collection = requestNilCheck(r.TableNameOrId)
85+
compartmentID = requestNilCheck(r.UpdateTableDetails.CompartmentId)
86+
statement = requestNilCheck(r.UpdateTableDetails.DdlStatement)
6187
default:
6288
// keep strings empty
6389
}
@@ -106,3 +132,39 @@ func (cw *NoSQLClientWrapper) UpdateRow(ctx context.Context, req *NoSQLClientReq
106132
return cw.Client.UpdateRow(ctx, req.ClientRequest)
107133
})
108134
}
135+
136+
func (cw *NoSQLClientWrapper) CreateTable(ctx context.Context, req *NoSQLClientRequestWrapper[nosql.CreateTableRequest]) (*NoSQLClientResponseWrapper[nosql.CreateTableResponse], error) {
137+
return executeWithDatastoreSegmentOCI(ctx, req, func() (nosql.CreateTableResponse, error) {
138+
return cw.Client.CreateTable(ctx, req.ClientRequest)
139+
})
140+
}
141+
142+
func (cw *NoSQLClientWrapper) DeleteRow(ctx context.Context, req *NoSQLClientRequestWrapper[nosql.DeleteRowRequest]) (*NoSQLClientResponseWrapper[nosql.DeleteRowResponse], error) {
143+
return executeWithDatastoreSegmentOCI(ctx, req, func() (nosql.DeleteRowResponse, error) {
144+
return cw.Client.DeleteRow(ctx, req.ClientRequest)
145+
})
146+
}
147+
148+
func (cw *NoSQLClientWrapper) DeleteTable(ctx context.Context, req *NoSQLClientRequestWrapper[nosql.DeleteTableRequest]) (*NoSQLClientResponseWrapper[nosql.DeleteTableResponse], error) {
149+
return executeWithDatastoreSegmentOCI(ctx, req, func() (nosql.DeleteTableResponse, error) {
150+
return cw.Client.DeleteTable(ctx, req.ClientRequest)
151+
})
152+
}
153+
154+
func (cw *NoSQLClientWrapper) GetRow(ctx context.Context, req *NoSQLClientRequestWrapper[nosql.GetRowRequest]) (*NoSQLClientResponseWrapper[nosql.GetRowResponse], error) {
155+
return executeWithDatastoreSegmentOCI(ctx, req, func() (nosql.GetRowResponse, error) {
156+
return cw.Client.GetRow(ctx, req.ClientRequest)
157+
})
158+
}
159+
160+
func (cw *NoSQLClientWrapper) GetTable(ctx context.Context, req *NoSQLClientRequestWrapper[nosql.GetTableRequest]) (*NoSQLClientResponseWrapper[nosql.GetTableResponse], error) {
161+
return executeWithDatastoreSegmentOCI(ctx, req, func() (nosql.GetTableResponse, error) {
162+
return cw.Client.GetTable(ctx, req.ClientRequest)
163+
})
164+
}
165+
166+
func (cw *NoSQLClientWrapper) UpdateTable(ctx context.Context, req *NoSQLClientRequestWrapper[nosql.UpdateTableRequest]) (*NoSQLClientResponseWrapper[nosql.UpdateTableResponse], error) {
167+
return executeWithDatastoreSegmentOCI(ctx, req, func() (nosql.UpdateTableResponse, error) {
168+
return cw.Client.UpdateTable(ctx, req.ClientRequest)
169+
})
170+
}

0 commit comments

Comments
 (0)