cumulusci-plus 5.0.19__py3-none-any.whl → 5.0.21__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cumulusci/__about__.py +1 -1
- cumulusci/tasks/salesforce/profiles.py +13 -9
- cumulusci/tasks/salesforce/tests/test_profiles.py +43 -3
- {cumulusci_plus-5.0.19.dist-info → cumulusci_plus-5.0.21.dist-info}/METADATA +4 -4
- {cumulusci_plus-5.0.19.dist-info → cumulusci_plus-5.0.21.dist-info}/RECORD +9 -9
- {cumulusci_plus-5.0.19.dist-info → cumulusci_plus-5.0.21.dist-info}/WHEEL +0 -0
- {cumulusci_plus-5.0.19.dist-info → cumulusci_plus-5.0.21.dist-info}/entry_points.txt +0 -0
- {cumulusci_plus-5.0.19.dist-info → cumulusci_plus-5.0.21.dist-info}/licenses/AUTHORS.rst +0 -0
- {cumulusci_plus-5.0.19.dist-info → cumulusci_plus-5.0.21.dist-info}/licenses/LICENSE +0 -0
cumulusci/__about__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "5.0.
|
|
1
|
+
__version__ = "5.0.21"
|
|
@@ -23,8 +23,9 @@ class CreateBlankProfile(BaseSalesforceMetadataApiTask):
|
|
|
23
23
|
"description": "The description of the the new profile",
|
|
24
24
|
"required": False,
|
|
25
25
|
},
|
|
26
|
-
"
|
|
27
|
-
"description": "
|
|
26
|
+
"skip_if_exists": {
|
|
27
|
+
"description": "Skip if the profile already exists in the target org. Defaults to True",
|
|
28
|
+
"required": False,
|
|
28
29
|
},
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -43,14 +44,17 @@ class CreateBlankProfile(BaseSalesforceMetadataApiTask):
|
|
|
43
44
|
self.description = self.options.get("description") or ""
|
|
44
45
|
self.license_id = self.options.get("license_id")
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if
|
|
49
|
-
|
|
47
|
+
profile_id = self._get_profile_id(self.name)
|
|
48
|
+
if profile_id:
|
|
49
|
+
if not self.options.get("skip_if_exists", True):
|
|
50
|
+
raise TaskOptionsError(
|
|
50
51
|
f"Profile '{self.name}' already exists with id: {profile_id}"
|
|
51
52
|
)
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
self.logger.info(
|
|
54
|
+
f"Profile '{self.name}' already exists with id: {profile_id}"
|
|
55
|
+
)
|
|
56
|
+
self.return_values = {"profile_id": profile_id}
|
|
57
|
+
return profile_id
|
|
54
58
|
|
|
55
59
|
if not self.license_id:
|
|
56
60
|
self.license_id = self._get_user_license_id(self.license)
|
|
@@ -64,7 +68,7 @@ class CreateBlankProfile(BaseSalesforceMetadataApiTask):
|
|
|
64
68
|
def _get_profile_id(self, profile_name):
|
|
65
69
|
"""Returns the Id of a Profile from a given Name"""
|
|
66
70
|
res = self._query_sf(
|
|
67
|
-
f"SELECT Id, Name FROM Profile WHERE
|
|
71
|
+
f"SELECT Id, Name FROM Profile WHERE Name = '{profile_name}' LIMIT 1"
|
|
68
72
|
)
|
|
69
73
|
if res["records"]:
|
|
70
74
|
return res["records"][0]["Id"]
|
|
@@ -124,7 +124,7 @@ def test_run_task_success():
|
|
|
124
124
|
result = task._run_task()
|
|
125
125
|
assert result == "001R0000029IyDPIA0"
|
|
126
126
|
assert responses.calls[0].request.params == {
|
|
127
|
-
"q": "SELECT Id, Name FROM Profile WHERE
|
|
127
|
+
"q": "SELECT Id, Name FROM Profile WHERE Name = 'Test Profile Name' LIMIT 1"
|
|
128
128
|
}
|
|
129
129
|
assert responses.calls[1].request.params == {
|
|
130
130
|
"q": "SELECT Id, Name FROM UserLicense WHERE Name = 'Foo' LIMIT 1"
|
|
@@ -245,7 +245,7 @@ def test_task_options_error():
|
|
|
245
245
|
|
|
246
246
|
|
|
247
247
|
@responses.activate
|
|
248
|
-
def
|
|
248
|
+
def test_run_task_success_with_skip_if_exists_false():
|
|
249
249
|
query_url = "https://test.salesforce.com/services/data/v53.0/query/"
|
|
250
250
|
|
|
251
251
|
task = create_task(
|
|
@@ -278,12 +278,52 @@ def test_run_task_success_with_collision_check():
|
|
|
278
278
|
)
|
|
279
279
|
|
|
280
280
|
result = task._run_task()
|
|
281
|
+
|
|
281
282
|
assert result == "10056000000VGjUAAW"
|
|
282
283
|
assert responses.calls[0].request.params == {
|
|
283
|
-
"q": "SELECT Id, Name FROM Profile WHERE
|
|
284
|
+
"q": "SELECT Id, Name FROM Profile WHERE Name = 'Test Profile Name' LIMIT 1"
|
|
284
285
|
}
|
|
285
286
|
|
|
286
287
|
|
|
288
|
+
@responses.activate
|
|
289
|
+
def test_run_task_success_with_skip_if_exists_true():
|
|
290
|
+
query_url = "https://test.salesforce.com/services/data/v53.0/query/"
|
|
291
|
+
|
|
292
|
+
task = create_task(
|
|
293
|
+
CreateBlankProfile,
|
|
294
|
+
{
|
|
295
|
+
"license": "Foo",
|
|
296
|
+
"name": "Test Profile Name",
|
|
297
|
+
"description": "Have fun stormin da castle",
|
|
298
|
+
"skip_if_exists": False,
|
|
299
|
+
},
|
|
300
|
+
)
|
|
301
|
+
task.org_config._latest_api_version = "53.0"
|
|
302
|
+
|
|
303
|
+
responses.add(
|
|
304
|
+
responses.GET,
|
|
305
|
+
query_url,
|
|
306
|
+
json={
|
|
307
|
+
"done": True,
|
|
308
|
+
"totalSize": 1,
|
|
309
|
+
"records": [
|
|
310
|
+
{
|
|
311
|
+
"attributes": {
|
|
312
|
+
"type": "Profile",
|
|
313
|
+
"url": "/services/data/v53.0/sobjects/Profile/10056000000VGjUAAW",
|
|
314
|
+
},
|
|
315
|
+
"Id": "10056000000VGjUAAW",
|
|
316
|
+
"Name": "Test Profile Name",
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
},
|
|
320
|
+
)
|
|
321
|
+
|
|
322
|
+
with pytest.raises(TaskOptionsError) as e:
|
|
323
|
+
task._run_task()
|
|
324
|
+
assert "10056000000VGjUAAW" in str(e)
|
|
325
|
+
|
|
326
|
+
|
|
287
327
|
@responses.activate
|
|
288
328
|
def test_run_task_with_invalid_license():
|
|
289
329
|
query_url = "https://test.salesforce.com/services/data/v53.0/query/"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cumulusci-plus
|
|
3
|
-
Version: 5.0.
|
|
3
|
+
Version: 5.0.21
|
|
4
4
|
Summary: Build and release tools for Salesforce developers
|
|
5
5
|
Project-URL: Homepage, https://github.com/jorgesolebur/CumulusCI
|
|
6
6
|
Project-URL: Changelog, https://cumulusci.readthedocs.io/en/stable/history.html
|
|
@@ -127,7 +127,7 @@ license](https://github.com/SFDO-Tooling/CumulusCI/blob/main/LICENSE)
|
|
|
127
127
|
and is not covered by the Salesforce Master Subscription Agreement.
|
|
128
128
|
|
|
129
129
|
<!-- Changelog -->
|
|
130
|
-
## v5.0.
|
|
130
|
+
## v5.0.21 (2025-09-08)
|
|
131
131
|
|
|
132
132
|
<!-- Release notes generated using configuration in .github/release.yml at main -->
|
|
133
133
|
|
|
@@ -135,6 +135,6 @@ and is not covered by the Salesforce Master Subscription Agreement.
|
|
|
135
135
|
|
|
136
136
|
### Changes
|
|
137
137
|
|
|
138
|
-
-
|
|
138
|
+
- Fix profile query from tooling api field to simple salesforce. by [@rupeshjSFDC](https://github.com/rupeshjSFDC) in [#67](https://github.com/jorgesolebur/CumulusCI/pull/67)
|
|
139
139
|
|
|
140
|
-
**Full Changelog**: https://github.com/jorgesolebur/CumulusCI/compare/v5.0.
|
|
140
|
+
**Full Changelog**: https://github.com/jorgesolebur/CumulusCI/compare/v5.0.20...v5.0.21
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
cumulusci/__about__.py,sha256=
|
|
1
|
+
cumulusci/__about__.py,sha256=GkhyUEGaKn6DXJU6Qo79adooo63Qsz8_lNr8trY06TE,23
|
|
2
2
|
cumulusci/__init__.py,sha256=jdanFQ_i8vbdO7Eltsf4pOfvV4mwa_Osyc4gxWKJ8ng,764
|
|
3
3
|
cumulusci/__main__.py,sha256=kgRH-n5AJrH_daCK_EJwH7azAUxdXEmpi-r-dPGMR6Y,43
|
|
4
4
|
cumulusci/conftest.py,sha256=AIL98BDwNAQtdo8YFmLKwav0tmrQ5dpbw1cX2FyGouQ,5108
|
|
@@ -538,7 +538,7 @@ cumulusci/tasks/salesforce/network_member_group.py,sha256=sWkRr4A6Zm_Iv_7uzPmiNj
|
|
|
538
538
|
cumulusci/tasks/salesforce/nonsourcetracking.py,sha256=kKaQGEOErCIaE53A_TO4Hc5Afhv2aIi97UjPAN-4cQM,8720
|
|
539
539
|
cumulusci/tasks/salesforce/org_settings.py,sha256=0Xg_voNeHV94husGpo7HTpA0QpqQ1NBJKqBsvLM24NA,7105
|
|
540
540
|
cumulusci/tasks/salesforce/package_upload.py,sha256=AKrguElY4cTprmReq4s5BtIuG-QoxeaP9-YT8385Hzo,13024
|
|
541
|
-
cumulusci/tasks/salesforce/profiles.py,sha256=
|
|
541
|
+
cumulusci/tasks/salesforce/profiles.py,sha256=vvru3hu586EgcSvtzYJZV7BfoP_x83ZjzRty1l0vbjY,3848
|
|
542
542
|
cumulusci/tasks/salesforce/promote_package_version.py,sha256=2mD_iOzkbelaglH_NJKfR_MJoJOVpnqPuaGmnRTL5Go,15186
|
|
543
543
|
cumulusci/tasks/salesforce/retrieve_profile.py,sha256=VTO--xWQJ7sidMMkvrfvgd2fSUaumQWJK25Aqa0oSNU,7798
|
|
544
544
|
cumulusci/tasks/salesforce/salesforce_files.py,sha256=91VHtOkZzi9Tabfy0IDFWBW5bZPi8xOPb_4RPCqmFaY,9193
|
|
@@ -583,7 +583,7 @@ cumulusci/tasks/salesforce/tests/test_install_package_version.py,sha256=f_hHO83v
|
|
|
583
583
|
cumulusci/tasks/salesforce/tests/test_network_member_group.py,sha256=N0ZXcy74nNQdpmGrBnkVzY6mALW4KxoYhQtARrZJ578,13968
|
|
584
584
|
cumulusci/tasks/salesforce/tests/test_nonsourcetracking.py,sha256=14yjidvGa0Q85n8uoWXwMeFsOWYJGqvFShevAbidfbU,9154
|
|
585
585
|
cumulusci/tasks/salesforce/tests/test_org_settings.py,sha256=SRpqihPzRy29WEinOlU-l-DU8viyFP1guIzjfROTK7A,13532
|
|
586
|
-
cumulusci/tasks/salesforce/tests/test_profiles.py,sha256=
|
|
586
|
+
cumulusci/tasks/salesforce/tests/test_profiles.py,sha256=biS9Btb7DVnZnLd0FTo50TS0QsXda84tDXZgvTvksvI,10532
|
|
587
587
|
cumulusci/tasks/salesforce/tests/test_retrieve_profile.py,sha256=Ujbt1k34CmN6-CvcKhTY_vgVp-OtpvGb0NDXS-vGYSQ,9858
|
|
588
588
|
cumulusci/tasks/salesforce/tests/test_salesforce_files.py,sha256=eBeyanF7ygldukf9TQrPSXmeTU5sLQi_vNHVplx8dd0,8005
|
|
589
589
|
cumulusci/tasks/salesforce/tests/test_sourcetracking.py,sha256=n9dyJ21OZs8P574Ds3uzVESCVl6fK0_RYv2bKI1dm3E,12540
|
|
@@ -740,9 +740,9 @@ cumulusci/vcs/tests/dummy_service.py,sha256=RltOUpMIhSDNrfxk0LhLqlH4ppC0sK6NC2cO
|
|
|
740
740
|
cumulusci/vcs/tests/test_vcs_base.py,sha256=9mp6uZ3lTxY4onjUNCucp9N9aB3UylKS7_2Zu_hdAZw,24331
|
|
741
741
|
cumulusci/vcs/tests/test_vcs_bootstrap.py,sha256=N0NA48-rGNIIjY3Z7PtVnNwHObSlEGDk2K55TQGI8g4,27954
|
|
742
742
|
cumulusci/vcs/utils/__init__.py,sha256=py4fEcHM7Vd0M0XWznOlywxaeCtG3nEVGmELmEKVGU8,869
|
|
743
|
-
cumulusci_plus-5.0.
|
|
744
|
-
cumulusci_plus-5.0.
|
|
745
|
-
cumulusci_plus-5.0.
|
|
746
|
-
cumulusci_plus-5.0.
|
|
747
|
-
cumulusci_plus-5.0.
|
|
748
|
-
cumulusci_plus-5.0.
|
|
743
|
+
cumulusci_plus-5.0.21.dist-info/METADATA,sha256=UBDHG9IrjrryteDIlpuyX65BZsz44DcsjJCbMXm2-gs,5783
|
|
744
|
+
cumulusci_plus-5.0.21.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
745
|
+
cumulusci_plus-5.0.21.dist-info/entry_points.txt,sha256=nTtu04b9iLXhzADcTrb5PwmdXE6e2MTUAMh9OK6Z2pg,80
|
|
746
|
+
cumulusci_plus-5.0.21.dist-info/licenses/AUTHORS.rst,sha256=PvewjKImdKPhhJ6xR2EEZ4T7GbpY2ZeAeyWm2aLtiMQ,676
|
|
747
|
+
cumulusci_plus-5.0.21.dist-info/licenses/LICENSE,sha256=NFsF_s7RVXk2dU6tmRAN8wF45pnD98VZ5IwqOsyBcaU,1499
|
|
748
|
+
cumulusci_plus-5.0.21.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|