-
Notifications
You must be signed in to change notification settings - Fork 242
/
cumulusci.yml
245 lines (215 loc) · 7.82 KB
/
cumulusci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
# yaml-language-server: $schema=cumulusci/schema/cumulusci.jsonschema.json
project:
name: CumulusCI
package:
name: CumulusCI
sources:
ccitest:
github: https://github.com/SFDO-Tooling/CumulusCI-Test
branch: main
allow_remote_code: True
local_fake:
path: cumulusci/core/tests/fake_remote_repo
allow_remote_code: True
disallowed_repo:
path: cumulusci/core/tests/untrusted_repo_parent
omni:
github: https://github.com/SalesforceFoundation/omni-cci
branch: main
tasks:
robot:
options:
suites: cumulusci/robotframework/tests
options:
outputdir: robot/CumulusCI/results
skiponfailure: noncritical # allows testing failure conditions
robot_testdoc:
options:
path: cumulusci/robotframework/tests
output: docs/robot/Test_Suite.html
robot_lint:
options:
path:
- cumulusci/robotframework
ignore:
- RequireTestDocumentation
robot_libdoc:
description: Generates html documentation for the Salesorce and CumulusCI libraries and resource files
class_path: cumulusci.tasks.robotframework.RobotLibDoc
options:
title: CumulusCI Robot Framework Keywords
output: docs/robot/Keywords.html
path:
- cumulusci.robotframework.CumulusCI
- cumulusci.robotframework.PageObjects
- cumulusci.robotframework.Performance
- cumulusci.robotframework.Salesforce
- cumulusci/robotframework/Salesforce.robot
- cumulusci.robotframework.SalesforceAPI
- cumulusci/robotframework/SalesforcePlaywright.robot
- cumulusci.robotframework.SalesforcePlaywright
- cumulusci/robotframework/pageobjects/BasePageObjects.py
# to be used with the person_accounts org definition
test_load_person_accounts:
class_path: cumulusci.tasks.bulkdata.load.LoadData
options:
sql_path: cumulusci/tasks/bulkdata/tests/person_accounts.sql
mapping: cumulusci/tasks/bulkdata/tests/person_accounts.yml
flows:
robot_docs:
description: Generates documentation for robot framework libraries
steps:
1:
task: robot_libdoc
2:
task: robot_testdoc
test_performance_scratch:
description: Test performance of a scratch org
steps:
1:
task: robot
options:
suites: cumulusci/robotframework/perftests/short
test_performance_LDV:
description: Test performance in an LDV org
steps:
1:
task: robot
options:
suites: cumulusci/robotframework/perftests
test_run_tests:
description: Test the run_tests task in a CumulusCI-Test org
steps:
1:
flow: ccitest:qa_org
2:
task: run_tests
options:
required_per_class_code_coverage_percent: 50
3:
task: run_tests
ignore_failure: True
options:
required_per_class_code_coverage_percent: 90
required_org_code_coverage_percent: 100
test_upserts_rest_simple:
steps:
1:
task: load_dataset
options:
sql_path: datasets/upsert/upsert_before_data.sql
mapping: datasets/upsert/upsert_mapping_rest.yml
set_recently_viewed: False
2:
task: query
options:
object: Contact
query: "select Id,Email,Name from Contact where LastName='Bluth'"
result_file: /tmp/contacts_before.csv
3:
task: load_dataset
options:
sql_path: datasets/upsert/upsert_example_2.sql
mapping: datasets/upsert/upsert_mapping_rest.yml
set_recently_viewed: False
4:
task: query
options:
object: Contact
query: "select Id,Email,Name from Contact where LastName='Bluth'"
result_file: /tmp/contacts_after.csv
test_upserts_bulk_complex:
steps:
0.5:
task: delete_data
options:
objects: Contact,Account,Opportunity
1:
task: load_dataset
options:
sql_path: datasets/upsert/upsert_before_data.sql
mapping: datasets/upsert/upsert_mapping_bulk_complex.yml
set_recently_viewed: False
2:
task: query
options:
object: Contact
query: "select Id,Email,Name from Contact where LastName='Bluth'"
result_file: /tmp/contacts_before.csv
3:
task: load_dataset
options:
sql_path: datasets/upsert/upsert_complex_example.sql
mapping: datasets/upsert/upsert_mapping_bulk_complex.yml
set_recently_viewed: False
4:
task: query
options:
object: Contact
query: "select Id,Email,Name from Contact where LastName='Bluth'"
result_file: /tmp/contacts_after.csv
do_nothing:
steps:
1:
task: None
test_cross_project_custom_tasks:
steps:
1:
task: ccitest:example_task
2:
task: local_fake:example_task
3:
task: local_fake:example_task_from_subdirectory
4:
flow: local_fake:run_child_tasks
test_upserts_snowfakery:
steps:
1:
task: command
options:
command: mkdir -p tmp
2:
task: delete_data
options:
objects: Contact
# where: lastname='Bluth' or lastname='Sitwell' or lastname='Bluth Fünke'
3:
task: snowfakery
options:
recipe: cumulusci/tasks/bulkdata/tests/snowfakery/upsert_before.yml
4:
task: query
options:
object: Contact
query: "select Id,Email,Name from Contact where LastName='Bluth'"
result_file: tmp/contacts_before.csv
5:
task: snowfakery
options:
recipe: cumulusci/tasks/bulkdata/tests/snowfakery/upsert.recipe.yml
6:
task: query
options:
object: Contact
query: "select Id,Email,Name from Contact where LastName='Bluth'"
result_file: tmp/contacts_after.csv
7:
task: snowfakery
options:
recipe: cumulusci/tasks/bulkdata/tests/snowfakery/upsert_2.recipe.yml
8:
task: query
options:
object: Contact
query: "select Id,Email,Name from Contact where LastName='Bluth'"
result_file: tmp/contacts_after_2.csv
orgs:
scratch:
prerelease:
config_file: orgs/prerelease.json
pytest:
config_file: orgs/dev.json
person_accounts:
config_file: orgs/person_accounts.json
omni:
config_file: orgs/omni.json