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

     1  package spec_test
     2  
     3  import (
     4  	"database/sql/driver"
     5  
     6  	"github.com/kyma-incubator/compass/components/director/internal/domain/spec"
     7  	"github.com/kyma-incubator/compass/components/director/internal/model"
     8  	"github.com/kyma-incubator/compass/components/director/internal/repo"
     9  	"github.com/kyma-incubator/compass/components/director/pkg/graphql"
    10  )
    11  
    12  const (
    13  	specID         = "specID"
    14  	tenant         = "b91b59f7-2563-40b2-aba9-fef726037aa3"
    15  	apiID          = "apiID"
    16  	eventID        = "eventID"
    17  	externalTenant = "externalTenant"
    18  )
    19  
    20  func fixModelAPISpec() *model.Spec {
    21  	return fixModelAPISpecWithID(specID)
    22  }
    23  
    24  func fixModelAPISpecWithID(id string) *model.Spec {
    25  	var specData = "specData"
    26  	var apiType = model.APISpecTypeOdata
    27  	return &model.Spec{
    28  		ID:         id,
    29  		ObjectType: model.APISpecReference,
    30  		ObjectID:   apiID,
    31  		APIType:    &apiType,
    32  		Format:     model.SpecFormatXML,
    33  		Data:       &specData,
    34  	}
    35  }
    36  
    37  func fixModelAPISpecWithIDs(id, apiDefID string) *model.Spec {
    38  	var specData = "specData"
    39  	var apiType = model.APISpecTypeOdata
    40  	return &model.Spec{
    41  		ID:         id,
    42  		ObjectType: model.APISpecReference,
    43  		ObjectID:   apiDefID,
    44  		APIType:    &apiType,
    45  		Format:     model.SpecFormatXML,
    46  		Data:       &specData,
    47  	}
    48  }
    49  
    50  func fixModelEventSpec() *model.Spec {
    51  	var specData = "specData"
    52  	var eventType = model.EventSpecTypeAsyncAPI
    53  	return &model.Spec{
    54  		ID:         specID,
    55  		ObjectType: model.EventSpecReference,
    56  		ObjectID:   eventID,
    57  		EventType:  &eventType,
    58  		Format:     model.SpecFormatJSON,
    59  		Data:       &specData,
    60  	}
    61  }
    62  
    63  func fixModelEventSpecWithID(id string) *model.Spec {
    64  	var specData = "specData"
    65  	var eventType = model.EventSpecTypeAsyncAPI
    66  	return &model.Spec{
    67  		ID:         id,
    68  		ObjectType: model.EventSpecReference,
    69  		ObjectID:   eventID,
    70  		EventType:  &eventType,
    71  		Format:     model.SpecFormatJSON,
    72  		Data:       &specData,
    73  	}
    74  }
    75  
    76  func fixModelEventSpecWithIDs(id, eventDefID string) *model.Spec {
    77  	var specData = "specData"
    78  	var eventType = model.EventSpecTypeAsyncAPI
    79  	return &model.Spec{
    80  		ID:         id,
    81  		ObjectType: model.EventSpecReference,
    82  		ObjectID:   eventDefID,
    83  		EventType:  &eventType,
    84  		Format:     model.SpecFormatJSON,
    85  		Data:       &specData,
    86  	}
    87  }
    88  
    89  func fixGQLAPISpec() *graphql.APISpec {
    90  	var specData = "specData"
    91  	clob := graphql.CLOB(specData)
    92  	return &graphql.APISpec{
    93  		ID:           specID,
    94  		Data:         &clob,
    95  		DefinitionID: apiID,
    96  		Format:       graphql.SpecFormatXML,
    97  		Type:         graphql.APISpecTypeOdata,
    98  	}
    99  }
   100  
   101  func fixGQLEventSpec() *graphql.EventSpec {
   102  	var specData = "specData"
   103  	clob := graphql.CLOB(specData)
   104  	return &graphql.EventSpec{
   105  		ID:           specID,
   106  		Data:         &clob,
   107  		DefinitionID: eventID,
   108  		Format:       graphql.SpecFormatJSON,
   109  		Type:         graphql.EventSpecTypeAsyncAPI,
   110  	}
   111  }
   112  
   113  func fixModelAPISpecInput() *model.SpecInput {
   114  	var specData = "specData"
   115  	var apiType = model.APISpecTypeOdata
   116  	return &model.SpecInput{
   117  		Data:    &specData,
   118  		Format:  model.SpecFormatXML,
   119  		APIType: &apiType,
   120  	}
   121  }
   122  
   123  func fixModelEventSpecInput() *model.SpecInput {
   124  	var specData = "specData"
   125  	var eventType = model.EventSpecTypeAsyncAPI
   126  	return &model.SpecInput{
   127  		Data:      &specData,
   128  		Format:    model.SpecFormatJSON,
   129  		EventType: &eventType,
   130  	}
   131  }
   132  
   133  func fixModelAPISpecInputWithFetchRequest() *model.SpecInput {
   134  	var specData = "specData"
   135  	var apiType = model.APISpecTypeOdata
   136  	return &model.SpecInput{
   137  		Data: &specData,
   138  		FetchRequest: &model.FetchRequestInput{
   139  			URL: "foo.bar",
   140  		},
   141  		APIType: &apiType,
   142  		Format:  model.SpecFormatXML,
   143  	}
   144  }
   145  
   146  func fixModelEventSpecInputWithFetchRequest() *model.SpecInput {
   147  	var specData = "specData"
   148  	var eventType = model.EventSpecTypeAsyncAPI
   149  	return &model.SpecInput{
   150  		Data: &specData,
   151  		FetchRequest: &model.FetchRequestInput{
   152  			URL: "foo.bar",
   153  		},
   154  		EventType: &eventType,
   155  		Format:    model.SpecFormatJSON,
   156  	}
   157  }
   158  
   159  func fixGQLAPISpecInput() *graphql.APISpecInput {
   160  	var specData = "specData"
   161  	clob := graphql.CLOB(specData)
   162  	return &graphql.APISpecInput{
   163  		Data:   &clob,
   164  		Type:   graphql.APISpecTypeOdata,
   165  		Format: graphql.SpecFormatXML,
   166  	}
   167  }
   168  
   169  func fixGQLAPISpecInputWithFetchRequest() *graphql.APISpecInput {
   170  	var specData = "specData"
   171  	clob := graphql.CLOB(specData)
   172  	return &graphql.APISpecInput{
   173  		Data: &clob,
   174  		FetchRequest: &graphql.FetchRequestInput{
   175  			URL: "foo.bar",
   176  		},
   177  		Type:   graphql.APISpecTypeOdata,
   178  		Format: graphql.SpecFormatXML,
   179  	}
   180  }
   181  
   182  func fixGQLEventSpecInput() *graphql.EventSpecInput {
   183  	var specData = "specData"
   184  	clob := graphql.CLOB(specData)
   185  	return &graphql.EventSpecInput{
   186  		Data:   &clob,
   187  		Type:   graphql.EventSpecTypeAsyncAPI,
   188  		Format: graphql.SpecFormatJSON,
   189  	}
   190  }
   191  
   192  func fixGQLEventSpecInputWithFetchRequest() *graphql.EventSpecInput {
   193  	var specData = "specData"
   194  	clob := graphql.CLOB(specData)
   195  	return &graphql.EventSpecInput{
   196  		Data: &clob,
   197  		FetchRequest: &graphql.FetchRequestInput{
   198  			URL: "foo.bar",
   199  		},
   200  		Type:   graphql.EventSpecTypeAsyncAPI,
   201  		Format: graphql.SpecFormatJSON,
   202  	}
   203  }
   204  
   205  func fixSpecColumns() []string {
   206  	return []string{"id", "api_def_id", "event_def_id", "spec_data", "api_spec_format", "api_spec_type", "event_spec_format", "event_spec_type", "custom_type"}
   207  }
   208  
   209  func fixAPISpecRow() []driver.Value {
   210  	return []driver.Value{specID, apiID, nil, "specData", "XML", "ODATA", nil, nil, nil}
   211  }
   212  
   213  func fixAPISpecRowWithID(id string) []driver.Value {
   214  	return []driver.Value{id, apiID, nil, "specData", "XML", "ODATA", nil, nil, nil}
   215  }
   216  
   217  func fixAPISpecRowWithIDs(id, apiDefID string) []driver.Value {
   218  	return []driver.Value{id, apiDefID, nil, "specData", "XML", "ODATA", nil, nil, nil}
   219  }
   220  
   221  func fixEventSpecRow() []driver.Value {
   222  	return []driver.Value{specID, nil, eventID, "specData", nil, nil, "JSON", "ASYNC_API", nil}
   223  }
   224  
   225  func fixEventSpecRowWithID(id string) []driver.Value {
   226  	return []driver.Value{id, nil, eventID, "specData", nil, nil, "JSON", "ASYNC_API", nil}
   227  }
   228  
   229  func fixEventSpecRowWithIDs(id, eventDefID string) []driver.Value {
   230  	return []driver.Value{id, nil, eventDefID, "specData", nil, nil, "JSON", "ASYNC_API", nil}
   231  }
   232  
   233  func fixAPISpecCreateArgs(spec *model.Spec) []driver.Value {
   234  	return []driver.Value{specID, spec.ObjectID, nil, spec.Data, spec.Format, spec.APIType, nil, spec.EventType, spec.CustomType}
   235  }
   236  
   237  func fixEventSpecCreateArgs(spec *model.Spec) []driver.Value {
   238  	return []driver.Value{specID, nil, spec.ObjectID, spec.Data, nil, spec.APIType, spec.Format, spec.EventType, spec.CustomType}
   239  }
   240  
   241  func fixAPISpecEntity() *spec.Entity {
   242  	return &spec.Entity{
   243  		ID:            specID,
   244  		APIDefID:      repo.NewValidNullableString(apiID),
   245  		SpecData:      repo.NewValidNullableString("specData"),
   246  		APISpecFormat: repo.NewValidNullableString("XML"),
   247  		APISpecType:   repo.NewValidNullableString(string(model.APISpecTypeOdata)),
   248  	}
   249  }
   250  
   251  func fixAPISpecEntityWithID(id string) spec.Entity {
   252  	return spec.Entity{
   253  		ID:            id,
   254  		APIDefID:      repo.NewValidNullableString(apiID),
   255  		SpecData:      repo.NewValidNullableString("specData"),
   256  		APISpecFormat: repo.NewValidNullableString("XML"),
   257  		APISpecType:   repo.NewValidNullableString(string(model.APISpecTypeOdata)),
   258  	}
   259  }
   260  
   261  func fixAPISpecEntityWithIDs(id, apiDefID string) spec.Entity {
   262  	return spec.Entity{
   263  		ID:            id,
   264  		APIDefID:      repo.NewValidNullableString(apiDefID),
   265  		SpecData:      repo.NewValidNullableString("specData"),
   266  		APISpecFormat: repo.NewValidNullableString("XML"),
   267  		APISpecType:   repo.NewValidNullableString(string(model.APISpecTypeOdata)),
   268  	}
   269  }
   270  
   271  func fixEventSpecEntity() *spec.Entity {
   272  	return &spec.Entity{
   273  		ID:              specID,
   274  		EventAPIDefID:   repo.NewValidNullableString(eventID),
   275  		SpecData:        repo.NewValidNullableString("specData"),
   276  		EventSpecType:   repo.NewValidNullableString(string(model.EventSpecTypeAsyncAPI)),
   277  		EventSpecFormat: repo.NewValidNullableString("JSON"),
   278  	}
   279  }
   280  
   281  func fixEventSpecEntityWithID(id string) spec.Entity {
   282  	return spec.Entity{
   283  		ID:              id,
   284  		EventAPIDefID:   repo.NewValidNullableString(eventID),
   285  		SpecData:        repo.NewValidNullableString("specData"),
   286  		EventSpecType:   repo.NewValidNullableString(string(model.EventSpecTypeAsyncAPI)),
   287  		EventSpecFormat: repo.NewValidNullableString("JSON"),
   288  	}
   289  }
   290  
   291  func fixEventSpecEntityWithIDs(id, eventDefID string) spec.Entity {
   292  	return spec.Entity{
   293  		ID:              id,
   294  		EventAPIDefID:   repo.NewValidNullableString(eventDefID),
   295  		SpecData:        repo.NewValidNullableString("specData"),
   296  		EventSpecType:   repo.NewValidNullableString(string(model.EventSpecTypeAsyncAPI)),
   297  		EventSpecFormat: repo.NewValidNullableString("JSON"),
   298  	}
   299  }