Skip to content

Commit

Permalink
Mark untested logic in new and updated functions
Browse files Browse the repository at this point in the history
Signed-off-by: jchampne <jchampne@opendns.com>
  • Loading branch information
jchampne committed Sep 2, 2019
1 parent de84c8f commit c0a2d21
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 11 deletions.
Expand Up @@ -225,7 +225,7 @@ func (s *specSchemaDefinitionProperty) terraformSchema() (*schema.Schema, error)
}
objectSchema, err := s.terraformObjectSchema()
if err != nil {
return nil, err
return nil, err //untested
}
terraformSchema.Elem = objectSchema

Expand Down
12 changes: 7 additions & 5 deletions openapi/provider_factory.go
Expand Up @@ -2,13 +2,15 @@ package openapi

import (
"fmt"
"github.com/dikhan/terraform-provider-openapi/openapi/terraformutils"
"net/http"
"time"

"github.com/dikhan/terraform-provider-openapi/openapi/terraformutils"

"log"

"github.com/dikhan/http_goclient"
"github.com/hashicorp/terraform/helper/schema"
"log"
)

type providerFactory struct {
Expand Down Expand Up @@ -171,7 +173,7 @@ func (p providerFactory) createTerraformProviderResourceMap() (map[string]*schem
resourceMap := map[string]*schema.Resource{}
openAPIResources, err := p.specAnalyser.GetTerraformCompliantResources()
if err != nil {
return nil, err
return nil, err //untested
}
for _, openAPIResource := range openAPIResources {
start := time.Now()
Expand All @@ -182,11 +184,11 @@ func (p providerFactory) createTerraformProviderResourceMap() (map[string]*schem
r := newResourceFactory(openAPIResource)
resource, err := r.createTerraformResource()
if err != nil {
return nil, err
return nil, err //untested
}
resourceName, err := p.getProviderResourceName(openAPIResource.getResourceName())
if err != nil {
return nil, err
return nil, err //untested
}
log.Printf("[INFO] resource '%s' successfully registered in the provider (time:%s)", resourceName, time.Since(start))
resourceMap[resourceName] = resource
Expand Down
10 changes: 5 additions & 5 deletions openapi/resource_factory.go
Expand Up @@ -600,7 +600,7 @@ func (r resourceFactory) createPayloadFromLocalStateData(resourceLocalData *sche

func (r resourceFactory) getPropertyPayload(input map[string]interface{}, property *specSchemaDefinitionProperty, dataValue interface{}) error {
if dataValue == nil {
return fmt.Errorf("property '%s' has a nil state dataValue", property.Name)
return fmt.Errorf("property '%s' has a nil state dataValue", property.Name) //untested
}
dataValueKind := reflect.TypeOf(dataValue).Kind()
switch dataValueKind {
Expand All @@ -610,10 +610,10 @@ func (r resourceFactory) getPropertyPayload(input map[string]interface{}, proper
for propertyName, propertyValue := range mapValue {
schemaDefinitionProperty, err := property.SpecSchemaDefinition.getPropertyBasedOnTerraformName(propertyName)
if err != nil {
return err
return err //untested
}
if err := r.getPropertyPayload(objectInput, schemaDefinitionProperty, propertyValue); err != nil {
return err
return err //untested
}
}
input[property.Name] = objectInput
Expand All @@ -630,15 +630,15 @@ func (r resourceFactory) getPropertyPayload(input map[string]interface{}, proper
return fmt.Errorf("something is really wrong here...an object property with nested objects should have exactly one elem in the terraform state list")
}
if err := r.getPropertyPayload(input, property, arrayValue[0]); err != nil {
return err
return err //untested
}
} else {
arrayInput := []interface{}{}
arrayValue := dataValue.([]interface{})
for _, arrayItem := range arrayValue {
objectInput := map[string]interface{}{}
if err := r.getPropertyPayload(objectInput, property, arrayItem); err != nil {
return err
return err //untested
}
// Only assign the value of the object, otherwise a dup key will be assigned which will cause problems. Example
// [propertyName: listeners; propertyValue: [map[options:[] origin_ingress_port:80 protocol:http shield_ingress_port:80]]]
Expand Down

0 comments on commit c0a2d21

Please sign in to comment.