cumulusci 3.53.0__tar.gz → 3.53.0.dev0__tar.gz
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-3.53.0 → cumulusci-3.53.0.dev0}/HISTORY.rst +0 -21
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/PKG-INFO +1 -22
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/cci.py +1 -7
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/error.py +9 -16
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/org.py +5 -20
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_cci.py +0 -6
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_error.py +49 -63
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_org.py +0 -67
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_service.py +14 -15
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_utils.py +0 -55
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/utils.py +0 -32
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/marketing_cloud_service_config.py +0 -17
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/exceptions.py +0 -6
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/encrypted_file_project_keychain.py +2 -25
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_github.py +7 -7
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_source.py +11 -11
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/snowfakery.py +2 -12
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/queue_manager.py +29 -76
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_snowfakery.py +22 -6
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_updates.py +8 -115
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/update_data.py +10 -44
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_publish.py +11 -11
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_release.py +4 -4
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_tag.py +2 -2
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/base.py +7 -1
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/get_user_info.py +2 -1
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_base.py +1 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_deploy.py +11 -18
- cumulusci-3.53.0.dev0/cumulusci/tasks/marketing_cloud/util.py +35 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/test_provider.py +3 -3
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/libdoc.py +5 -9
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/test_robotframework.py +12 -16
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_metadeploy.py +1 -1
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_promote_package_version.py +3 -3
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/parallel/task_worker_queues/parallel_worker.py +16 -29
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/parallel/task_worker_queues/parallel_worker_queue.py +4 -13
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/parallel/task_worker_queues/tests/test_parallel_worker.py +3 -4
- cumulusci-3.53.0.dev0/cumulusci/version.txt +1 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/PKG-INFO +1 -22
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/SOURCES.txt +1 -2
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/requires.txt +8 -5
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/robot.rst +0 -1
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/requirements/dev.txt +14 -13
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/requirements/prod.txt +13 -8
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/setup.py +1 -3
- cumulusci-3.53.0/cumulusci/tasks/bulkdata/tests/integration_test_utils.py +0 -24
- cumulusci-3.53.0/cumulusci/version.txt +0 -1
- cumulusci-3.53.0/docs/robot_locators.rst +0 -203
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/AUTHORS.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/CONTRIBUTING.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/LICENSE +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/MANIFEST.in +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/README.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/__main__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/flow.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/logger.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/plan.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/project.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/runtime.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/service.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/task.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_flow.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_logger.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_plan.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_project.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_runtime.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_task.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_ui.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/ui.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/conftest.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/BaseConfig.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/BaseTaskFlowConfig.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/OrgConfig.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/ScratchOrgConfig.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/base_config.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/base_task_flow_config.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/oauth2_service_config.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/org_config.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/project_config.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/scratch_org_config.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/sfdx_org_config.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/tests/_test_config_backwards_compatibility.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/tests/test_config.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/tests/test_config_expensive.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/tests/test_config_util.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/universal_config.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/util.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/debug.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/dependencies.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/github.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/resolvers.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/tests/conftest.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/tests/test_dependencies.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/tests/test_github.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/tests/test_resolvers.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/flowrunner.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/github.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/base_project_keychain.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/environment_project_keychain.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/tests/conftest.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/tests/test_base_project_keychain.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/tests/test_encrypted_file_project_keychain.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/metadeploy.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/runtime.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/sfdx.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/source/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/source/github.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/source/local_folder.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tasks.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/template_utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_exceptions.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_flowrunner.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_sfdx.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_tasks.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_utils_merge_config.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_versions.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/versions.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cumulusci.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/admin_profile.xml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/delete_excludes.txt +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/templates/project/README.md +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/templates/project/cumulusci.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/templates/project/dot-gitignore +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/templates/project/mapping.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/templates/project/scratch_def.json +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/client.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/exceptions.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/salesforce.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/tests/test_client.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/tests/test_salesforce.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/CumulusCI.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/CumulusCI.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/Salesforce.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/Salesforce.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/form_handlers.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/locator_manager.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/locators_52.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/locators_53.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/locators_54.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/BasePageObjects.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/ObjectManagerPageObject.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/PageObjectLibrary.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/PageObjects.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/baseobjects.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/perftests/short/collection_perf.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/BarTestPage.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/FooTestPage.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/cumulusci/base.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/cumulusci/bulkdata.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/cumulusci/communities.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/cumulusci/datagen.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/TestLibraryA.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/TestLibraryB.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/TestListener.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/api.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/browsers.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/classic.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/create_contact.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/faker.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/forms.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/locators.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/base_pageobjects.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/example_page_object.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/listing_page.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/objectmanager.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/pageobjects.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/performance.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/populate.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/test_testlistener.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/ui.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_cumulusci_library.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_locator_manager.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_pageobjects.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_salesforce.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_salesforce_locators.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_template_util.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/exceptions.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/mc_soap_envelopes.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/metadata.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/org_schema.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/org_schema_models.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/package_install.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/package_zip.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/soap_envelopes.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/metadata_test_strings.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/test_metadata.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/test_package_install.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/test_package_zip.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/test_utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/schema/cumulusci.jsonschema.json +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/apex/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/apex/anon.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/apex/batch.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/apex/testrunner.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/apex/tests/test_apex_tasks.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/base_generate_data_task.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/dates.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/delete.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/extract.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/factory_utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/generate.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/generate_and_load_data.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/generate_and_load_data_from_yaml.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/generate_from_yaml.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/generate_mapping.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/load.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/mapping_parser.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_run_until.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_working_directory.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/subtask_configurator.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/step.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/Account.json +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/Case.json +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/Contact.json +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/Opportunity.json +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/OpportunityContactRole.json +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/dummy_data_factory.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/global_describe.json +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping-oid.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_after.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_simple.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_v1.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_v2.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_v3.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_vanilla_sf.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mock_data_factory_without_mapping.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/recordtypes.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/child/child2.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/child.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/gen_npsp_standard_objects.recipe.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/include_parent.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/npsp_standard_objects_macros.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/options.recipe.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/query_snowfakery.recipe.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/sf_standard_object_macros.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.load.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.recipe.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_2.load.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.load.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.recipe.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels_2.load.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/unique_values.recipe.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_base_generate_data_tasks.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_dates.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_delete.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_extract.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_factory_utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_generate_and_load.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_generate_from_snowfakery_task.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_generatemapping.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_load.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_mapping_parser.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_step.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/command.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/connectedapp.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/create_package_version.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/datadictionary.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/dx_convert_from.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/base.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/commit_status.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/merge.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/publish.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/pull_request.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/release.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/release_report.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tag.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_commit_status.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_merge.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_pull_request.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_release_report.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_util.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/util_github_api.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/util.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/api.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/deploy.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/mc_constants.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/conftest.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/expected-payload.json +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_api.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_api_soap_envelopes.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_get_user_info.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/ee_src.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/managed_src.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/metadata_map.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/modify.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/package.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/destructiveChanges.xml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/package.xml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/reports/namespace__TestFolder/TestReport.report +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/sample_package.xml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/test_ee_src.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/test_managed_src.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/test_modify.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/test_package.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/base.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/duplicate_rules.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/field_sets.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/help_text.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/layouts.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/permissions.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/picklists.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/sharing.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_base.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_duplicate_rules.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_field_sets.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_help_text.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_layouts.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_permissions.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_picklists.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_sharing.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_value_sets.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/value_sets.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadeploy.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metaxml.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/licenses.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/packages.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/permsets.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/recordtypes.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/settings.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/sobjects.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_licenses.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_packages.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_permset_preflights.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_recordtypes.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_settings.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_sobjects.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/README.md +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/push_api.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/pushfails.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/tasks.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/tests/conftest.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/tests/test_push_api.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/tests/test_push_tasks.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/README.md +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/exceptions.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/generator.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/parser.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/provider.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/task.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/full/example1.md +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/multi/1.txt +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/multi/2.txt +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/multi/3.txt +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/single/1.txt +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/test_generator.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/test_parser.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/test_task.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/debugger/DebugListener.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/debugger/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/debugger/model.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/debugger/ui.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/lint.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/lint_defaults.txt +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/robotframework.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/stylesheet.css +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/template.html +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/TestLibrary.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/TestPageObjects.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/TestResource.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/failing_tests.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/performance.robot +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/test_debugger.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/test_robot_lint.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/test_robot_parallel.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/BaseRetrieveMetadata.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/BaseSalesforceApiTask.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/BaseSalesforceMetadataApiTask.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/BaseSalesforceTask.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/BaseUninstallMetadata.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/CreateCommunity.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/CreatePackage.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/Deploy.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/DeployBundles.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/EnsureRecordTypes.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/GetInstalledPackages.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/ListCommunities.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/ListCommunityTemplates.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/PublishCommunity.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/RetrievePackaged.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/RetrieveReportsAndDashboards.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/RetrieveUnpackaged.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/SOQLQuery.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UninstallLocal.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UninstallLocalBundles.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UninstallLocalNamespacedBundles.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UninstallPackage.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UninstallPackaged.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UpdateAdminProfile.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/activate_flow.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/composite.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/create_permission_sets.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/custom_settings.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/custom_settings_wait.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/enable_prediction.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/insert_record.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/install_package_version.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/license_preflights.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/network_member_group.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/org_settings.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/package_upload.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/profiles.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/promote_package_version.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/sourcetracking.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_CreateCommunity.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_CreatePackage.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_Deploy.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_DeployBundles.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_EnsureRecordTypes.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_ListCommunities.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_ListCommunityTemplates.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_PackageUpload.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_ProfileGrantAllAccess.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_PublishCommunity.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_RetrievePackaged.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_RetrieveReportsAndDashboards.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_RetrieveUnpackaged.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_SOQLQuery.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallLocal.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallLocalBundles.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallLocalNamespacedBundles.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallPackage.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallPackaged.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallPackagedIncremental.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_activate_flow.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_base_tasks.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_composite.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_create_permission_sets.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_custom_settings.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_custom_settings_wait.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_enable_prediction.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_insert_record.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_install_package_version.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_network_member_group.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_org_settings.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_profiles.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_sourcetracking.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_trigger_handlers.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_update_dependencies.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/util.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/trigger_handlers.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/uninstall_packaged_incremental.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/update_dependencies.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/update_profile.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/users/permsets.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/users/photos.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/users/tests/photo.mock.txt +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/users/tests/test_permsets.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/users/tests/test_photos.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/sfdx.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/conftest.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_command.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_connectedapp.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_create_package_version.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_datadictionary.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_dx_convert_from.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_metaxml.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_pushfails.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_salesforce.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_sfdx.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_util.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/util.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/pytest_plugins/pytest_sf_orgconnect.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/pytest_plugins/pytest_sf_vcr.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/pytest_plugins/pytest_typeguard.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/test_entry_points.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/test_integration_infrastructure.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/test_main.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/test_schema.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/test_utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/util.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/classutils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/fileutils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/git.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/http/multi_request.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/http/requests_utils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/http/tests/test_multi_request.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/iterators.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/logging.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_fileutils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_git.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_logging.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_org_schema.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_org_schema_models.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_waiting.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/waiting.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/__init__.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/metadata_tree.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/robot_xml.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/salesforce_encoding.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/test/test_metadata_tree.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/test/test_salesforce_encoding.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/cumulusci_yml.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/model_parser.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/safer_loader.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/tests/bad_cci.yml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/tests/test_cumulusci_yml.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/tests/test_model_parser.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/tests/test_safer_loader.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/ziputils.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/dependency_links.txt +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/entry_points.txt +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/not-zip-safe +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/top_level.txt +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/2gp_testing.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/Makefile +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/about.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/cheat_sheet.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/cli.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/commands.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/concepts.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/conf.py +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/config.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/connected_orgs.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/continuous_integration.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/contributing.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/cookbook.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/cumulusci_flow.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/data.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/dev.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/diagram/img/image1.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/diagram/img/image12.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/diagram/img/image15.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/diagram/img/image17.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/diagram/img/image3.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/env_var_reference.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/get_started.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/github_actions.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/headless.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/history.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/cci_service_list.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/cumulus_ci_workflow.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/env-var.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/env-var2.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github-commit_status_error.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github-commit_status_pass.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github-creating_a_uat_release.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github_checks.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github_personal_access_token_scopes.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github_secrets.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github_workflow.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/locate_elements_screenshot.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/pipx.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/robot_log_screenshot.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/robot_toggled_results_screenshot.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/salesforce-org-process.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/service-list.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/skipping_task.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/windows_python.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/windows_python_success.png +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/index.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/install.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/internals.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/intro.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/make.bat +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/managed_2gp.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/managed_package.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/metadata_etl.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/npsp_eda_2gp.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/packaging.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/push_upgrades.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/reference.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/release_notes.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/robot_advanced.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/robot_debugger.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/robot_tutorial.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/scratch_orgs.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/tutorial.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/unlocked_package.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/unpackaged.rst +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/pyproject.toml +0 -0
- {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/setup.cfg +0 -0
|
@@ -2,27 +2,6 @@
|
|
|
2
2
|
History
|
|
3
3
|
=======
|
|
4
4
|
|
|
5
|
-
3.53.0 (2022-02-24)
|
|
6
|
-
-------------------
|
|
7
|
-
|
|
8
|
-
Critical Changes
|
|
9
|
-
|
|
10
|
-
- CumulusCI now ships with Snowfakery 3.0. See the `Snowfakery release notes <https://github.com/SFDO-Tooling/Snowfakery/releases/tag/v3.0.0>`__. Snowfakery 3.0 ships with opt-in features that will become the default in June 2022; please `test your recipes <https://snowfakery.readthedocs.io/en/latest/#snowfakery-3>`__ now with ``snowfakery_version: 3`` to ensure compatibility.
|
|
11
|
-
|
|
12
|
-
Changes
|
|
13
|
-
|
|
14
|
-
- CumulusCI now has an ``update_data`` task that allows updates to existing datasets, in coordination with Snowfakery 3.0.
|
|
15
|
-
- Orgs connected using ``cci org connect`` now keep track of which ``connected_app`` service was used to connect them, and will use the same ``connected_app`` service when getting a fresh access token, even if it isn't currently the default ``connected_app`` service. This makes it easier to use CumulusCI with multiple ``connected_app`` services. (Orgs that were connected before this update will continue to use the default ``connected_app`` service.)
|
|
16
|
-
- When connecting a custom ``connected_app`` service, a default ``login_url`` can be specified (to use a login URL other than https://login.salesforce.com when connecting orgs using this ``connected_app`` service).
|
|
17
|
-
- The ``deploy_marketing_cloud_package`` task now utilizes the new API endpoint for deployments.
|
|
18
|
-
- CumulusCI commands are more resilient in the face of corrupted or impossible to decode org config files.
|
|
19
|
-
- We added documentation about managing Robot Framework locators
|
|
20
|
-
- CumulusCI will now warn Windows users if long pathname support is not set up correctly.
|
|
21
|
-
|
|
22
|
-
Issues Closed
|
|
23
|
-
|
|
24
|
-
- Fixed a bug in the JSON format output of cci service list --json
|
|
25
|
-
|
|
26
5
|
3.52.0 (2022-02-03)
|
|
27
6
|
-------------------
|
|
28
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cumulusci
|
|
3
|
-
Version: 3.53.0
|
|
3
|
+
Version: 3.53.0.dev0
|
|
4
4
|
Summary: Build and release tools for Salesforce developers
|
|
5
5
|
Home-page: https://github.com/SFDO-Tooling/CumulusCI
|
|
6
6
|
Author: Salesforce.org
|
|
@@ -66,27 +66,6 @@ Description: =========
|
|
|
66
66
|
History
|
|
67
67
|
=======
|
|
68
68
|
|
|
69
|
-
3.53.0 (2022-02-24)
|
|
70
|
-
-------------------
|
|
71
|
-
|
|
72
|
-
Critical Changes
|
|
73
|
-
|
|
74
|
-
- CumulusCI now ships with Snowfakery 3.0. See the `Snowfakery release notes <https://github.com/SFDO-Tooling/Snowfakery/releases/tag/v3.0.0>`__. Snowfakery 3.0 ships with opt-in features that will become the default in June 2022; please `test your recipes <https://snowfakery.readthedocs.io/en/latest/#snowfakery-3>`__ now with ``snowfakery_version: 3`` to ensure compatibility.
|
|
75
|
-
|
|
76
|
-
Changes
|
|
77
|
-
|
|
78
|
-
- CumulusCI now has an ``update_data`` task that allows updates to existing datasets, in coordination with Snowfakery 3.0.
|
|
79
|
-
- Orgs connected using ``cci org connect`` now keep track of which ``connected_app`` service was used to connect them, and will use the same ``connected_app`` service when getting a fresh access token, even if it isn't currently the default ``connected_app`` service. This makes it easier to use CumulusCI with multiple ``connected_app`` services. (Orgs that were connected before this update will continue to use the default ``connected_app`` service.)
|
|
80
|
-
- When connecting a custom ``connected_app`` service, a default ``login_url`` can be specified (to use a login URL other than https://login.salesforce.com when connecting orgs using this ``connected_app`` service).
|
|
81
|
-
- The ``deploy_marketing_cloud_package`` task now utilizes the new API endpoint for deployments.
|
|
82
|
-
- CumulusCI commands are more resilient in the face of corrupted or impossible to decode org config files.
|
|
83
|
-
- We added documentation about managing Robot Framework locators
|
|
84
|
-
- CumulusCI will now warn Windows users if long pathname support is not set up correctly.
|
|
85
|
-
|
|
86
|
-
Issues Closed
|
|
87
|
-
|
|
88
|
-
- Fixed a bug in the JSON format output of cci service list --json
|
|
89
|
-
|
|
90
69
|
3.52.0 (2022-02-03)
|
|
91
70
|
-------------------
|
|
92
71
|
|
|
@@ -25,12 +25,7 @@ from .project import project
|
|
|
25
25
|
from .runtime import CliRuntime, pass_runtime
|
|
26
26
|
from .service import service
|
|
27
27
|
from .task import task
|
|
28
|
-
from .utils import
|
|
29
|
-
check_latest_version,
|
|
30
|
-
get_installed_version,
|
|
31
|
-
get_latest_final_version,
|
|
32
|
-
warn_if_no_long_paths,
|
|
33
|
-
)
|
|
28
|
+
from .utils import check_latest_version, get_installed_version, get_latest_final_version
|
|
34
29
|
|
|
35
30
|
SUGGEST_ERROR_COMMAND = (
|
|
36
31
|
"""Run this command for more information about debugging errors: cci error --help"""
|
|
@@ -147,7 +142,6 @@ def show_version_info():
|
|
|
147
142
|
console.print(f"CumulusCI version: {cumulusci.__version__} ({sys.argv[0]})")
|
|
148
143
|
console.print(f"Python version: {sys.version.split()[0]} ({sys.executable})")
|
|
149
144
|
console.print()
|
|
150
|
-
warn_if_no_long_paths(console=console)
|
|
151
145
|
|
|
152
146
|
current_version = get_installed_version()
|
|
153
147
|
latest_version = get_latest_final_version()
|
|
@@ -8,7 +8,6 @@ import click
|
|
|
8
8
|
import github3
|
|
9
9
|
|
|
10
10
|
import cumulusci
|
|
11
|
-
from cumulusci.cli.utils import warn_if_no_long_paths, win32_long_paths_enabled
|
|
12
11
|
from cumulusci.core.exceptions import CumulusCIException
|
|
13
12
|
from cumulusci.core.github import check_github_scopes, create_gist, get_github_api
|
|
14
13
|
|
|
@@ -41,8 +40,7 @@ def error():
|
|
|
41
40
|
"""
|
|
42
41
|
|
|
43
42
|
|
|
44
|
-
|
|
45
|
-
return Path.home() / ".cumulusci" / "logs" / "cci.log"
|
|
43
|
+
CCI_LOGFILE_PATH = Path.home() / ".cumulusci" / "logs" / "cci.log"
|
|
46
44
|
|
|
47
45
|
|
|
48
46
|
@error.command(
|
|
@@ -50,13 +48,11 @@ def get_logfile_path():
|
|
|
50
48
|
help="Outputs the most recent traceback (if one exists in the most recent log)",
|
|
51
49
|
)
|
|
52
50
|
def error_info():
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if not logfile_path.is_file():
|
|
56
|
-
click.echo(f"No logfile found at: {logfile_path}")
|
|
51
|
+
if not CCI_LOGFILE_PATH.is_file():
|
|
52
|
+
click.echo(f"No logfile found at: {CCI_LOGFILE_PATH}")
|
|
57
53
|
return
|
|
58
54
|
|
|
59
|
-
traceback = get_traceback(
|
|
55
|
+
traceback = get_traceback(CCI_LOGFILE_PATH.read_text(encoding="utf-8"))
|
|
60
56
|
click.echo(traceback)
|
|
61
57
|
|
|
62
58
|
|
|
@@ -64,7 +60,7 @@ def get_traceback(log_content: str) -> str:
|
|
|
64
60
|
"""Returns the the traceback in a logfile if it exists."""
|
|
65
61
|
stacktrace_start = "Traceback (most recent call last):"
|
|
66
62
|
if stacktrace_start not in log_content:
|
|
67
|
-
return f"\nNo stacktrace found in: {
|
|
63
|
+
return f"\nNo stacktrace found in: {CCI_LOGFILE_PATH}\n"
|
|
68
64
|
|
|
69
65
|
stacktrace = ""
|
|
70
66
|
for i, line in enumerate(reversed(log_content.split("\n")), 1):
|
|
@@ -77,14 +73,13 @@ def get_traceback(log_content: str) -> str:
|
|
|
77
73
|
|
|
78
74
|
@error.command(name="gist", help="Creates a GitHub gist from the latest logfile")
|
|
79
75
|
@pass_runtime(require_project=False, require_keychain=True)
|
|
80
|
-
def
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
log_content = logfile_path.read_text(encoding="utf-8")
|
|
76
|
+
def gist(runtime):
|
|
77
|
+
if CCI_LOGFILE_PATH.is_file():
|
|
78
|
+
log_content = CCI_LOGFILE_PATH.read_text(encoding="utf-8")
|
|
84
79
|
else:
|
|
85
80
|
log_not_found_msg = """No logfile to open at path: {}
|
|
86
81
|
Please ensure you're running this command from the same directory you were experiencing an issue."""
|
|
87
|
-
error_msg = log_not_found_msg.format(
|
|
82
|
+
error_msg = log_not_found_msg.format(CCI_LOGFILE_PATH)
|
|
88
83
|
click.echo(error_msg)
|
|
89
84
|
raise CumulusCIException(error_msg)
|
|
90
85
|
|
|
@@ -120,6 +115,4 @@ def get_context_info():
|
|
|
120
115
|
info.append(f"CumulusCI version: {cumulusci.__version__}")
|
|
121
116
|
info.append(f"Python version: {sys.version.split()[0]} ({sys.executable})")
|
|
122
117
|
info.append(f"Environment Info: {host_info.system} / {host_info.machine}")
|
|
123
|
-
if host_info.system == "Windows":
|
|
124
|
-
info.append(f"Windows long path support enabled: {win32_long_paths_enabled()}")
|
|
125
118
|
return "\n".join(info)
|
|
@@ -348,22 +348,12 @@ def org_info(runtime, org_name, print_json):
|
|
|
348
348
|
)
|
|
349
349
|
@pass_runtime(require_project=False, require_keychain=True)
|
|
350
350
|
def org_list(runtime, json_flag, plain):
|
|
351
|
-
def _get_org_safe(org):
|
|
352
|
-
try:
|
|
353
|
-
return runtime.keychain.get_org(org)
|
|
354
|
-
except Exception as e:
|
|
355
|
-
click.echo(f"Cannot load org config for `{org}`: {e}")
|
|
356
|
-
|
|
357
351
|
plain = plain or runtime.universal_config.cli__plain_output
|
|
358
|
-
org_configs =
|
|
359
|
-
|
|
360
|
-
|
|
352
|
+
org_configs = {
|
|
353
|
+
org: runtime.keychain.get_org(org) for org in runtime.keychain.list_orgs()
|
|
354
|
+
}
|
|
361
355
|
json_data = {}
|
|
362
|
-
|
|
363
|
-
default_org_name, _ = runtime.keychain.get_default_org()
|
|
364
|
-
except Exception: # pragma: no cover
|
|
365
|
-
default_org_name = None
|
|
366
|
-
|
|
356
|
+
default_org_name, _ = runtime.keychain.get_default_org()
|
|
367
357
|
for org, org_config in org_configs.items():
|
|
368
358
|
is_org_default = org == default_org_name
|
|
369
359
|
row_data = {"is_default": is_org_default, "name": org}
|
|
@@ -379,12 +369,7 @@ def org_list(runtime, json_flag, plain):
|
|
|
379
369
|
console.print(scratch_table, justify="left")
|
|
380
370
|
console.print(persistent_table, justify="left")
|
|
381
371
|
|
|
382
|
-
|
|
383
|
-
runtime.keychain.cleanup_org_cache_dirs()
|
|
384
|
-
except Exception:
|
|
385
|
-
click.echo(
|
|
386
|
-
"Cannot cleanup org cache dirs, perhaps due to org config files which cannot be decrypted."
|
|
387
|
-
)
|
|
372
|
+
runtime.keychain.cleanup_org_cache_dirs()
|
|
388
373
|
|
|
389
374
|
|
|
390
375
|
def _make_tables(json_data: dict):
|
|
@@ -416,12 +416,6 @@ def test_version__latest(capsys):
|
|
|
416
416
|
assert "You have the latest version of CumulusCI" in console_output
|
|
417
417
|
|
|
418
418
|
|
|
419
|
-
@mock.patch("cumulusci.cli.cci.warn_if_no_long_paths")
|
|
420
|
-
def test_version__win_path_warning(warn_if):
|
|
421
|
-
run_click_command(cci.version)
|
|
422
|
-
warn_if.assert_called_once()
|
|
423
|
-
|
|
424
|
-
|
|
425
419
|
@mock.patch("code.interact")
|
|
426
420
|
def test_shell(interact):
|
|
427
421
|
run_click_command(cci.shell)
|
|
@@ -1,46 +1,41 @@
|
|
|
1
1
|
import re
|
|
2
|
-
import
|
|
2
|
+
from pathlib import Path
|
|
3
3
|
from unittest import mock
|
|
4
4
|
|
|
5
5
|
import github3
|
|
6
6
|
import pytest
|
|
7
7
|
|
|
8
8
|
import cumulusci
|
|
9
|
-
from cumulusci.cli.error import
|
|
9
|
+
from cumulusci.cli.error import get_traceback
|
|
10
10
|
from cumulusci.core.exceptions import CumulusCIException
|
|
11
|
-
from cumulusci.
|
|
11
|
+
from cumulusci.utils import temporary_dir
|
|
12
12
|
|
|
13
13
|
from .. import error
|
|
14
|
-
from .utils import
|
|
14
|
+
from .utils import run_click_command
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class TestErrorCommands:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
@mock.patch("click.echo")
|
|
19
|
+
@mock.patch("cumulusci.cli.error.CCI_LOGFILE_PATH")
|
|
20
|
+
def test_error_info_no_logfile_present(self, log_path, echo):
|
|
21
|
+
log_path.is_file.return_value = False
|
|
22
|
+
run_click_command(error.error_info)
|
|
23
|
+
|
|
24
|
+
echo.assert_called_once_with(f"No logfile found at: {error.CCI_LOGFILE_PATH}")
|
|
25
|
+
|
|
26
|
+
@mock.patch("click.echo")
|
|
27
|
+
def test_error_info(self, echo):
|
|
28
|
+
with temporary_dir() as path:
|
|
29
|
+
logfile = Path(path) / "cci.log"
|
|
30
|
+
logfile.write_text(
|
|
31
|
+
"This\nis\na\ntest\nTraceback (most recent call last):\n1\n2\n3\n\u2603",
|
|
32
|
+
encoding="utf-8",
|
|
33
|
+
)
|
|
34
|
+
with mock.patch("cumulusci.cli.error.CCI_LOGFILE_PATH", logfile):
|
|
35
|
+
run_click_command(error.error_info)
|
|
36
|
+
echo.assert_called_once_with(
|
|
37
|
+
"\nTraceback (most recent call last):\n1\n2\n3\n\u2603"
|
|
24
38
|
)
|
|
25
|
-
result = run_cli_command("error", "info")
|
|
26
|
-
|
|
27
|
-
assert "\nTraceback (most recent call last):\n1\n2\n3\n\u2603" in result.stdout
|
|
28
|
-
|
|
29
|
-
@mock.patch("cumulusci.cli.error.warn_if_no_long_paths")
|
|
30
|
-
def test_error_info_win_warn(self, warn_if):
|
|
31
|
-
logfile = error.get_logfile_path()
|
|
32
|
-
logfile.parent.mkdir(parents=True)
|
|
33
|
-
logfile.write_text(
|
|
34
|
-
"This\nis\na\ntest\nTraceback (most recent call last):\n1\n2\n3\n\u2603",
|
|
35
|
-
encoding="utf-8",
|
|
36
|
-
)
|
|
37
|
-
run_cli_command("error", "info")
|
|
38
|
-
|
|
39
|
-
warn_if.assert_called_once()
|
|
40
|
-
|
|
41
|
-
def test_error_info__no_logfile_present(self, capsys):
|
|
42
|
-
result = run_cli_command("error", "info")
|
|
43
|
-
assert f"No logfile found at: {error.get_logfile_path()}" in result.stdout
|
|
44
39
|
|
|
45
40
|
def test_get_traceback__no_traceback(self):
|
|
46
41
|
output = get_traceback("test_content")
|
|
@@ -52,6 +47,7 @@ class TestErrorCommands:
|
|
|
52
47
|
output = get_traceback(content)
|
|
53
48
|
assert output == traceback
|
|
54
49
|
|
|
50
|
+
@mock.patch("cumulusci.cli.error.CCI_LOGFILE_PATH")
|
|
55
51
|
@mock.patch("webbrowser.open")
|
|
56
52
|
@mock.patch("cumulusci.cli.error.platform")
|
|
57
53
|
@mock.patch("cumulusci.cli.error.sys")
|
|
@@ -59,7 +55,7 @@ class TestErrorCommands:
|
|
|
59
55
|
@mock.patch("cumulusci.cli.error.create_gist")
|
|
60
56
|
@mock.patch("cumulusci.cli.error.get_github_api")
|
|
61
57
|
def test_error_gist(
|
|
62
|
-
self, gh_api, create_gist, date, sys, platform, webbrowser_open
|
|
58
|
+
self, gh_api, create_gist, date, sys, platform, webbrowser_open, logfile_path
|
|
63
59
|
):
|
|
64
60
|
|
|
65
61
|
platform.uname.return_value = mock.Mock(system="Rossian", machine="x68_46")
|
|
@@ -70,10 +66,9 @@ class TestErrorCommands:
|
|
|
70
66
|
expected_gist_url = "https://gist.github.com/1234567890abcdefghijkl"
|
|
71
67
|
create_gist.return_value = mock.Mock(html_url=expected_gist_url)
|
|
72
68
|
|
|
73
|
-
logfile_path = error.get_logfile_path()
|
|
74
|
-
logfile_path.parent.mkdir(parents=True)
|
|
75
69
|
expected_logfile_content = "Hello there, I'm a logfile."
|
|
76
|
-
logfile_path.
|
|
70
|
+
logfile_path.is_file.return_value = True
|
|
71
|
+
logfile_path.read_text.return_value = expected_logfile_content
|
|
77
72
|
|
|
78
73
|
runtime = mock.Mock()
|
|
79
74
|
runtime.project_config.repo_root = None
|
|
@@ -82,7 +77,7 @@ class TestErrorCommands:
|
|
|
82
77
|
"token": "token",
|
|
83
78
|
}
|
|
84
79
|
|
|
85
|
-
|
|
80
|
+
run_click_command(error.gist, runtime=runtime)
|
|
86
81
|
|
|
87
82
|
expected_content = f"""CumulusCI version: {cumulusci.__version__}
|
|
88
83
|
Python version: {sys.version.split()[0]} ({sys.executable})
|
|
@@ -98,16 +93,20 @@ Environment Info: Rossian / x68_46
|
|
|
98
93
|
)
|
|
99
94
|
webbrowser_open.assert_called_once_with(expected_gist_url)
|
|
100
95
|
|
|
96
|
+
@mock.patch("cumulusci.cli.error.CCI_LOGFILE_PATH")
|
|
97
|
+
@mock.patch("cumulusci.cli.error.click")
|
|
101
98
|
@mock.patch("cumulusci.cli.error.platform")
|
|
102
99
|
@mock.patch("cumulusci.cli.error.sys")
|
|
103
100
|
@mock.patch("cumulusci.cli.error.datetime")
|
|
104
101
|
@mock.patch("cumulusci.cli.error.create_gist")
|
|
105
102
|
@mock.patch("cumulusci.cli.error.get_github_api")
|
|
106
|
-
def test_gist__creation_error(
|
|
107
|
-
|
|
108
|
-
|
|
103
|
+
def test_gist__creation_error(
|
|
104
|
+
self, gh_api, create_gist, date, sys, platform, click, logfile_path
|
|
105
|
+
):
|
|
106
|
+
|
|
109
107
|
expected_logfile_content = "Hello there, I'm a logfile."
|
|
110
|
-
logfile_path.
|
|
108
|
+
logfile_path.is_file.return_value = True
|
|
109
|
+
logfile_path.read_text.return_value = expected_logfile_content
|
|
111
110
|
|
|
112
111
|
platform.uname.return_value = mock.Mock(sysname="Rossian", machine="x68_46")
|
|
113
112
|
sys.version = "1.0.0 (default Jul 24 2019)"
|
|
@@ -131,7 +130,7 @@ Environment Info: Rossian / x68_46
|
|
|
131
130
|
with pytest.raises(
|
|
132
131
|
CumulusCIException, match="An error occurred attempting to create your gist"
|
|
133
132
|
):
|
|
134
|
-
|
|
133
|
+
run_click_command(error.gist, runtime=runtime)
|
|
135
134
|
|
|
136
135
|
class GitHubExceptionWithResponse(github3.exceptions.NotFoundError, mock.Mock):
|
|
137
136
|
def __init__(self, status_code):
|
|
@@ -143,27 +142,14 @@ Environment Info: Rossian / x68_46
|
|
|
143
142
|
|
|
144
143
|
create_gist.side_effect = GitHubExceptionWithResponse(404)
|
|
145
144
|
with pytest.raises(CumulusCIException, match=re.escape(error.GIST_404_ERR_MSG)):
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
def test_get_context_not_win(self, win32_check):
|
|
158
|
-
info = get_context_info()
|
|
159
|
-
win32_check.assert_not_called()
|
|
160
|
-
assert "Windows" not in info
|
|
161
|
-
|
|
162
|
-
@pytest.mark.skipif(
|
|
163
|
-
not sys.platform.startswith("win"), reason="Requires Windows Registry"
|
|
164
|
-
)
|
|
165
|
-
@mock.patch("cumulusci.cli.error.win32_long_paths_enabled")
|
|
166
|
-
def test_get_context_win(self, win32_check):
|
|
167
|
-
info = get_context_info()
|
|
168
|
-
win32_check.assert_called_once()
|
|
169
|
-
assert "Windows" in info
|
|
145
|
+
run_click_command(error.gist, runtime=runtime)
|
|
146
|
+
|
|
147
|
+
@mock.patch("cumulusci.cli.error.CCI_LOGFILE_PATH")
|
|
148
|
+
@mock.patch("cumulusci.cli.error.click")
|
|
149
|
+
@mock.patch("cumulusci.cli.error.datetime")
|
|
150
|
+
@mock.patch("cumulusci.cli.error.create_gist")
|
|
151
|
+
@mock.patch("cumulusci.cli.error.get_github_api")
|
|
152
|
+
def test_gist__file_not_found(self, gh_api, create_gist, date, click, logfile_path):
|
|
153
|
+
logfile_path.is_file.return_value = False
|
|
154
|
+
with pytest.raises(CumulusCIException):
|
|
155
|
+
run_click_command(error.gist)
|
|
@@ -722,73 +722,6 @@ class TestOrgCommands:
|
|
|
722
722
|
|
|
723
723
|
echo.assert_called_once_with(json.dumps(expected))
|
|
724
724
|
|
|
725
|
-
@mock.patch("click.echo")
|
|
726
|
-
@mock.patch("cumulusci.cli.org.CliTable")
|
|
727
|
-
def test_org_list__error(self, cli_tbl, echo):
|
|
728
|
-
runtime = mock.Mock()
|
|
729
|
-
runtime.universal_config.cli__plain_output = None
|
|
730
|
-
org_configs = {
|
|
731
|
-
"test0": ScratchOrgConfig(
|
|
732
|
-
{
|
|
733
|
-
"default": True,
|
|
734
|
-
"scratch": True,
|
|
735
|
-
"date_created": datetime.now() - timedelta(days=8),
|
|
736
|
-
"days": 7,
|
|
737
|
-
"config_name": "dev",
|
|
738
|
-
"username": "test0@example.com",
|
|
739
|
-
},
|
|
740
|
-
"test0",
|
|
741
|
-
),
|
|
742
|
-
"test1": AssertionError("NOPE!"),
|
|
743
|
-
"test2": OrgConfig(
|
|
744
|
-
{
|
|
745
|
-
"default": False,
|
|
746
|
-
"scratch": False,
|
|
747
|
-
"expires": "Persistent",
|
|
748
|
-
"expired": False,
|
|
749
|
-
"config_name": "dev",
|
|
750
|
-
"username": "test2@example.com",
|
|
751
|
-
"instance_url": "https://dude-chillin-2330-dev-ed.cs22.my.salesforce.com",
|
|
752
|
-
},
|
|
753
|
-
"test2",
|
|
754
|
-
),
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
runtime.keychain.list_orgs.return_value = list(org_configs.keys())
|
|
758
|
-
|
|
759
|
-
def get_org(orgname):
|
|
760
|
-
value = org_configs[orgname]
|
|
761
|
-
if isinstance(value, Exception):
|
|
762
|
-
raise value
|
|
763
|
-
return value
|
|
764
|
-
|
|
765
|
-
runtime.keychain.get_org = get_org
|
|
766
|
-
runtime.project_config.cache_dir = Path("does_not_possibly_exist")
|
|
767
|
-
runtime.keychain.cleanup_org_cache_dirs.side_effect = AssertionError("OUCH!")
|
|
768
|
-
|
|
769
|
-
runtime.keychain.get_default_org.return_value = (
|
|
770
|
-
"test0",
|
|
771
|
-
ScratchOrgConfig(
|
|
772
|
-
{
|
|
773
|
-
"default": True,
|
|
774
|
-
"scratch": True,
|
|
775
|
-
"date_created": datetime.now() - timedelta(days=8),
|
|
776
|
-
"days": 7,
|
|
777
|
-
"config_name": "dev",
|
|
778
|
-
"username": "test0@example.com",
|
|
779
|
-
},
|
|
780
|
-
"test0",
|
|
781
|
-
),
|
|
782
|
-
)
|
|
783
|
-
|
|
784
|
-
run_click_command(org.org_list, runtime=runtime, json_flag=False, plain=False)
|
|
785
|
-
|
|
786
|
-
assert "Cannot load org config for `test1`" in str(
|
|
787
|
-
echo.mock_calls
|
|
788
|
-
), echo.mock_calls
|
|
789
|
-
assert "NOPE!" in str(echo.mock_calls), echo.mock_calls
|
|
790
|
-
assert "Cannot cleanup org cache dirs" in str(echo.mock_calls), echo.mock_calls
|
|
791
|
-
|
|
792
725
|
@mock.patch("click.echo")
|
|
793
726
|
def test_org_prune(self, echo):
|
|
794
727
|
runtime = mock.Mock()
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import json
|
|
2
|
-
from unittest import mock
|
|
3
2
|
|
|
4
3
|
import click
|
|
5
4
|
import pytest
|
|
@@ -11,8 +10,7 @@ from cumulusci.core.tests.utils import EnvironmentVarGuard
|
|
|
11
10
|
from .utils import run_cli_command
|
|
12
11
|
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
def test_service_list(table_mock):
|
|
13
|
+
def test_service_list():
|
|
16
14
|
runtime = BaseCumulusCI(
|
|
17
15
|
config={
|
|
18
16
|
"services": {
|
|
@@ -28,18 +26,19 @@ def test_service_list(table_mock):
|
|
|
28
26
|
}
|
|
29
27
|
runtime.keychain._default_services = {"test": "test_alias", "bad": "bad_alias"}
|
|
30
28
|
|
|
31
|
-
run_cli_command("service", "list", runtime=runtime)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
29
|
+
result = run_cli_command("service", "list", runtime=runtime)
|
|
30
|
+
assert (
|
|
31
|
+
result.output
|
|
32
|
+
== """ Services
|
|
33
|
+
|
|
34
|
+
Default Type Name Description
|
|
35
|
+
───────────────────────────────────────────────────────────────
|
|
36
|
+
✔ bad bad_alias Unconfigured Service
|
|
37
|
+
something_else something else
|
|
38
|
+
test test2_alias Test Service
|
|
39
|
+
✔ test test_alias Test Service
|
|
40
|
+
|
|
41
|
+
""" # noqa: W291,W293
|
|
43
42
|
)
|
|
44
43
|
|
|
45
44
|
|
|
@@ -4,7 +4,6 @@ import time
|
|
|
4
4
|
from unittest import mock
|
|
5
5
|
|
|
6
6
|
import pkg_resources
|
|
7
|
-
import pytest
|
|
8
7
|
import requests
|
|
9
8
|
import responses
|
|
10
9
|
|
|
@@ -66,57 +65,3 @@ def test_check_latest_version_request_error(click, get_latest_final_version):
|
|
|
66
65
|
utils.check_latest_version()
|
|
67
66
|
|
|
68
67
|
click.echo.assert_any_call("Error checking cci version:", err=True)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
@pytest.mark.skipif(
|
|
72
|
-
not sys.platform.startswith("win"), reason="Requires Windows Registry"
|
|
73
|
-
)
|
|
74
|
-
@mock.patch("winreg.QueryValueEx")
|
|
75
|
-
def test_win32_warning(query_value):
|
|
76
|
-
query_value.return_value = (1, 1)
|
|
77
|
-
|
|
78
|
-
is_enabled = utils.win32_long_paths_enabled()
|
|
79
|
-
|
|
80
|
-
query_value.assert_called_once()
|
|
81
|
-
assert "LongPathsEnabled" in query_value.call_args.args
|
|
82
|
-
assert is_enabled
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
@pytest.mark.skipif(
|
|
86
|
-
sys.platform.startswith("win"), reason="Should not print on non-win32"
|
|
87
|
-
)
|
|
88
|
-
@mock.patch("cumulusci.cli.utils.win32_long_paths_enabled")
|
|
89
|
-
@mock.patch("rich.console.Console.print")
|
|
90
|
-
def test_no_longpath_warn_on_posix(console_print, is_enabled):
|
|
91
|
-
utils.warn_if_no_long_paths()
|
|
92
|
-
|
|
93
|
-
is_enabled.assert_not_called()
|
|
94
|
-
console_print.assert_not_called()
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
@pytest.mark.skipif(
|
|
98
|
-
not sys.platform.startswith("win"), reason="Requires Windows Registry"
|
|
99
|
-
)
|
|
100
|
-
@mock.patch("cumulusci.cli.utils.win32_long_paths_enabled")
|
|
101
|
-
@mock.patch("rich.console.Console.print")
|
|
102
|
-
def test_no_longpath_warn_on_win(console_print, is_enabled):
|
|
103
|
-
is_enabled.return_value = True
|
|
104
|
-
|
|
105
|
-
utils.warn_if_no_long_paths()
|
|
106
|
-
|
|
107
|
-
is_enabled.assert_called_once()
|
|
108
|
-
console_print.assert_not_called()
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
@pytest.mark.skipif(
|
|
112
|
-
not sys.platform.startswith("win"), reason="Requires Windows Registry"
|
|
113
|
-
)
|
|
114
|
-
@mock.patch("cumulusci.cli.utils.win32_long_paths_enabled")
|
|
115
|
-
@mock.patch("rich.console.Console.print")
|
|
116
|
-
def test_longpath_warn_on_win(console_print, is_enabled):
|
|
117
|
-
is_enabled.return_value = False
|
|
118
|
-
|
|
119
|
-
utils.warn_if_no_long_paths()
|
|
120
|
-
|
|
121
|
-
is_enabled.assert_called_once()
|
|
122
|
-
console_print.assert_called_once_with(utils.WIN_LONG_PATH_WARNING)
|
|
@@ -8,7 +8,6 @@ from collections import defaultdict
|
|
|
8
8
|
import click
|
|
9
9
|
import pkg_resources
|
|
10
10
|
import requests
|
|
11
|
-
from rich.console import Console
|
|
12
11
|
|
|
13
12
|
from cumulusci import __version__
|
|
14
13
|
from cumulusci.core.config import UniversalConfig
|
|
@@ -16,12 +15,6 @@ from cumulusci.utils import get_cci_upgrade_command
|
|
|
16
15
|
from cumulusci.utils.http.requests_utils import safe_json_from_response
|
|
17
16
|
|
|
18
17
|
LOWEST_SUPPORTED_VERSION = (3, 8, 0)
|
|
19
|
-
WIN_LONG_PATH_WARNING = """
|
|
20
|
-
WARNING: Long path support is not enabled. This can lead to errors with some
|
|
21
|
-
tasks. Your administrator will need to activate the "Enable Win32 long paths"
|
|
22
|
-
group policy, or set LongPathsEnabled to 1 in the registry key
|
|
23
|
-
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem.
|
|
24
|
-
"""
|
|
25
18
|
|
|
26
19
|
|
|
27
20
|
def group_items(items):
|
|
@@ -113,28 +106,3 @@ def check_latest_version():
|
|
|
113
106
|
def get_installed_version():
|
|
114
107
|
"""returns the version name (e.g. 2.0.0b58) that is installed"""
|
|
115
108
|
return pkg_resources.parse_version(__version__)
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
def win32_long_paths_enabled() -> bool:
|
|
119
|
-
"""Boolean indicating whether long paths are available on Windows systems.
|
|
120
|
-
|
|
121
|
-
Reads the Windows Registry the running platform. Throws ModuleNotFoundError
|
|
122
|
-
if run on non-Windows platforms.
|
|
123
|
-
"""
|
|
124
|
-
# Only present on windows, so import it here instead
|
|
125
|
-
import winreg
|
|
126
|
-
|
|
127
|
-
access_registry = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
|
|
128
|
-
access_key = winreg.OpenKey(
|
|
129
|
-
access_registry, r"SYSTEM\CurrentControlSet\Control\FileSystem"
|
|
130
|
-
)
|
|
131
|
-
|
|
132
|
-
is_enabled, _ = winreg.QueryValueEx(access_key, "LongPathsEnabled")
|
|
133
|
-
|
|
134
|
-
return is_enabled == 1
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
def warn_if_no_long_paths(console: Console = Console()) -> None:
|
|
138
|
-
"""Print a warning to the user if long paths are not enabled."""
|
|
139
|
-
if sys.platform.startswith("win") and not win32_long_paths_enabled():
|
|
140
|
-
console.print(WIN_LONG_PATH_WARNING)
|
{cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/marketing_cloud_service_config.py
RENAMED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
from typing import Dict
|
|
2
2
|
from urllib.parse import urlparse
|
|
3
3
|
|
|
4
|
-
import requests
|
|
5
|
-
|
|
6
4
|
from cumulusci.core.config.oauth2_service_config import OAuth2ServiceConfig
|
|
7
5
|
from cumulusci.core.keychain import BaseProjectKeychain
|
|
8
6
|
from cumulusci.oauth.client import OAuth2Client
|
|
9
|
-
from cumulusci.utils.http.requests_utils import safe_json_from_response
|
|
10
7
|
|
|
11
8
|
|
|
12
9
|
class MarketingCloudServiceConfig(OAuth2ServiceConfig):
|
|
@@ -59,17 +56,3 @@ class MarketingCloudServiceConfig(OAuth2ServiceConfig):
|
|
|
59
56
|
def save(self):
|
|
60
57
|
assert self._keychain, "Keychain not set on MarketingCloudServiceConfig"
|
|
61
58
|
self._keychain.set_service("marketing_cloud", self._name, self)
|
|
62
|
-
|
|
63
|
-
def get_user_info(self) -> dict:
|
|
64
|
-
"""Make a call to the Marketing Cloud REST API UserInfo endpoint.
|
|
65
|
-
Raises HTTPError for bad response status, otherwise returns the payload
|
|
66
|
-
in full."""
|
|
67
|
-
auth_uri = self.rest_instance_url.replace(".rest", ".auth")
|
|
68
|
-
headers = {
|
|
69
|
-
"Authorization": f"Bearer {self.access_token}",
|
|
70
|
-
"Content-Type": "application/json",
|
|
71
|
-
}
|
|
72
|
-
response = requests.get(f"{auth_uri}v2/userinfo", headers=headers)
|
|
73
|
-
response.raise_for_status()
|
|
74
|
-
|
|
75
|
-
return safe_json_from_response(response)
|