github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/tenantfetchersvc/resync/fixtures_test.go (about) 1 package resync_test 2 3 import ( 4 "bytes" 5 "encoding/json" 6 "fmt" 7 8 "github.com/kyma-incubator/compass/components/director/internal/tenantfetchersvc/resync" 9 10 "github.com/stretchr/testify/require" 11 12 "github.com/kyma-incubator/compass/components/director/pkg/tenant" 13 14 "github.com/google/uuid" 15 16 "github.com/kyma-incubator/compass/components/director/internal/model" 17 ) 18 19 func fixTenantEventsResponse(events []byte, total, pages int, fieldMapping resync.TenantFieldMapping, mvSAFieldMapping resync.MovedSubaccountsFieldMapping, provider string) *resync.EventsPage { 20 response := fmt.Sprintf(`{ 21 "events": %s, 22 "total": %d, 23 "pages": %d, 24 }`, string(events), total, pages) 25 return &resync.EventsPage{ 26 FieldMapping: fieldMapping, 27 MovedSubaccountsFieldMapping: mvSAFieldMapping, 28 ProviderName: provider, 29 Payload: []byte(response), 30 } 31 } 32 33 func fixEvent(t require.TestingT, eventType, ga string, fields map[string]string) []byte { 34 eventData, err := json.Marshal(fields) 35 if err != nil { 36 require.NoError(t, err) 37 } 38 return wrapIntoEventPageJSON(string(eventData), eventType, ga) 39 } 40 41 func wrapIntoEventPageJSON(eventData, eventType, ga string) []byte { 42 return []byte(fmt.Sprintf(`{ 43 "id": "%s", 44 "type": "%s", 45 "globalAccountGUID": "%s", 46 "eventData": %s 47 }`, fixID(), eventType, ga, eventData)) 48 } 49 50 func fixBusinessTenantMappingInput(externalTenant, provider, subdomain, region, parent string, tenantType tenant.Type, licenseType *string) model.BusinessTenantMappingInput { 51 return model.BusinessTenantMappingInput{ 52 Name: externalTenant, 53 ExternalTenant: externalTenant, 54 Provider: provider, 55 Subdomain: subdomain, 56 Region: region, 57 Parent: parent, 58 Type: tenant.TypeToStr(tenantType), 59 LicenseType: licenseType, 60 } 61 } 62 63 func fixID() string { 64 return uuid.New().String() 65 } 66 67 func eventsToJSONArray(events ...[]byte) []byte { 68 return []byte(fmt.Sprintf(`[%s]`, bytes.Join(events, []byte(",")))) 69 }