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 }