github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/domain/document/fixtures_test.go (about) 1 package document_test 2 3 import ( 4 "database/sql" 5 "time" 6 7 "github.com/kyma-incubator/compass/components/director/internal/domain/document" 8 "github.com/kyma-incubator/compass/components/director/internal/repo" 9 10 "github.com/kyma-incubator/compass/components/director/internal/model" 11 "github.com/kyma-incubator/compass/components/director/pkg/graphql" 12 ) 13 14 var ( 15 docKind = "fookind" 16 docTitle = "footitle" 17 docData = "foodata" 18 docDisplayName = "foodisplay" 19 docDescription = "foodesc" 20 docCLOB = graphql.CLOB(docData) 21 appID = "appID" 22 appTemplateVersionID = "appTemplateVersionID" 23 fixedTimestamp = time.Now() 24 docID = "foo" 25 ) 26 27 func fixModelDocument(id, bundleID string) *model.Document { 28 return &model.Document{ 29 BundleID: bundleID, 30 Title: docTitle, 31 DisplayName: docDisplayName, 32 Description: docDescription, 33 Format: model.DocumentFormatMarkdown, 34 Kind: &docKind, 35 Data: &docData, 36 BaseEntity: &model.BaseEntity{ 37 ID: id, 38 Ready: true, 39 Error: nil, 40 CreatedAt: &fixedTimestamp, 41 UpdatedAt: &time.Time{}, 42 DeletedAt: &time.Time{}, 43 }, 44 } 45 } 46 47 func fixModelDocumentForApp(id, bundleID string) *model.Document { 48 doc := fixModelDocument(id, bundleID) 49 doc.AppID = &appID 50 51 return doc 52 } 53 54 func fixModelDocumentForAppTemplateVersion(id, bundleID string) *model.Document { 55 doc := fixModelDocument(id, bundleID) 56 doc.ApplicationTemplateVersionID = &appTemplateVersionID 57 58 return doc 59 } 60 61 func fixEntityDocument(id, bundleID string) *document.Entity { 62 return &document.Entity{ 63 BndlID: bundleID, 64 Title: docTitle, 65 DisplayName: docDisplayName, 66 Description: docDescription, 67 Format: string(model.DocumentFormatMarkdown), 68 Kind: repo.NewValidNullableString(docKind), 69 Data: repo.NewValidNullableString(docData), 70 BaseEntity: &repo.BaseEntity{ 71 ID: id, 72 Ready: true, 73 Error: sql.NullString{}, 74 CreatedAt: &fixedTimestamp, 75 UpdatedAt: &time.Time{}, 76 DeletedAt: &time.Time{}, 77 }, 78 } 79 } 80 81 func fixEntityDocumentForApp(id, bundleID string) *document.Entity { 82 entity := fixEntityDocument(id, bundleID) 83 entity.AppID = repo.NewValidNullableString(appID) 84 return entity 85 } 86 87 func fixEntityDocumentForAppTemplateVersion(id, bundleID string) *document.Entity { 88 entity := fixEntityDocument(id, bundleID) 89 entity.ApplicationTemplateVersionID = repo.NewValidNullableString(appTemplateVersionID) 90 return entity 91 } 92 93 func fixGQLDocument(id, bundleID string) *graphql.Document { 94 return &graphql.Document{ 95 BundleID: bundleID, 96 Title: docTitle, 97 DisplayName: docDisplayName, 98 Description: docDescription, 99 Format: graphql.DocumentFormatMarkdown, 100 Kind: &docKind, 101 Data: &docCLOB, 102 BaseEntity: &graphql.BaseEntity{ 103 ID: id, 104 Ready: true, 105 Error: nil, 106 CreatedAt: timeToTimestampPtr(fixedTimestamp), 107 UpdatedAt: timeToTimestampPtr(time.Time{}), 108 DeletedAt: timeToTimestampPtr(time.Time{}), 109 }, 110 } 111 } 112 113 func fixModelDocumentInput(id string) *model.DocumentInput { 114 return &model.DocumentInput{ 115 Title: docTitle, 116 DisplayName: docDisplayName, 117 Description: docDescription, 118 Format: model.DocumentFormatMarkdown, 119 Kind: &docKind, 120 Data: &docData, 121 } 122 } 123 124 func fixModelDocumentInputWithFetchRequest(fetchRequestURL string) *model.DocumentInput { 125 return &model.DocumentInput{ 126 Title: docTitle, 127 DisplayName: docDisplayName, 128 Description: docDescription, 129 Format: model.DocumentFormatMarkdown, 130 Kind: &docKind, 131 Data: &docData, 132 FetchRequest: &model.FetchRequestInput{ 133 URL: fetchRequestURL, 134 }, 135 } 136 } 137 138 func fixModelFetchRequest(id, url string, timestamp time.Time) *model.FetchRequest { 139 return &model.FetchRequest{ 140 ID: id, 141 URL: url, 142 Auth: nil, 143 Mode: model.FetchModeSingle, 144 Filter: nil, 145 Status: &model.FetchRequestStatus{ 146 Condition: model.FetchRequestStatusConditionInitial, 147 Timestamp: timestamp, 148 }, 149 ObjectType: model.DocumentFetchRequestReference, 150 ObjectID: "foo", 151 } 152 } 153 154 func fixGQLFetchRequest(url string, timestamp time.Time) *graphql.FetchRequest { 155 return &graphql.FetchRequest{ 156 Filter: nil, 157 Mode: graphql.FetchModeSingle, 158 Auth: nil, 159 URL: url, 160 Status: &graphql.FetchRequestStatus{ 161 Timestamp: graphql.Timestamp(timestamp), 162 Condition: graphql.FetchRequestStatusConditionInitial, 163 }, 164 } 165 } 166 167 func fixGQLDocumentInput(id string) *graphql.DocumentInput { 168 return &graphql.DocumentInput{ 169 Title: docTitle, 170 DisplayName: docDisplayName, 171 Description: docDescription, 172 Format: graphql.DocumentFormatMarkdown, 173 Kind: &docKind, 174 Data: &docCLOB, 175 } 176 } 177 178 func fixModelBundle(id string) *model.Bundle { 179 return &model.Bundle{ 180 ApplicationID: &appID, 181 Name: "name", 182 BaseEntity: &model.BaseEntity{ 183 ID: id, 184 Ready: true, 185 Error: nil, 186 CreatedAt: &fixedTimestamp, 187 UpdatedAt: &time.Time{}, 188 DeletedAt: &time.Time{}, 189 }, 190 } 191 } 192 193 func timeToTimestampPtr(time time.Time) *graphql.Timestamp { 194 t := graphql.Timestamp(time) 195 return &t 196 }