@@ -6,42 +6,72 @@ package testprovider
66import (
77 "context"
88
9- "github.com/hashicorp/terraform-plugin-framework/list"
109 "github.com/hashicorp/terraform-plugin-framework/resource"
1110)
1211
13- var _ list. ListResource = & ListResource {}
12+ var _ resource. Resource = & Resource {}
1413
15- // Declarative list.ListResource for unit testing.
16- type ListResource struct {
17- // ListResource interface methods
18- MetadataMethod func (context.Context , resource.MetadataRequest , * resource.MetadataResponse )
19- ListResourceConfigSchemaMethod func (context.Context , resource.SchemaRequest , * resource.SchemaResponse )
20- ListResourceMethod func (context.Context , list.ListResourceRequest , * list.ListResourceResponse )
14+ // Declarative resource.Resource for unit testing.
15+ type Resource struct {
16+ // Resource interface methods
17+ MetadataMethod func (context.Context , resource.MetadataRequest , * resource.MetadataResponse )
18+ SchemaMethod func (context.Context , resource.SchemaRequest , * resource.SchemaResponse )
19+ CreateMethod func (context.Context , resource.CreateRequest , * resource.CreateResponse )
20+ DeleteMethod func (context.Context , resource.DeleteRequest , * resource.DeleteResponse )
21+ ReadMethod func (context.Context , resource.ReadRequest , * resource.ReadResponse )
22+ UpdateMethod func (context.Context , resource.UpdateRequest , * resource.UpdateResponse )
2123}
2224
23- // Metadata satisfies the list.ListResource interface.
24- func (r * ListResource ) Metadata (ctx context.Context , req resource.MetadataRequest , resp * resource.MetadataResponse ) {
25+ // Metadata satisfies the resource.Resource interface.
26+ func (r * Resource ) Metadata (ctx context.Context , req resource.MetadataRequest , resp * resource.MetadataResponse ) {
2527 if r .MetadataMethod == nil {
2628 return
2729 }
2830
2931 r .MetadataMethod (ctx , req , resp )
3032}
3133
32- // ListResourceConfigSchema satisfies the list.ListResource interface.
33- func (r * ListResource ) ListResourceConfigSchema (ctx context.Context , req resource.SchemaRequest , resp * resource.SchemaResponse ) {
34- if r .ListResourceConfigSchemaMethod == nil {
34+ // Schema satisfies the resource.Resource interface.
35+ func (r * Resource ) Schema (ctx context.Context , req resource.SchemaRequest , resp * resource.SchemaResponse ) {
36+ if r .SchemaMethod == nil {
3537 return
3638 }
3739
38- r .ListResourceConfigSchemaMethod (ctx , req , resp )
40+ r .SchemaMethod (ctx , req , resp )
3941}
4042
41- // ListResource satisfies the list.ListResource interface.
42- func (r * ListResource ) ListResource (ctx context.Context , req list. ListResourceRequest , resp * list. ListResourceResponse ) {
43- if r .ListResourceMethod == nil {
43+ // Create satisfies the resource.Resource interface.
44+ func (r * Resource ) Create (ctx context.Context , req resource. CreateRequest , resp * resource. CreateResponse ) {
45+ if r .CreateMethod == nil {
4446 return
4547 }
46- r .ListResourceMethod (ctx , req , resp )
48+
49+ r .CreateMethod (ctx , req , resp )
50+ }
51+
52+ // Delete satisfies the resource.Resource interface.
53+ func (r * Resource ) Delete (ctx context.Context , req resource.DeleteRequest , resp * resource.DeleteResponse ) {
54+ if r .DeleteMethod == nil {
55+ return
56+ }
57+
58+ r .DeleteMethod (ctx , req , resp )
59+ }
60+
61+ // Read satisfies the resource.Resource interface.
62+ func (r * Resource ) Read (ctx context.Context , req resource.ReadRequest , resp * resource.ReadResponse ) {
63+ if r .ReadMethod == nil {
64+ return
65+ }
66+
67+ r .ReadMethod (ctx , req , resp )
68+ }
69+
70+ // Update satisfies the resource.Resource interface.
71+ func (r * Resource ) Update (ctx context.Context , req resource.UpdateRequest , resp * resource.UpdateResponse ) {
72+ if r .UpdateMethod == nil {
73+ return
74+ }
75+
76+ r .UpdateMethod (ctx , req , resp )
4777}
0 commit comments