]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/hashicorp/terraform/terraform/resource_provider_mock.go
Merge branch 'fix_read_test' of github.com:alexandreFre/terraform-provider-statuscake
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / terraform / terraform / resource_provider_mock.go
index f5315339fb8d35eff7f22484cfc062586b7bff33..4000e3d214968d06631e9ddf3fbf4fcf1f06cd96 100644 (file)
@@ -1,6 +1,8 @@
 package terraform
 
-import "sync"
+import (
+       "sync"
+)
 
 // MockResourceProvider implements ResourceProvider but mocks out all the
 // calls for testing purposes.
@@ -12,6 +14,10 @@ type MockResourceProvider struct {
 
        CloseCalled                    bool
        CloseError                     error
+       GetSchemaCalled                bool
+       GetSchemaRequest               *ProviderSchemaRequest
+       GetSchemaReturn                *ProviderSchema
+       GetSchemaReturnError           error
        InputCalled                    bool
        InputInput                     UIInput
        InputConfig                    *ResourceConfig
@@ -92,8 +98,19 @@ func (p *MockResourceProvider) Close() error {
        return p.CloseError
 }
 
+func (p *MockResourceProvider) GetSchema(req *ProviderSchemaRequest) (*ProviderSchema, error) {
+       p.Lock()
+       defer p.Unlock()
+
+       p.GetSchemaCalled = true
+       p.GetSchemaRequest = req
+       return p.GetSchemaReturn, p.GetSchemaReturnError
+}
+
 func (p *MockResourceProvider) Input(
        input UIInput, c *ResourceConfig) (*ResourceConfig, error) {
+       p.Lock()
+       defer p.Unlock()
        p.InputCalled = true
        p.InputInput = input
        p.InputConfig = c
@@ -186,6 +203,7 @@ func (p *MockResourceProvider) Diff(
        p.DiffInfo = info
        p.DiffState = state
        p.DiffDesired = desired
+
        if p.DiffFn != nil {
                return p.DiffFn(info, state, desired)
        }