cumulusci 3.52.0__tar.gz → 3.52.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.52.0 → cumulusci-3.52.0.dev0}/HISTORY.rst +0 -20
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/PKG-INFO +4 -22
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/README.rst +3 -1
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/CumulusCI.py +0 -26
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/test_cumulusci_library.py +0 -44
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_working_directory.py +0 -4
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/subtask_configurator.py +0 -10
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/libdoc.py +3 -27
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/tests/test_robotframework.py +9 -49
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/fileutils.py +0 -14
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/tests/test_fileutils.py +1 -23
- cumulusci-3.52.0.dev0/cumulusci/version.txt +1 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci.egg-info/PKG-INFO +4 -22
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci.egg-info/requires.txt +9 -8
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/cli.rst +5 -3
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/requirements/dev.txt +17 -14
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/requirements/prod.txt +12 -8
- cumulusci-3.52.0/cumulusci/version.txt +0 -1
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/AUTHORS.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/CONTRIBUTING.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/LICENSE +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/MANIFEST.in +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/__main__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/cci.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/error.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/flow.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/logger.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/org.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/plan.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/project.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/runtime.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/service.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/task.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_cci.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_error.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_flow.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_logger.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_org.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_plan.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_project.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_runtime.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_service.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_task.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_ui.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/test_utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/tests/utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/ui.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cli/utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/conftest.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/BaseConfig.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/BaseTaskFlowConfig.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/OrgConfig.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/ScratchOrgConfig.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/base_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/base_task_flow_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/marketing_cloud_service_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/oauth2_service_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/org_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/project_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/scratch_org_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/sfdx_org_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/tests/_test_config_backwards_compatibility.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/tests/test_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/tests/test_config_expensive.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/tests/test_config_util.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/universal_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/config/util.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/debug.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/dependencies/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/dependencies/dependencies.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/dependencies/github.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/dependencies/resolvers.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/dependencies/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/dependencies/tests/conftest.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/dependencies/tests/test_dependencies.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/dependencies/tests/test_github.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/dependencies/tests/test_resolvers.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/dependencies/utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/exceptions.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/flowrunner.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/github.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/keychain/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/keychain/base_project_keychain.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/keychain/encrypted_file_project_keychain.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/keychain/environment_project_keychain.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/keychain/tests/conftest.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/keychain/tests/test_base_project_keychain.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/keychain/tests/test_encrypted_file_project_keychain.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/metadeploy.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/runtime.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/sfdx.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/source/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/source/github.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/source/local_folder.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tasks.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/template_utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/test_exceptions.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/test_flowrunner.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/test_github.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/test_sfdx.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/test_source.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/test_tasks.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/test_utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/test_utils_merge_config.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/test_versions.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/tests/utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/core/versions.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/cumulusci.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/files/admin_profile.xml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/files/delete_excludes.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/files/templates/project/README.md +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/files/templates/project/cumulusci.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/files/templates/project/dot-gitignore +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/files/templates/project/mapping.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/files/templates/project/scratch_def.json +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/oauth/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/oauth/client.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/oauth/exceptions.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/oauth/salesforce.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/oauth/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/oauth/tests/test_client.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/oauth/tests/test_salesforce.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/CumulusCI.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/Salesforce.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/Salesforce.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/form_handlers.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/locator_manager.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/locators_52.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/locators_53.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/locators_54.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/pageobjects/BasePageObjects.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/pageobjects/ObjectManagerPageObject.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/pageobjects/PageObjectLibrary.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/pageobjects/PageObjects.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/pageobjects/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/pageobjects/baseobjects.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/perftests/short/collection_perf.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/BarTestPage.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/FooTestPage.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/cumulusci/base.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/cumulusci/bulkdata.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/cumulusci/communities.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/cumulusci/datagen.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/TestLibraryA.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/TestLibraryB.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/TestListener.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/api.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/browsers.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/classic.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/create_contact.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/faker.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/forms.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/locators.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/base_pageobjects.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/example_page_object.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/listing_page.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/objectmanager.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/pageobjects.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/performance.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/populate.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/test_testlistener.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/salesforce/ui.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/test_locator_manager.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/test_pageobjects.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/test_salesforce.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/test_salesforce_locators.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/test_template_util.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/test_utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/exceptions.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/mc_soap_envelopes.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/metadata.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/org_schema.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/org_schema_models.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/package_install.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/package_zip.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/soap_envelopes.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/tests/metadata_test_strings.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/tests/test_metadata.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/tests/test_package_install.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/tests/test_package_zip.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/tests/test_utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/salesforce_api/utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/schema/cumulusci.jsonschema.json +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/apex/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/apex/anon.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/apex/batch.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/apex/testrunner.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/apex/tests/test_apex_tasks.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/base_generate_data_task.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/dates.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/delete.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/extract.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/factory_utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/generate.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/generate_and_load_data.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/generate_and_load_data_from_yaml.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/generate_from_yaml.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/generate_mapping.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/load.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/mapping_parser.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/snowfakery.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/queue_manager.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_run_until.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/step.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/Account.json +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/Case.json +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/Contact.json +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/Opportunity.json +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/OpportunityContactRole.json +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/dummy_data_factory.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/global_describe.json +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping-oid.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_after.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_simple.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_v1.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_v2.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_v3.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_vanilla_sf.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/mock_data_factory_without_mapping.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/recordtypes.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/child/child2.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/child.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/gen_npsp_standard_objects.recipe.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/include_parent.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/npsp_standard_objects_macros.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/options.recipe.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/query_snowfakery.recipe.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/sf_standard_object_macros.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.load.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.recipe.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_2.load.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.load.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.recipe.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels_2.load.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/unique_values.recipe.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_base_generate_data_tasks.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_dates.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_delete.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_extract.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_factory_utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_generate_and_load.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_generate_from_snowfakery_task.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_generatemapping.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_load.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_mapping_parser.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_snowfakery.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_step.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/test_utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/tests/utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/bulkdata/utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/command.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/connectedapp.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/create_package_version.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/datadictionary.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/dx_convert_from.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/base.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/commit_status.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/merge.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/publish.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/pull_request.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/release.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/release_report.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tag.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tests/test_commit_status.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tests/test_merge.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tests/test_publish.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tests/test_pull_request.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tests/test_release.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tests/test_release_report.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tests/test_tag.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tests/test_util.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/tests/util_github_api.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/github/util.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/api.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/base.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/deploy.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/get_user_info.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/mc_constants.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/tests/conftest.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/tests/expected-payload.json +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_api.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_api_soap_envelopes.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_base.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_deploy.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_get_user_info.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/ee_src.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/managed_src.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/metadata_map.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/modify.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/package.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/destructiveChanges.xml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/package.xml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/reports/namespace__TestFolder/TestReport.report +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/tests/sample_package.xml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/tests/test_ee_src.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/tests/test_managed_src.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/tests/test_modify.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata/tests/test_package.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/base.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/duplicate_rules.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/field_sets.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/help_text.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/layouts.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/permissions.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/picklists.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/sharing.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_base.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_duplicate_rules.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_field_sets.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_help_text.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_layouts.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_permissions.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_picklists.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_sharing.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_value_sets.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadata_etl/value_sets.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metadeploy.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/metaxml.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/licenses.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/packages.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/permsets.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/recordtypes.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/settings.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/sobjects.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/tests/test_licenses.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/tests/test_packages.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/tests/test_permset_preflights.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/tests/test_recordtypes.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/tests/test_settings.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/preflight/tests/test_sobjects.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/push/README.md +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/push/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/push/push_api.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/push/pushfails.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/push/tasks.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/push/tests/conftest.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/push/tests/test_push_api.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/push/tests/test_push_tasks.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/README.md +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/exceptions.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/generator.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/parser.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/provider.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/task.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/full/example1.md +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/multi/1.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/multi/2.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/multi/3.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/single/1.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/test_generator.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/test_parser.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/test_provider.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/test_task.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/release_notes/tests/utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/debugger/DebugListener.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/debugger/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/debugger/model.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/debugger/ui.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/lint.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/lint_defaults.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/robotframework.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/stylesheet.css +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/template.html +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/tests/TestLibrary.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/tests/TestPageObjects.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/tests/TestResource.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/tests/failing_tests.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/tests/performance.robot +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/tests/test_debugger.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/tests/test_robot_lint.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/robotframework/tests/test_robot_parallel.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/BaseRetrieveMetadata.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/BaseSalesforceApiTask.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/BaseSalesforceMetadataApiTask.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/BaseSalesforceTask.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/BaseUninstallMetadata.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/CreateCommunity.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/CreatePackage.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/Deploy.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/DeployBundles.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/EnsureRecordTypes.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/GetInstalledPackages.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/ListCommunities.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/ListCommunityTemplates.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/PublishCommunity.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/RetrievePackaged.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/RetrieveReportsAndDashboards.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/RetrieveUnpackaged.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/SOQLQuery.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/UninstallLocal.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/UninstallLocalBundles.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/UninstallLocalNamespacedBundles.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/UninstallPackage.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/UninstallPackaged.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/UpdateAdminProfile.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/activate_flow.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/composite.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/create_permission_sets.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/custom_settings.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/custom_settings_wait.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/enable_prediction.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/insert_record.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/install_package_version.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/license_preflights.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/network_member_group.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/org_settings.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/package_upload.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/profiles.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/promote_package_version.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/sourcetracking.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_CreateCommunity.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_CreatePackage.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_Deploy.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_DeployBundles.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_EnsureRecordTypes.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_ListCommunities.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_ListCommunityTemplates.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_PackageUpload.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_ProfileGrantAllAccess.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_PublishCommunity.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_RetrievePackaged.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_RetrieveReportsAndDashboards.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_RetrieveUnpackaged.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_SOQLQuery.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallLocal.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallLocalBundles.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallLocalNamespacedBundles.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallPackage.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallPackaged.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallPackagedIncremental.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_activate_flow.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_base_tasks.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_composite.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_create_permission_sets.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_custom_settings.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_custom_settings_wait.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_enable_prediction.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_insert_record.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_install_package_version.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_network_member_group.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_org_settings.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_profiles.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_sourcetracking.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_trigger_handlers.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/test_update_dependencies.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/tests/util.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/trigger_handlers.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/uninstall_packaged_incremental.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/update_dependencies.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/update_profile.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/users/permsets.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/users/photos.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/users/tests/photo.mock.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/users/tests/test_permsets.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/salesforce/users/tests/test_photos.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/sfdx.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/conftest.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_command.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_connectedapp.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_create_package_version.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_datadictionary.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_dx_convert_from.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_metadeploy.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_metaxml.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_promote_package_version.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_pushfails.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_salesforce.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_sfdx.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/tests/test_util.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tasks/util.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tests/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tests/pytest_plugins/pytest_sf_orgconnect.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tests/pytest_plugins/pytest_sf_vcr.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tests/pytest_plugins/pytest_typeguard.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tests/test_entry_points.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tests/test_integration_infrastructure.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tests/test_main.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tests/test_schema.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tests/test_utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/tests/util.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/classutils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/git.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/http/multi_request.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/http/requests_utils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/http/tests/test_multi_request.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/iterators.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/logging.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/parallel/task_worker_queues/parallel_worker.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/parallel/task_worker_queues/parallel_worker_queue.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/parallel/task_worker_queues/tests/test_parallel_worker.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/tests/test_git.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/tests/test_logging.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/tests/test_org_schema.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/tests/test_org_schema_models.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/tests/test_waiting.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/waiting.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/xml/__init__.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/xml/metadata_tree.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/xml/robot_xml.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/xml/salesforce_encoding.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/xml/test/test_metadata_tree.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/xml/test/test_salesforce_encoding.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/yaml/cumulusci_yml.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/yaml/model_parser.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/yaml/safer_loader.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/yaml/tests/bad_cci.yml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/yaml/tests/test_cumulusci_yml.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/yaml/tests/test_model_parser.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/yaml/tests/test_safer_loader.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/utils/ziputils.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci.egg-info/SOURCES.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci.egg-info/dependency_links.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci.egg-info/entry_points.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci.egg-info/not-zip-safe +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci.egg-info/top_level.txt +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/2gp_testing.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/Makefile +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/about.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/cheat_sheet.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/commands.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/concepts.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/conf.py +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/config.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/connected_orgs.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/continuous_integration.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/contributing.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/cookbook.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/cumulusci_flow.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/data.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/dev.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/diagram/img/image1.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/diagram/img/image12.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/diagram/img/image15.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/diagram/img/image17.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/diagram/img/image3.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/env_var_reference.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/get_started.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/github_actions.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/headless.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/history.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/cci_service_list.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/cumulus_ci_workflow.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/env-var.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/env-var2.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/github-commit_status_error.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/github-commit_status_pass.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/github-creating_a_uat_release.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/github_checks.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/github_personal_access_token_scopes.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/github_secrets.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/github_workflow.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/locate_elements_screenshot.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/pipx.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/robot_log_screenshot.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/robot_toggled_results_screenshot.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/salesforce-org-process.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/service-list.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/skipping_task.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/windows_python.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/images/windows_python_success.png +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/index.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/install.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/internals.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/intro.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/make.bat +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/managed_2gp.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/managed_package.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/metadata_etl.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/npsp_eda_2gp.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/packaging.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/push_upgrades.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/reference.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/release_notes.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/robot.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/robot_advanced.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/robot_debugger.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/robot_tutorial.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/scratch_orgs.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/tutorial.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/unlocked_package.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/docs/unpackaged.rst +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/pyproject.toml +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/setup.cfg +0 -0
- {cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/setup.py +0 -0
|
@@ -2,27 +2,7 @@
|
|
|
2
2
|
History
|
|
3
3
|
=======
|
|
4
4
|
|
|
5
|
-
3.52.0 (2022-02-03)
|
|
6
|
-
-------------------
|
|
7
|
-
|
|
8
|
-
Changes
|
|
9
|
-
|
|
10
|
-
* Flow steps can now be replaced with the same syntax for all step types! (Current step types are: 'task' or 'flow'). See the [replacing a flow step](https://cumulusci.readthedocs.io/en/latest/config.html?highlight=override#replace-a-flow-step) docs for more details. CumulusCI is still compatible with the old syntax which required setting the current step type to ``None`` when replacing with a step of a differing type. (#3043)
|
|
11
|
-
* Whenever possible, while running the ``robot_libdoc`` task libdoc generates relative pathnames when creating CSV output (#3058)
|
|
12
|
-
* Added a new option ``--preview`` to the ``robot_libdoc`` task. When set to ``true`` it automatically opens a browser window to the generated documentation. (#3057)
|
|
13
|
-
* The robot keyword ``Locate element by label`` has been removed from the Salesforce.py library. This wasn't designed to be a keyword but was accidentally exported as one. If you want to find an input or textarea element by its label you can use a locator of the form ``label:<text>`` (eg: ``label:First Name``) (#3048)
|
|
14
|
-
* Updated to `Snowfakery 2.5.0 <https://github.com/SFDO-Tooling/Snowfakery/releases/tag/v2.5.0>`__
|
|
15
|
-
* If you have Python code that is importing CumulusCI's config classes, some of them have been reorganized into modules with a snake_case name. The old CamelCase imports should still work, but the new names are preferred for consistency with other parts of the codebase.
|
|
16
|
-
|
|
17
|
-
Issues Closed
|
|
18
|
-
|
|
19
|
-
* Fixed an issue where overriding flow steps was not working as documented. (#3043)
|
|
20
|
-
* We fixed a bug where the ``Run Task`` and ``Run Task Class`` robot keywords throw an error like ``AttributeError: module 'robot.api.logger' has no attribute 'log'`` in rare cases (#3053)
|
|
21
|
-
* Fixed a bug in the `snowfakery` task which caused Unique IDs to not always be actually unique. (#3059)
|
|
22
|
-
|
|
23
|
-
|
|
24
5
|
3.51.1 (2022-01-25)
|
|
25
|
-
-------------------
|
|
26
6
|
|
|
27
7
|
Issues Closed
|
|
28
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cumulusci
|
|
3
|
-
Version: 3.52.0
|
|
3
|
+
Version: 3.52.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
|
|
@@ -57,7 +57,9 @@ Description: =========
|
|
|
57
57
|
Questions?
|
|
58
58
|
----------
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
Salesforce.org (http://salesforce.org/) customers and partners can ask in the `CumulusCI group in the Power of Us Hub <https://powerofus.force.com/s/group/0F980000000PSRHCA4/cumulusci-cci>`_.
|
|
61
|
+
|
|
62
|
+
Others can ask in the `CumulusCI group in the Trailblazer Community <https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F9300000009M9ZCAU>`_.
|
|
61
63
|
|
|
62
64
|
*Please note:* CumulusCI is distributed under an `open source license <https://github.com/SFDO-Tooling/CumulusCI/blob/main/LICENSE>`_ and is not covered by the Salesforce Master Subscription Agreement.
|
|
63
65
|
|
|
@@ -66,27 +68,7 @@ Description: =========
|
|
|
66
68
|
History
|
|
67
69
|
=======
|
|
68
70
|
|
|
69
|
-
3.52.0 (2022-02-03)
|
|
70
|
-
-------------------
|
|
71
|
-
|
|
72
|
-
Changes
|
|
73
|
-
|
|
74
|
-
* Flow steps can now be replaced with the same syntax for all step types! (Current step types are: 'task' or 'flow'). See the [replacing a flow step](https://cumulusci.readthedocs.io/en/latest/config.html?highlight=override#replace-a-flow-step) docs for more details. CumulusCI is still compatible with the old syntax which required setting the current step type to ``None`` when replacing with a step of a differing type. (#3043)
|
|
75
|
-
* Whenever possible, while running the ``robot_libdoc`` task libdoc generates relative pathnames when creating CSV output (#3058)
|
|
76
|
-
* Added a new option ``--preview`` to the ``robot_libdoc`` task. When set to ``true`` it automatically opens a browser window to the generated documentation. (#3057)
|
|
77
|
-
* The robot keyword ``Locate element by label`` has been removed from the Salesforce.py library. This wasn't designed to be a keyword but was accidentally exported as one. If you want to find an input or textarea element by its label you can use a locator of the form ``label:<text>`` (eg: ``label:First Name``) (#3048)
|
|
78
|
-
* Updated to `Snowfakery 2.5.0 <https://github.com/SFDO-Tooling/Snowfakery/releases/tag/v2.5.0>`__
|
|
79
|
-
* If you have Python code that is importing CumulusCI's config classes, some of them have been reorganized into modules with a snake_case name. The old CamelCase imports should still work, but the new names are preferred for consistency with other parts of the codebase.
|
|
80
|
-
|
|
81
|
-
Issues Closed
|
|
82
|
-
|
|
83
|
-
* Fixed an issue where overriding flow steps was not working as documented. (#3043)
|
|
84
|
-
* We fixed a bug where the ``Run Task`` and ``Run Task Class`` robot keywords throw an error like ``AttributeError: module 'robot.api.logger' has no attribute 'log'`` in rare cases (#3053)
|
|
85
|
-
* Fixed a bug in the `snowfakery` task which caused Unique IDs to not always be actually unique. (#3059)
|
|
86
|
-
|
|
87
|
-
|
|
88
71
|
3.51.1 (2022-01-25)
|
|
89
|
-
-------------------
|
|
90
72
|
|
|
91
73
|
Issues Closed
|
|
92
74
|
|
|
@@ -49,6 +49,8 @@ from minute 36 through minute 54.
|
|
|
49
49
|
Questions?
|
|
50
50
|
----------
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
Salesforce.org (http://salesforce.org/) customers and partners can ask in the `CumulusCI group in the Power of Us Hub <https://powerofus.force.com/s/group/0F980000000PSRHCA4/cumulusci-cci>`_.
|
|
53
|
+
|
|
54
|
+
Others can ask in the `CumulusCI group in the Trailblazer Community <https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F9300000009M9ZCAU>`_.
|
|
53
55
|
|
|
54
56
|
*Please note:* CumulusCI is distributed under an `open source license <https://github.com/SFDO-Tooling/CumulusCI/blob/main/LICENSE>`_ and is not covered by the Salesforce Master Subscription Agreement.
|
|
@@ -227,13 +227,6 @@ class CumulusCI(object):
|
|
|
227
227
|
# robot logger can handle that.
|
|
228
228
|
if not hasattr(robot.api.logger, "warning"):
|
|
229
229
|
robot.api.logger.warning = robot.api.logger.warn
|
|
230
|
-
|
|
231
|
-
# robot's logger doesn't have the 'log' method, and there's at least one
|
|
232
|
-
# piece of code that depends on this method. So, if we haven't already
|
|
233
|
-
# monkeypatched it in, do so now. See W-10503175
|
|
234
|
-
if not hasattr(robot.api.logger, "log"):
|
|
235
|
-
robot.api.logger.log = _logger_log
|
|
236
|
-
|
|
237
230
|
task = task_class(
|
|
238
231
|
task_config.project_config or self.project_config,
|
|
239
232
|
task_config,
|
|
@@ -268,22 +261,3 @@ class CumulusCI(object):
|
|
|
268
261
|
def debug(self):
|
|
269
262
|
"""Pauses execution and enters the Python debugger."""
|
|
270
263
|
set_pdb_trace()
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
def _logger_log(level, msg):
|
|
274
|
-
"""Implements the 'log' method for robot.api.logger
|
|
275
|
-
|
|
276
|
-
This takes a normal python log level, converts it to one of
|
|
277
|
-
the supported robot log levels, then calls the write method
|
|
278
|
-
of the logger.
|
|
279
|
-
"""
|
|
280
|
-
level = (
|
|
281
|
-
"ERROR"
|
|
282
|
-
if level >= logging.ERROR
|
|
283
|
-
else "WARN"
|
|
284
|
-
if level >= logging.WARN
|
|
285
|
-
else "INFO"
|
|
286
|
-
if level >= logging.INFO
|
|
287
|
-
else "DEBUG"
|
|
288
|
-
)
|
|
289
|
-
robot.api.logger.write(msg, level)
|
{cumulusci-3.52.0 → cumulusci-3.52.0.dev0}/cumulusci/robotframework/tests/test_cumulusci_library.py
RENAMED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import logging
|
|
2
1
|
import unittest
|
|
3
2
|
from pathlib import Path
|
|
4
3
|
from unittest import mock
|
|
@@ -70,49 +69,6 @@ class TestCumulusCILibrary(MockLoggerMixin, unittest.TestCase):
|
|
|
70
69
|
task.logger, "warning"
|
|
71
70
|
), "robot logger should have a warning method but doesn't"
|
|
72
71
|
|
|
73
|
-
def test_robot_logger_supports_log(self):
|
|
74
|
-
"""Verify that 'run task' uses a logger that supports .log()
|
|
75
|
-
|
|
76
|
-
log() normally will be passed a predefined log level (eg:
|
|
77
|
-
logging.INFO, logging.DEBUG, etc), but it can take any integer
|
|
78
|
-
which get mapped to a robot log level as a string. This attempts
|
|
79
|
-
to catch all of the various mappings.
|
|
80
|
-
"""
|
|
81
|
-
with mock.patch.object(self.cumulusci, "_run_task"):
|
|
82
|
-
self.cumulusci.run_task("get_pwd")
|
|
83
|
-
args, kwargs = self.cumulusci._run_task.call_args
|
|
84
|
-
task = args[0]
|
|
85
|
-
with mock.patch.object(task.logger, "write") as logger_write:
|
|
86
|
-
|
|
87
|
-
task.logger.log(logging.CRITICAL, "a critical message")
|
|
88
|
-
task.logger.log(logging.ERROR, "an error message")
|
|
89
|
-
task.logger.log(logging.WARN, "a warning message")
|
|
90
|
-
task.logger.log(logging.INFO, "an info message")
|
|
91
|
-
task.logger.log(logging.DEBUG, "a debug message")
|
|
92
|
-
|
|
93
|
-
task.logger.log(0, "a message with level 0")
|
|
94
|
-
task.logger.log(1, "a message with level 1")
|
|
95
|
-
task.logger.log(11, "a message with level 11")
|
|
96
|
-
task.logger.log(21, "a message with level 21")
|
|
97
|
-
task.logger.log(31, "a message with level 31")
|
|
98
|
-
task.logger.log(41, "a message with level 41")
|
|
99
|
-
|
|
100
|
-
logger_write.assert_has_calls(
|
|
101
|
-
(
|
|
102
|
-
mock.call("a critical message", "ERROR"),
|
|
103
|
-
mock.call("an error message", "ERROR"),
|
|
104
|
-
mock.call("a warning message", "WARN"),
|
|
105
|
-
mock.call("an info message", "INFO"),
|
|
106
|
-
mock.call("a debug message", "DEBUG"),
|
|
107
|
-
mock.call("a message with level 0", "DEBUG"),
|
|
108
|
-
mock.call("a message with level 1", "DEBUG"),
|
|
109
|
-
mock.call("a message with level 11", "DEBUG"),
|
|
110
|
-
mock.call("a message with level 21", "INFO"),
|
|
111
|
-
mock.call("a message with level 31", "WARN"),
|
|
112
|
-
mock.call("a message with level 41", "ERROR"),
|
|
113
|
-
)
|
|
114
|
-
)
|
|
115
|
-
|
|
116
72
|
def test_run_task_class_robot_logger(self):
|
|
117
73
|
"""Verify that 'run task class' uses the robot logger"""
|
|
118
74
|
with mock.patch.object(self.cumulusci, "_run_task"):
|
|
@@ -22,10 +22,6 @@ class SnowfakeryWorkingDirectory:
|
|
|
22
22
|
metadata.reflect()
|
|
23
23
|
return engine, metadata
|
|
24
24
|
|
|
25
|
-
@property
|
|
26
|
-
def index(self) -> str:
|
|
27
|
-
return self.path.name.rsplit("_")[0]
|
|
28
|
-
|
|
29
25
|
def get_record_counts(self):
|
|
30
26
|
"""Get record counts generated for this portion."""
|
|
31
27
|
engine, metadata = self.setup_engine()
|
|
@@ -29,15 +29,6 @@ class SubtaskConfigurator:
|
|
|
29
29
|
parts = name.rsplit("_", 1)
|
|
30
30
|
batch_size = int(parts[-1])
|
|
31
31
|
|
|
32
|
-
# The pid is the tool that ensures that every uniqueid is
|
|
33
|
-
# unique even across different processes.
|
|
34
|
-
#
|
|
35
|
-
# big_ids ensures that the pid is incorporated into the ids.
|
|
36
|
-
plugin_options = {
|
|
37
|
-
"pid": str(wd.index),
|
|
38
|
-
"big_ids": "True",
|
|
39
|
-
}
|
|
40
|
-
|
|
41
32
|
return {
|
|
42
33
|
"generator_yaml": str(self.recipe),
|
|
43
34
|
"database_url": wd.database_url,
|
|
@@ -46,7 +37,6 @@ class SubtaskConfigurator:
|
|
|
46
37
|
"continuation_file": wd.continuation_file,
|
|
47
38
|
"num_records_tablename": self.run_until.sobject_name or COUNT_REPS,
|
|
48
39
|
"vars": recipe_options,
|
|
49
|
-
"plugin_options": plugin_options,
|
|
50
40
|
}
|
|
51
41
|
|
|
52
42
|
def data_loader_opts(self, working_dir: Path):
|
|
@@ -3,7 +3,6 @@ import os
|
|
|
3
3
|
import os.path
|
|
4
4
|
import re
|
|
5
5
|
import time
|
|
6
|
-
from pathlib import Path
|
|
7
6
|
|
|
8
7
|
import jinja2
|
|
9
8
|
import robot.utils
|
|
@@ -15,9 +14,8 @@ from robot.utils import Importer
|
|
|
15
14
|
import cumulusci
|
|
16
15
|
from cumulusci.core.exceptions import TaskOptionsError
|
|
17
16
|
from cumulusci.core.tasks import BaseTask
|
|
18
|
-
from cumulusci.core.utils import
|
|
17
|
+
from cumulusci.core.utils import process_glob_list_arg
|
|
19
18
|
from cumulusci.robotframework import PageObjects
|
|
20
|
-
from cumulusci.utils.fileutils import view_file
|
|
21
19
|
|
|
22
20
|
|
|
23
21
|
class RobotLibDoc(BaseTask):
|
|
@@ -46,13 +44,6 @@ class RobotLibDoc(BaseTask):
|
|
|
46
44
|
"description": "A string to use as the title of the generated output",
|
|
47
45
|
"required": False,
|
|
48
46
|
},
|
|
49
|
-
"preview": {
|
|
50
|
-
"description": (
|
|
51
|
-
"If True, automatically open a window to view the "
|
|
52
|
-
"generated data when the task is successful"
|
|
53
|
-
),
|
|
54
|
-
"required": False,
|
|
55
|
-
},
|
|
56
47
|
}
|
|
57
48
|
|
|
58
49
|
def _validate_options(self):
|
|
@@ -81,8 +72,6 @@ class RobotLibDoc(BaseTask):
|
|
|
81
72
|
)
|
|
82
73
|
raise TaskOptionsError(error_message)
|
|
83
74
|
|
|
84
|
-
self.options["preview"] = process_bool_arg(self.options.get("preview", False))
|
|
85
|
-
|
|
86
75
|
def is_pageobject_library(self, path):
|
|
87
76
|
"""Return True if the file looks like a page object library"""
|
|
88
77
|
if path.endswith(".py"):
|
|
@@ -143,9 +132,6 @@ class RobotLibDoc(BaseTask):
|
|
|
143
132
|
f.write(html)
|
|
144
133
|
self.logger.info("created {}".format(self.options["output"]))
|
|
145
134
|
|
|
146
|
-
if self.options["preview"]:
|
|
147
|
-
view_file(self.options["output"])
|
|
148
|
-
|
|
149
135
|
except Exception as e:
|
|
150
136
|
raise TaskOptionsError(
|
|
151
137
|
"Unable to create output file '{}' ({})".format(
|
|
@@ -221,10 +207,8 @@ class KeywordFile:
|
|
|
221
207
|
self.keywords[page_object] = libdoc
|
|
222
208
|
|
|
223
209
|
def to_tuples(self):
|
|
224
|
-
"""Convert the dictionary of keyword data to
|
|
210
|
+
"""Convert the dictionary of keyword data to tuple of tuples"""
|
|
225
211
|
rows = []
|
|
226
|
-
cwd = Path.cwd()
|
|
227
|
-
|
|
228
212
|
for po, libdoc in self.keywords.items():
|
|
229
213
|
(po_type, po_object) = po if po else ("", "")
|
|
230
214
|
for keyword in libdoc.keywords:
|
|
@@ -234,19 +218,11 @@ class KeywordFile:
|
|
|
234
218
|
if "cumulusci/robotframework/pageobjects" in keyword.source:
|
|
235
219
|
continue
|
|
236
220
|
|
|
237
|
-
path = keyword.source
|
|
238
|
-
if path.startswith("/"):
|
|
239
|
-
try:
|
|
240
|
-
path = str(Path(path).relative_to(cwd))
|
|
241
|
-
except ValueError:
|
|
242
|
-
# ok, fine. We'll use the path as-is.
|
|
243
|
-
pass
|
|
244
|
-
|
|
245
221
|
# make sure that if you change the list of columns here
|
|
246
222
|
# that you modify the `get_header` property too!
|
|
247
223
|
row = (
|
|
248
224
|
keyword.name,
|
|
249
|
-
|
|
225
|
+
keyword.source,
|
|
250
226
|
keyword.lineno,
|
|
251
227
|
po_type,
|
|
252
228
|
po_object,
|
|
@@ -12,7 +12,6 @@ from xml.etree import ElementTree as ET
|
|
|
12
12
|
|
|
13
13
|
import pytest
|
|
14
14
|
import responses
|
|
15
|
-
from robot.libdocpkg.robotbuilder import LibraryDocBuilder
|
|
16
15
|
|
|
17
16
|
from cumulusci.core.config import BaseProjectConfig, TaskConfig, UniversalConfig
|
|
18
17
|
from cumulusci.core.exceptions import RobotTestFailure, TaskOptionsError
|
|
@@ -484,7 +483,7 @@ class TestRobotLibDoc(MockLoggerMixin, unittest.TestCase):
|
|
|
484
483
|
["Name", "Source", "Line#", "po type", "po_object", "Documentation"],
|
|
485
484
|
[
|
|
486
485
|
"Keyword One",
|
|
487
|
-
"
|
|
486
|
+
f"{self.datadir}/TestPageObjects.py",
|
|
488
487
|
"13",
|
|
489
488
|
"Listing",
|
|
490
489
|
"Something__c",
|
|
@@ -492,7 +491,7 @@ class TestRobotLibDoc(MockLoggerMixin, unittest.TestCase):
|
|
|
492
491
|
],
|
|
493
492
|
[
|
|
494
493
|
"Keyword One",
|
|
495
|
-
"
|
|
494
|
+
f"{self.datadir}/TestPageObjects.py",
|
|
496
495
|
"24",
|
|
497
496
|
"Detail",
|
|
498
497
|
"Something__c",
|
|
@@ -500,7 +499,7 @@ class TestRobotLibDoc(MockLoggerMixin, unittest.TestCase):
|
|
|
500
499
|
],
|
|
501
500
|
[
|
|
502
501
|
"Keyword Three",
|
|
503
|
-
"
|
|
502
|
+
f"{self.datadir}/TestPageObjects.py",
|
|
504
503
|
"30",
|
|
505
504
|
"Detail",
|
|
506
505
|
"Something__c",
|
|
@@ -508,7 +507,7 @@ class TestRobotLibDoc(MockLoggerMixin, unittest.TestCase):
|
|
|
508
507
|
],
|
|
509
508
|
[
|
|
510
509
|
"Keyword Two",
|
|
511
|
-
"
|
|
510
|
+
f"{self.datadir}/TestPageObjects.py",
|
|
512
511
|
"16",
|
|
513
512
|
"Listing",
|
|
514
513
|
"Something__c",
|
|
@@ -516,7 +515,7 @@ class TestRobotLibDoc(MockLoggerMixin, unittest.TestCase):
|
|
|
516
515
|
],
|
|
517
516
|
[
|
|
518
517
|
"Keyword Two",
|
|
519
|
-
"
|
|
518
|
+
f"{self.datadir}/TestPageObjects.py",
|
|
520
519
|
"27",
|
|
521
520
|
"Detail",
|
|
522
521
|
"Something__c",
|
|
@@ -524,7 +523,7 @@ class TestRobotLibDoc(MockLoggerMixin, unittest.TestCase):
|
|
|
524
523
|
],
|
|
525
524
|
[
|
|
526
525
|
"Library Keyword One",
|
|
527
|
-
"
|
|
526
|
+
f"{self.datadir}/TestLibrary.py",
|
|
528
527
|
"13",
|
|
529
528
|
"",
|
|
530
529
|
"",
|
|
@@ -532,7 +531,7 @@ class TestRobotLibDoc(MockLoggerMixin, unittest.TestCase):
|
|
|
532
531
|
],
|
|
533
532
|
[
|
|
534
533
|
"Library Keyword Two",
|
|
535
|
-
"
|
|
534
|
+
f"{self.datadir}/TestLibrary.py",
|
|
536
535
|
"17",
|
|
537
536
|
"",
|
|
538
537
|
"",
|
|
@@ -540,7 +539,7 @@ class TestRobotLibDoc(MockLoggerMixin, unittest.TestCase):
|
|
|
540
539
|
],
|
|
541
540
|
[
|
|
542
541
|
"Resource keyword one",
|
|
543
|
-
"
|
|
542
|
+
f"{self.datadir}/TestResource.robot",
|
|
544
543
|
"2",
|
|
545
544
|
"",
|
|
546
545
|
"",
|
|
@@ -548,7 +547,7 @@ class TestRobotLibDoc(MockLoggerMixin, unittest.TestCase):
|
|
|
548
547
|
],
|
|
549
548
|
[
|
|
550
549
|
"Resource keyword two",
|
|
551
|
-
"
|
|
550
|
+
f"{self.datadir}/TestResource.robot",
|
|
552
551
|
"6",
|
|
553
552
|
"",
|
|
554
553
|
"",
|
|
@@ -558,17 +557,6 @@ class TestRobotLibDoc(MockLoggerMixin, unittest.TestCase):
|
|
|
558
557
|
|
|
559
558
|
self.assertListEqual(actual_output, expected_output)
|
|
560
559
|
|
|
561
|
-
@mock.patch("cumulusci.tasks.robotframework.libdoc.view_file")
|
|
562
|
-
def test_preview_option(self, mock_view_file):
|
|
563
|
-
"""Verify that the 'preview' option results in calling the view_file method"""
|
|
564
|
-
path = os.path.join(self.datadir, "TestLibrary.py")
|
|
565
|
-
output = os.path.join(self.tmpdir, "index.html")
|
|
566
|
-
task = create_task(
|
|
567
|
-
RobotLibDoc, {"path": path, "output": output, "preview": True}
|
|
568
|
-
)
|
|
569
|
-
task()
|
|
570
|
-
mock_view_file.assert_called_once_with(output)
|
|
571
|
-
|
|
572
560
|
|
|
573
561
|
class TestRobotLibDocKeywordFile(unittest.TestCase):
|
|
574
562
|
def setUp(self):
|
|
@@ -597,34 +585,6 @@ class TestRobotLibDocKeywordFile(unittest.TestCase):
|
|
|
597
585
|
assert len(kwfile.keywords) == 1
|
|
598
586
|
assert kwfile.keywords[("Detail", "Contact")] == "the documentation..."
|
|
599
587
|
|
|
600
|
-
def test_to_tuples(self):
|
|
601
|
-
"""Test that to_tuples returns relative paths when possible
|
|
602
|
-
|
|
603
|
-
The code attempts to convert absolute paths to relative paths,
|
|
604
|
-
but if it can't then the path remains unchainged. This test generates
|
|
605
|
-
results with one file that is relative to cwd and one that is not.
|
|
606
|
-
"""
|
|
607
|
-
|
|
608
|
-
here = os.path.dirname(__file__)
|
|
609
|
-
path = Path(here) / "TestLibrary.py"
|
|
610
|
-
libdoc = LibraryDocBuilder().build(str(path))
|
|
611
|
-
|
|
612
|
-
# we'll set the first to a non-relative directory and leave
|
|
613
|
-
# the other one relative to here (assuming that `here` is
|
|
614
|
-
# relative to cwd)
|
|
615
|
-
libdoc.keywords[0].source = "/bogus/whatever.py"
|
|
616
|
-
|
|
617
|
-
# The returned result is a set, so the order is indeterminate. That's
|
|
618
|
-
# why the following line sorts it.
|
|
619
|
-
kwfile = KeywordFile("Whatever")
|
|
620
|
-
kwfile.add_keywords(libdoc)
|
|
621
|
-
rows = sorted(kwfile.to_tuples())
|
|
622
|
-
|
|
623
|
-
# verify the absolute path remains absolute
|
|
624
|
-
assert rows[0][1] == "/bogus/whatever.py"
|
|
625
|
-
# verify that the path to a file under cwd is relative
|
|
626
|
-
assert rows[1][1] == str(path.relative_to(os.getcwd()))
|
|
627
|
-
|
|
628
588
|
|
|
629
589
|
class TestRobotLibDocOutput(unittest.TestCase):
|
|
630
590
|
"""Tests for the generated robot keyword documentation"""
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import os
|
|
2
|
-
import urllib.request
|
|
3
|
-
import webbrowser
|
|
4
2
|
from contextlib import contextmanager
|
|
5
3
|
from io import StringIO, TextIOWrapper
|
|
6
4
|
from pathlib import Path
|
|
@@ -102,18 +100,6 @@ def proxy(funcname):
|
|
|
102
100
|
return func
|
|
103
101
|
|
|
104
102
|
|
|
105
|
-
def view_file(path):
|
|
106
|
-
"""Open the given file in a webbrowser or whatever
|
|
107
|
-
|
|
108
|
-
This uses webbrowser.open which might open the file in something other
|
|
109
|
-
than a web browser (eg: a spreadsheet app if you open a .csv file)
|
|
110
|
-
"""
|
|
111
|
-
if not isinstance(path, Path):
|
|
112
|
-
path = Path(path)
|
|
113
|
-
url = f"file://{urllib.request.pathname2url(str(path.resolve()))}"
|
|
114
|
-
webbrowser.open(url)
|
|
115
|
-
|
|
116
|
-
|
|
117
103
|
class FSResource:
|
|
118
104
|
"""Generalization of pathlib.Path to support S3, FTP, etc
|
|
119
105
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import doctest
|
|
2
2
|
import os
|
|
3
3
|
import sys
|
|
4
|
-
import urllib.request
|
|
5
4
|
from io import BytesIO, UnsupportedOperation
|
|
6
5
|
from pathlib import Path
|
|
7
6
|
from tempfile import TemporaryDirectory
|
|
@@ -13,12 +12,7 @@ from fs import errors, open_fs
|
|
|
13
12
|
|
|
14
13
|
import cumulusci
|
|
15
14
|
from cumulusci.utils import fileutils, temporary_dir
|
|
16
|
-
from cumulusci.utils.fileutils import
|
|
17
|
-
FSResource,
|
|
18
|
-
load_from_source,
|
|
19
|
-
open_fs_resource,
|
|
20
|
-
view_file,
|
|
21
|
-
)
|
|
15
|
+
from cumulusci.utils.fileutils import FSResource, load_from_source, open_fs_resource
|
|
22
16
|
|
|
23
17
|
|
|
24
18
|
class TestFileutils:
|
|
@@ -80,22 +74,6 @@ class TestFileutils:
|
|
|
80
74
|
with load_from_source(p2) as (data, filename):
|
|
81
75
|
assert "tasks:" in data.read()
|
|
82
76
|
|
|
83
|
-
def test_view_file_str_path(self):
|
|
84
|
-
"""Verify view_file works when given a path as a string"""
|
|
85
|
-
with mock.patch("webbrowser.open") as webbrowser_open:
|
|
86
|
-
path = "robot/results/index.html"
|
|
87
|
-
view_file(path)
|
|
88
|
-
url = f"file://{urllib.request.pathname2url(str(Path(path).resolve()))}"
|
|
89
|
-
webbrowser_open.assert_called_once_with(url)
|
|
90
|
-
|
|
91
|
-
def test_view_file_Path(self):
|
|
92
|
-
"""Verify view_file works when given a path as a Path object"""
|
|
93
|
-
with mock.patch("webbrowser.open") as webbrowser_open:
|
|
94
|
-
path = Path("robot/results/index.html")
|
|
95
|
-
view_file(path)
|
|
96
|
-
url = f"file://{urllib.request.pathname2url(str(path.resolve()))}"
|
|
97
|
-
webbrowser_open.assert_called_once_with(url)
|
|
98
|
-
|
|
99
77
|
|
|
100
78
|
class _TestFSResourceShared:
|
|
101
79
|
file = Path(__file__)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.52.0.dev0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cumulusci
|
|
3
|
-
Version: 3.52.0
|
|
3
|
+
Version: 3.52.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
|
|
@@ -57,7 +57,9 @@ Description: =========
|
|
|
57
57
|
Questions?
|
|
58
58
|
----------
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
Salesforce.org (http://salesforce.org/) customers and partners can ask in the `CumulusCI group in the Power of Us Hub <https://powerofus.force.com/s/group/0F980000000PSRHCA4/cumulusci-cci>`_.
|
|
61
|
+
|
|
62
|
+
Others can ask in the `CumulusCI group in the Trailblazer Community <https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F9300000009M9ZCAU>`_.
|
|
61
63
|
|
|
62
64
|
*Please note:* CumulusCI is distributed under an `open source license <https://github.com/SFDO-Tooling/CumulusCI/blob/main/LICENSE>`_ and is not covered by the Salesforce Master Subscription Agreement.
|
|
63
65
|
|
|
@@ -66,27 +68,7 @@ Description: =========
|
|
|
66
68
|
History
|
|
67
69
|
=======
|
|
68
70
|
|
|
69
|
-
3.52.0 (2022-02-03)
|
|
70
|
-
-------------------
|
|
71
|
-
|
|
72
|
-
Changes
|
|
73
|
-
|
|
74
|
-
* Flow steps can now be replaced with the same syntax for all step types! (Current step types are: 'task' or 'flow'). See the [replacing a flow step](https://cumulusci.readthedocs.io/en/latest/config.html?highlight=override#replace-a-flow-step) docs for more details. CumulusCI is still compatible with the old syntax which required setting the current step type to ``None`` when replacing with a step of a differing type. (#3043)
|
|
75
|
-
* Whenever possible, while running the ``robot_libdoc`` task libdoc generates relative pathnames when creating CSV output (#3058)
|
|
76
|
-
* Added a new option ``--preview`` to the ``robot_libdoc`` task. When set to ``true`` it automatically opens a browser window to the generated documentation. (#3057)
|
|
77
|
-
* The robot keyword ``Locate element by label`` has been removed from the Salesforce.py library. This wasn't designed to be a keyword but was accidentally exported as one. If you want to find an input or textarea element by its label you can use a locator of the form ``label:<text>`` (eg: ``label:First Name``) (#3048)
|
|
78
|
-
* Updated to `Snowfakery 2.5.0 <https://github.com/SFDO-Tooling/Snowfakery/releases/tag/v2.5.0>`__
|
|
79
|
-
* If you have Python code that is importing CumulusCI's config classes, some of them have been reorganized into modules with a snake_case name. The old CamelCase imports should still work, but the new names are preferred for consistency with other parts of the codebase.
|
|
80
|
-
|
|
81
|
-
Issues Closed
|
|
82
|
-
|
|
83
|
-
* Fixed an issue where overriding flow steps was not working as documented. (#3043)
|
|
84
|
-
* We fixed a bug where the ``Run Task`` and ``Run Task Class`` robot keywords throw an error like ``AttributeError: module 'robot.api.logger' has no attribute 'log'`` in rare cases (#3053)
|
|
85
|
-
* Fixed a bug in the `snowfakery` task which caused Unique IDs to not always be actually unique. (#3059)
|
|
86
|
-
|
|
87
|
-
|
|
88
71
|
3.51.1 (2022-01-25)
|
|
89
|
-
-------------------
|
|
90
72
|
|
|
91
73
|
Issues Closed
|
|
92
74
|
|
|
@@ -2,14 +2,14 @@ appdirs==1.4.4
|
|
|
2
2
|
authlib==0.15.5
|
|
3
3
|
certifi==2021.10.8
|
|
4
4
|
cffi==1.15.0
|
|
5
|
-
charset-normalizer==2.0.
|
|
6
|
-
click==
|
|
5
|
+
charset-normalizer==2.0.10
|
|
6
|
+
click==7.1.2
|
|
7
7
|
colorama==0.4.4
|
|
8
8
|
commonmark==0.9.1
|
|
9
9
|
cryptography==36.0.1
|
|
10
10
|
deprecated==1.2.13
|
|
11
11
|
docutils==0.16
|
|
12
|
-
faker==
|
|
12
|
+
faker==11.1.0
|
|
13
13
|
fs==2.4.14
|
|
14
14
|
github3.py==3.0.0
|
|
15
15
|
greenlet==1.1.2
|
|
@@ -30,9 +30,9 @@ python-baseconv==1.2.2
|
|
|
30
30
|
python-dateutil==2.8.2
|
|
31
31
|
pytz==2021.3
|
|
32
32
|
pyyaml==6.0
|
|
33
|
-
requests==2.27.
|
|
33
|
+
requests==2.27.0
|
|
34
34
|
requests-futures==1.0.0
|
|
35
|
-
rich==11.
|
|
35
|
+
rich==11.0.0
|
|
36
36
|
robotframework==4.1.3
|
|
37
37
|
robotframework-lint==1.1
|
|
38
38
|
robotframework-pabot==2.1.0
|
|
@@ -46,12 +46,13 @@ sarge==0.1.7.post1
|
|
|
46
46
|
selenium==3.141.0
|
|
47
47
|
simple-salesforce==1.11.4
|
|
48
48
|
six==1.16.0
|
|
49
|
-
snowfakery==2.
|
|
50
|
-
sqlalchemy==1.4.
|
|
49
|
+
snowfakery==2.4.0
|
|
50
|
+
sqlalchemy==1.4.29
|
|
51
|
+
text-unidecode==1.3
|
|
51
52
|
typing-extensions==4.0.1
|
|
52
53
|
unicodecsv==0.14.1
|
|
53
54
|
uritemplate==4.1.1
|
|
54
|
-
urllib3==1.26.
|
|
55
|
+
urllib3==1.26.7
|
|
55
56
|
wrapt==1.13.3
|
|
56
57
|
xmltodict==0.12.0
|
|
57
58
|
zipp==3.7.0
|
|
@@ -216,10 +216,12 @@ a plan named 'config'.
|
|
|
216
216
|
──────────────────────────────────────────────────────────────────────────────
|
|
217
217
|
Title Express Setup Configuration Plan
|
|
218
218
|
Preflight This will install metadata configurations into your org.
|
|
219
|
-
Post-install Thanks for installing Advisor Link. Visit the
|
|
220
|
-
|
|
219
|
+
Post-install Thanks for installing Advisor Link. Visit the [Advisor Link
|
|
220
|
+
topic](https://powerofus.force.com/s/topic/0TO80000000VXyzGA…
|
|
221
|
+
on the Power of Us Hub for any questions about Advisor Link.
|
|
221
222
|
Error If you experience an issue with the installation, please post
|
|
222
|
-
in the
|
|
223
|
+
in the [Power of Us
|
|
224
|
+
Hub](https://powerofus.force.com/s/topic/0TO80000000VXyzGAG/…
|
|
223
225
|
|
|
224
226
|
Plan Preflights
|
|
225
227
|
|