github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/domain/bundlereferences/fixtures_test.go (about)

     1  package bundlereferences_test
     2  
     3  import (
     4  	"database/sql"
     5  	"database/sql/driver"
     6  
     7  	"github.com/kyma-incubator/compass/components/director/internal/domain/bundlereferences"
     8  	"github.com/kyma-incubator/compass/components/director/internal/model"
     9  	"github.com/kyma-incubator/compass/components/director/internal/repo"
    10  	"github.com/kyma-incubator/compass/components/director/pkg/str"
    11  )
    12  
    13  const (
    14  	bundleRefID    = "qqqqqqqqq-qqqq-qqqq-qqqq-qqqqqqqqqqqq"
    15  	apiDefID       = "ddddddddd-dddd-dddd-dddd-dddddddddddd"
    16  	eventDefID     = "eeeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee"
    17  	bundleID       = "bbbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"
    18  	secondBundleID = "ppppppppp-pppp-pppp-pppp-pppppppppppp"
    19  
    20  	apiDefTargetURL = "http://test.com"
    21  )
    22  
    23  var isDefaultBundle = false
    24  
    25  func fixAPIBundleReferenceModel() model.BundleReference {
    26  	return model.BundleReference{
    27  		ID:                  bundleRefID,
    28  		BundleID:            str.Ptr(bundleID),
    29  		ObjectType:          model.BundleAPIReference,
    30  		ObjectID:            str.Ptr(apiDefID),
    31  		APIDefaultTargetURL: str.Ptr(apiDefTargetURL),
    32  		IsDefaultBundle:     &isDefaultBundle,
    33  	}
    34  }
    35  
    36  func fixAPIBundleReferenceEntity() bundlereferences.Entity {
    37  	return bundlereferences.Entity{
    38  		ID:                  bundleRefID,
    39  		BundleID:            repo.NewValidNullableString(bundleID),
    40  		APIDefID:            repo.NewValidNullableString(apiDefID),
    41  		EventDefID:          sql.NullString{},
    42  		APIDefaultTargetURL: repo.NewValidNullableString(apiDefTargetURL),
    43  		IsDefaultBundle:     repo.NewNullableBool(&isDefaultBundle),
    44  	}
    45  }
    46  
    47  func fixAPIBundleReferenceEntityWithArgs(bndlID, apiID, targetURL string) bundlereferences.Entity {
    48  	return bundlereferences.Entity{
    49  		ID:                  bundleRefID,
    50  		BundleID:            repo.NewValidNullableString(bndlID),
    51  		APIDefID:            repo.NewValidNullableString(apiID),
    52  		EventDefID:          sql.NullString{},
    53  		APIDefaultTargetURL: repo.NewValidNullableString(targetURL),
    54  		IsDefaultBundle:     repo.NewNullableBool(&isDefaultBundle),
    55  	}
    56  }
    57  
    58  func fixInvalidAPIBundleReferenceEntity() bundlereferences.Entity {
    59  	return bundlereferences.Entity{
    60  		ID:                  bundleRefID,
    61  		BundleID:            repo.NewValidNullableString(bundleID),
    62  		APIDefID:            sql.NullString{},
    63  		EventDefID:          sql.NullString{},
    64  		APIDefaultTargetURL: repo.NewValidNullableString(apiDefTargetURL),
    65  		IsDefaultBundle:     repo.NewNullableBool(&isDefaultBundle),
    66  	}
    67  }
    68  
    69  func fixEventBundleReferenceModel() model.BundleReference {
    70  	return model.BundleReference{
    71  		ID:              bundleRefID,
    72  		BundleID:        str.Ptr(bundleID),
    73  		ObjectType:      model.BundleEventReference,
    74  		ObjectID:        str.Ptr(eventDefID),
    75  		IsDefaultBundle: &isDefaultBundle,
    76  	}
    77  }
    78  
    79  func fixEventBundleReferenceEntity() bundlereferences.Entity {
    80  	return bundlereferences.Entity{
    81  		ID:                  bundleRefID,
    82  		BundleID:            repo.NewValidNullableString(bundleID),
    83  		APIDefID:            sql.NullString{},
    84  		EventDefID:          repo.NewValidNullableString(eventDefID),
    85  		APIDefaultTargetURL: sql.NullString{},
    86  		IsDefaultBundle:     repo.NewNullableBool(&isDefaultBundle),
    87  	}
    88  }
    89  
    90  func fixEventBundleReferenceEntityWithArgs(bndlID, eventID string) bundlereferences.Entity {
    91  	return bundlereferences.Entity{
    92  		ID:              bundleRefID,
    93  		BundleID:        repo.NewValidNullableString(bndlID),
    94  		EventDefID:      repo.NewValidNullableString(eventID),
    95  		IsDefaultBundle: repo.NewNullableBool(&isDefaultBundle),
    96  	}
    97  }
    98  
    99  func fixInvalidEventBundleReferenceEntity() bundlereferences.Entity {
   100  	return bundlereferences.Entity{
   101  		ID:                  bundleRefID,
   102  		BundleID:            repo.NewValidNullableString(bundleID),
   103  		APIDefID:            sql.NullString{},
   104  		EventDefID:          sql.NullString{},
   105  		APIDefaultTargetURL: sql.NullString{},
   106  		IsDefaultBundle:     repo.NewNullableBool(&isDefaultBundle),
   107  	}
   108  }
   109  
   110  func fixBundleReferenceColumns() []string {
   111  	return []string{"api_def_id", "event_def_id", "bundle_id", "api_def_url", "id", "is_default_bundle"}
   112  }
   113  
   114  func fixBundleReferenceRowWithoutEventID() []driver.Value {
   115  	return []driver.Value{repo.NewValidNullableString(apiDefID), sql.NullString{}, repo.NewValidNullableString(bundleID), repo.NewValidNullableString(apiDefTargetURL), bundleRefID, false}
   116  }
   117  
   118  func fixBundleReferenceRowWithoutEventIDWithArgs(bndlID, apiID, targetURL string) []driver.Value {
   119  	return []driver.Value{repo.NewValidNullableString(apiID), sql.NullString{}, repo.NewValidNullableString(bndlID), repo.NewValidNullableString(targetURL), bundleRefID, false}
   120  }
   121  
   122  func fixBundleReferenceRowWithoutAPIIDWithArgs(bndlID, eventID string) []driver.Value {
   123  	return []driver.Value{sql.NullString{}, repo.NewValidNullableString(eventID), repo.NewValidNullableString(bndlID), sql.NullString{}, bundleRefID, false}
   124  }
   125  
   126  func fixBundleIDs(id string) []driver.Value {
   127  	return []driver.Value{repo.NewValidNullableString(id)}
   128  }
   129  
   130  func fixBundleReferenceCreateArgs(bRef *model.BundleReference) []driver.Value {
   131  	return []driver.Value{repo.NewValidNullableString(*bRef.ObjectID), sql.NullString{}, repo.NewValidNullableString(*bRef.BundleID), repo.NewValidNullableString(*bRef.APIDefaultTargetURL), bRef.ID, bRef.IsDefaultBundle}
   132  }