cumulusci-plus 5.0.25__tar.gz → 5.0.27__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.
Potentially problematic release.
This version of cumulusci-plus might be problematic. Click here for more details.
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/PKG-INFO +6 -9
- cumulusci_plus-5.0.27/cumulusci/__about__.py +1 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_error.py +3 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/flowrunner.py +2 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/github.py +1 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/sfdx.py +3 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_flowrunner.py +100 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cumulusci.yml +8 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/ObjectManagerPageObject.py +1 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/rest_deploy.py +1 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/anon.py +1 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/testrunner.py +6 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract.py +0 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_load.py +0 -2
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_select_utils.py +6 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/base.py +7 -3
- cumulusci_plus-5.0.27/cumulusci/tasks/push/README.md +57 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/README.md +13 -13
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/test_robotframework.py +1 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/Deploy.py +5 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/composite.py +1 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/custom_settings_wait.py +1 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/enable_prediction.py +5 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/sourcetracking.py +1 -1
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/update_profile.py +17 -13
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/permsets.py +16 -9
- cumulusci_plus-5.0.27/cumulusci/tasks/utility/credentialManager.py +256 -0
- cumulusci_plus-5.0.27/cumulusci/tasks/utility/directoryRecreator.py +30 -0
- cumulusci_plus-5.0.27/cumulusci/tasks/utility/secretsToEnv.py +132 -0
- cumulusci_plus-5.0.27/cumulusci/tasks/utility/tests/test_credentialManager.py +564 -0
- cumulusci_plus-5.0.27/cumulusci/tasks/utility/tests/test_directoryRecreator.py +439 -0
- cumulusci_plus-5.0.27/cumulusci/tasks/utility/tests/test_secretsToEnv.py +1091 -0
- cumulusci_plus-5.0.27/cumulusci/utils/http/tests/cassettes/ManualEditTestCompositeParallelSalesforce.test_http_headers.yaml +33 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/tests/test_model_parser.py +2 -2
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/docs/history.md +27 -2
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/pyproject.toml +1 -0
- cumulusci_plus-5.0.25/cumulusci/__about__.py +0 -1
- cumulusci_plus-5.0.25/cumulusci/tasks/push/README.md +0 -59
- cumulusci_plus-5.0.25/cumulusci/utils/http/tests/cassettes/ManualEditTestCompositeParallelSalesforce.test_http_headers.yaml +0 -32
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/.gitignore +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/AUTHORS.rst +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/LICENSE +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/README.md +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/__main__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/cci.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/error.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/flow.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/logger.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/org.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/plan.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/project.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/robot.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/runtime.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/service.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/task.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_cci.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_flow.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_logger.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_org.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_plan.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_project.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_robot.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_runtime.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_service.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_task.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_ui.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/ui.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/conftest.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/BaseConfig.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/BaseTaskFlowConfig.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/OrgConfig.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/ScratchOrgConfig.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/base_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/base_task_flow_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/marketing_cloud_service_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/oauth2_service_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/org_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/project_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/scratch_org_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/sfdx_org_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/tests/_test_config_backwards_compatibility.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/tests/test_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/tests/test_config_expensive.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/tests/test_config_util.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/universal_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/util.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/datasets.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/debug.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/base.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/dependencies.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/github.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/github_resolvers.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/resolvers.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/tests/conftest.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/tests/test_dependencies.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/tests/test_github.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/tests/test_resolvers.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/enums.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/exceptions.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/base_project_keychain.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/encrypted_file_project_keychain.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/environment_project_keychain.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/serialization.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/subprocess_keychain.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/tests/conftest.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/tests/test_base_project_keychain.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/tests/test_encrypted_file_project_keychain.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/metadeploy/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/metadeploy/api.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/metadeploy/plans.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/metadeploy/tests/test_api.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/runtime.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source/github.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source/local_folder.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source_transforms/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source_transforms/tests/test_transforms.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source_transforms/transforms.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tasks.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/template_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/cassettes/TestDatasetsE2E.test_datasets_e2e.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/cassettes/TestDatasetsE2E.test_datasets_extract_standard_objects.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/cassettes/TestDatasetsE2E.test_datasets_read_explicit_extract_declaration.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/fake_remote_repo/cumulusci.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/fake_remote_repo/tasks/directory/example_2.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/fake_remote_repo/tasks/example.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/fake_remote_repo_2/cumulusci.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/fake_remote_repo_2/tasks/example_3.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_datasets_e2e.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_exceptions.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_github.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_sfdx.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_source.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_tasks.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_utils_merge_config.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_versions.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/untrusted_repo_child/cumulusci.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/untrusted_repo_child/tasks/untrusted_child.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/untrusted_repo_parent/cumulusci.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/untrusted_repo_parent/tasks/untrusted_parent.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/yaml/global.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/versions.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/admin_profile.xml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/delete_excludes.txt +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/templates/project/README.md +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/templates/project/cumulusci.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/templates/project/dot-gitignore +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/templates/project/mapping.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/templates/project/scratch_def.json +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/client.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/exceptions.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/salesforce.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/tests/cassettes/test_get_device_code.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/tests/cassettes/test_get_device_oauth_token.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/tests/test_client.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/tests/test_salesforce.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/plugins/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/plugins/plugin_base.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/plugins/plugin_loader.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/CumulusCI.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/CumulusCI.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/Performance.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/Salesforce.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/Salesforce.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/SalesforceAPI.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/SalesforcePlaywright.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/SalesforcePlaywright.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/base_library.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/faker_mixin.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/form_handlers.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/javascript/cci_init.js +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/javascript/cumulusci.js +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/locator_manager.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/locators_56.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/locators_57.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/BasePageObjects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/PageObjectLibrary.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/PageObjects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/baseobjects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/perftests/short/collection_perf.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/CustomObjectTestPage.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/FooTestPage.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/cumulusci/base.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/cumulusci/bulkdata.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/cumulusci/communities.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/cumulusci/datagen.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/TestLibraryA.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/TestLibraryB.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/TestListener.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/api.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/browsers.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/classic.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/create_contact.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/faker.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/forms.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/label_locator.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/labels.html +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/locators.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/pageobjects/base_pageobjects.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/pageobjects/example_page_object.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/pageobjects/listing_page.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/pageobjects/objectmanager.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/pageobjects/pageobjects.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/performance.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/playwright/javascript_keywords.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/playwright/open_test_browser.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/playwright/playwright.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/playwright/ui.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/populate.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/test_testlistener.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/ui.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_cumulusci_library.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_locator_manager.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_pageobjects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_performance.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_salesforce.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_salesforce_locators.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_template_util.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/exceptions.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/filterable_objects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/mc_soap_envelopes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/metadata.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/org_schema.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/org_schema_models.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/package_install.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/package_zip.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/retrieve_profile_api.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/soap_envelopes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/metadata_test_strings.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_metadata.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_package_install.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_package_zip.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_rest_deploy.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_retrieve_profile_api.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/schema/cumulusci.jsonschema.json +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/batch.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/tests/cassettes/ManualEditTestApexIntegrationTests.test_run_tests__integration_test.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/tests/test_apex_tasks.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/base_source_control_task.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/base_generate_data_task.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/dates.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/delete.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/calculate_dependencies.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/extract_yml.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/hardcoded_default_declarations.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/synthesize_extract_declarations.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/tests/test_extract_yml.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/tests/test_synthesize_extract_declarations.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/factory_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_and_load_data.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_and_load_data_from_yaml.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_from_yaml.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/dependency_map.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/extract_mapping_file_generator.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/generate_mapping_from_declarations.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/load_mapping_file_generator.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/mapping_generator_post_processes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/mapping_transforms.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/tests/test_generate_extract_mapping_from_declarations.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/tests/test_generate_load_mapping_from_declarations.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/tests/test_mapping_generator_post_processes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/tests/test_mapping_transforms.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/load.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/mapping_parser.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/query_transformers.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/select_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/snowfakery.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/snowfakery_utils/queue_manager.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_run_until.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_working_directory.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/snowfakery_utils/subtask_configurator.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/step.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_random_strategy.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_annoy_strategy.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_select_and_insert_strategy.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_select_and_insert_strategy_bulk.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_strategy.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_standard_strategy.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSnowfakery.test_run_until_records_in_org__multiple_needed.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSnowfakery.test_run_until_records_in_org__none_needed.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSnowfakery.test_run_until_records_in_org__one_needed.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSnowfakery.test_snowfakery_query_salesforce.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestUpdatesIntegrationTests.test_updates_task.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_simple_upsert__rest.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_upsert__rest.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_upsert_complex_external_id_field__rest.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_upsert_complex_external_id_field_rest__duplicate_error.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_upsert_complex_fields__bulk.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/dummy_data_factory.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/integration_test_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping-oid.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_after.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_poly.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_poly_incomplete.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_poly_wrong.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_invalid_strategy.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_invalid_threshold__invalid_number.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_invalid_threshold__invalid_strategy.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_invalid_threshold__non_float.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_missing_priority_fields.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_no_priority_fields.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_simple.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_v1.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_v2.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_v3.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_vanilla_sf.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mock_data_factory_without_mapping.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/person_accounts.sql +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/person_accounts.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/person_accounts_minimal.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes.sql +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes_2.sql +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes_2.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes_with_ispersontype.sql +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes_with_ispersontype.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/child/child2.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/child.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/gen_npsp_standard_objects.recipe.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/include_parent.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/npsp_standard_objects_macros.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/options.recipe.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/query_snowfakery.recipe.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/sf_standard_object_macros.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.load.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.recipe.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_2.load.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.load.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.recipe.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels_2.load.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/unique_values.recipe.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/upsert.recipe.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/upsert_2.recipe.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/upsert_before.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_base_generate_data_tasks.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_dates.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_delete.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_extract.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_factory_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_generate_and_load.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_generate_from_snowfakery_task.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_generatemapping.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_mapping_parser.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_query_db__joins_self_lookups.sql +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_query_db__joins_self_lookups.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_query_db_joins_lookups.sql +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_query_db_joins_lookups.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_query_db_joins_lookups_select.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_select.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_snowfakery.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_step.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_updates.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_upsert.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/testdata.db +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/testdata.sql +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/update_describe.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/update_person_accounts.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/update_data.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/upsert_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/command.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/connectedapp.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/create_package_version.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/datadictionary.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/dx_convert_from.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/base.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/commit_status.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/merge.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/publish.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/pull_request.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/release.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/release_report.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/tag.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/tests/test_util.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/tests/test_vcs_migration.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/tests/util_github_api.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/util.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/api.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/base.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/deploy.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/get_user_info.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/mc_constants.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/conftest.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/expected-payload.json +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test-mc-pkg.zip +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test_api.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test_api_soap_envelopes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test_base.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test_deploy.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test_get_user_info.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/validation-response.json +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/ee_src.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/managed_src.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/metadata_map.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/modify.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/package.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/.hidden/.keep +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/destructiveChanges.xml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/package.xml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/package_install_uninstall.xml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/reports/namespace__TestFolder/TestReport.report +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/sample_package.xml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/test_ee_src.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/test_managed_src.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/test_modify.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/test_package.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/duplicate_rules.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/field_sets.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/help_text.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/layouts.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/objects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/permissions.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/picklists.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/remote_site_settings.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/sharing.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_base.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_duplicate_rules.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_field_sets.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_help_text.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_ip_ranges.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_layouts.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_objects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_permissions.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_picklists.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_remote_site_settings.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_sharing.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_value_sets.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/value_sets.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadeploy.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metaxml.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/dataset_load.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/licenses.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/packages.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/permsets.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/recordtypes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/retrieve_tasks.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/settings.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/sobjects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_dataset_load.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_licenses.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_packages.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_permset_preflights.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_recordtypes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_retrieve_tasks.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_settings.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_sobjects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/push_api.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/pushfails.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/tasks.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/tests/conftest.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/tests/test_push_api.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/tests/test_push_tasks.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/exceptions.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/generator.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/parser.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/provider.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/task.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/change_notes/full/example1.md +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/change_notes/multi/1.txt +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/change_notes/multi/2.txt +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/change_notes/multi/3.txt +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/change_notes/single/1.txt +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/test_generator.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/test_parser.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/test_provider.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/test_task.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/debugger/DebugListener.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/debugger/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/debugger/model.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/debugger/ui.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/libdoc.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/robotframework.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/stylesheet.css +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/template.html +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/TestLibrary.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/TestPageObjects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/TestResource.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/failing_tests.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/performance.robot +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/test_browser_proxies.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/test_debugger.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/test_robot_parallel.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/BaseRetrieveMetadata.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/BaseSalesforceApiTask.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/BaseSalesforceMetadataApiTask.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/BaseSalesforceTask.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/BaseUninstallMetadata.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/CreateCommunity.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/CreatePackage.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/DeployBundles.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/DescribeMetadataTypes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/EnsureRecordTypes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/GetInstalledPackages.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/ListCommunities.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/ListCommunityTemplates.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/PublishCommunity.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/RetrievePackaged.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/RetrieveReportsAndDashboards.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/RetrieveUnpackaged.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/SOQLQuery.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/SfDataCommands.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/SfPackageCommands.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UninstallLocal.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UninstallLocalBundles.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UninstallLocalNamespacedBundles.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UninstallPackage.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UninstallPackaged.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UpdateAdminProfile.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/activate_flow.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/check_components.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/create_permission_sets.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/custom_settings.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/getPackageVersion.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/insert_record.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/install_package_version.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/license_preflights.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/network_member_group.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/nonsourcetracking.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/org_settings.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/package_upload.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/profiles.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/promote_package_version.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/retrieve_profile.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/salesforce_files.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_CreateCommunity.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_CreatePackage.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_Deploy.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_DeployBundles.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_EnsureRecordTypes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_ListCommunities.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_ListCommunityTemplates.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_PackageUpload.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_ProfileGrantAllAccess.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_PublishCommunity.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_RetrievePackaged.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_RetrieveReportsAndDashboards.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_RetrieveUnpackaged.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_SOQLQuery.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_SfDataCommands.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_SfPackageCommands.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallLocal.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallLocalBundles.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallLocalNamespacedBundles.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallPackage.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallPackaged.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallPackagedIncremental.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_activate_flow.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_base_tasks.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_check_components.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_composite.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_create_permission_sets.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_custom_settings.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_custom_settings_wait.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_describemetadatatypes.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_enable_prediction.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_getPackageVersion.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_insert_record.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_install_package_version.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_network_member_group.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_nonsourcetracking.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_org_settings.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_profiles.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_retrieve_profile.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_salesforce_files.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_sourcetracking.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_trigger_handlers.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_update_dependencies.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_update_external_credential.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_update_named_credential.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/util.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/trigger_handlers.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/uninstall_packaged_incremental.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/update_dependencies.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/update_external_credential.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/update_named_credential.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/photos.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/tests/photo.mock.txt +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/tests/test_permsets.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/tests/test_photos.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sample_data/capture_sample_data.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sample_data/load_sample_data.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sample_data/test_capture_sample_data.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sample_data/test_load_sample_data.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdmu/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdmu/sfdmu.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdmu/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdmu/tests/test_runner.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdmu/tests/test_sfdmu.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdx.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/conftest.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_command.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_connectedapp.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_create_package_version.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_datadictionary.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_dx_convert_from.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_metadeploy.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_metaxml.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_promote_package_version.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_pushfails.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_salesforce.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_sfdx.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_util.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/util.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/utility/env_management.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/utility/tests/test_env_management.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/commit_status.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/create_commit_status.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/download_extract.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/merge.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/publish.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/pull_request.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/release.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/release_report.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tag.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_commit_status.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_download_extract.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_merge.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_publish.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_pull_request.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_release.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_release_report.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_tag.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vlocity/exceptions.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vlocity/tests/test_vlocity.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vlocity/vlocity.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/cassettes/GET_sobjects_Account_PersonAccount_describe.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/cassettes/TestIntegrationInfrastructure.test_integration_tests.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/pytest_sf_orgconnect.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/pytest_sf_vcr.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/pytest_sf_vcr_serializer.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/pytest_typeguard.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/test_vcr_string_compressor.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/vcr_string_compressor.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Account_describe.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Case_describe.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Contact_describe.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Custom__c_describe.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Event_describe.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Global_describe.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Lead_describe.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_OpportunityContactRole_describe.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Opportunity_describe.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Organization.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/vcr_string_templates/batchInfoList_xml.tpl +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/vcr_string_templates/batchInfo_xml.tpl +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/vcr_string_templates/jobInfo_insert_xml.tpl +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/vcr_string_templates/jobInfo_upsert_xml.tpl +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_entry_points.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_integration_infrastructure.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_main.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_schema.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_vcr_serializer.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/uncompressed_cassette.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/util.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/classutils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/collections.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/deprecation.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/encryption.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/fileutils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/git.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/multi_request.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/requests_utils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/tests/cassettes/TestCompositeParallelSalesforce.test_composite_parallel_salesforce.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/tests/cassettes/TestCompositeParallelSalesforce.test_errors.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/tests/cassettes/TestCompositeParallelSalesforce.test_reference_ids.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/tests/test_multi_request.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/iterators.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/logging.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/metaprogramming.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/options.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/parallel/queries_in_parallel/run_queries_in_parallel.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/parallel/queries_in_parallel/tests/test_run_queries_in_parallel.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/parallel/task_worker_queues/parallel_worker.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/parallel/task_worker_queues/parallel_worker_queue.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/parallel/task_worker_queues/tests/test_parallel_worker.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/count_sobjects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/soql.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/tests/cassettes/ManualEdit_TestCountSObjects.test_count_sobjects__network_errors.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/tests/cassettes/TestCountSObjects.test_count_sobjects__errors.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/tests/cassettes/TestCountSObjects.test_count_sobjects_simple.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/tests/test_count_sobjects.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/tests/test_soql.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/cassettes/ManualEditTestDescribeOrg.test_minimal_schema.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/cassettes/ManualEdit_test_describe_to_sql.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_fileutils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_git.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_logging.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_option_parsing.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_org_schema.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_org_schema_models.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_waiting.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/version_strings.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/waiting.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/metadata_tree.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/robot_xml.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/salesforce_encoding.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/test/test_metadata_tree.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/test/test_salesforce_encoding.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/cumulusci_yml.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/model_parser.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/safer_loader.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/tests/bad_cci.yml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/tests/cassettes/TestCumulusciYml.test_validate_url__with_errors.yaml +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/tests/test_cumulusci_yml.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/tests/test_safer_loader.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/ziputils.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/base.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/bootstrap.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/adapter.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/release_notes/generator.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/release_notes/parser.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/release_notes/provider.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/service.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/tests/test_adapter.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/tests/test_service.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/models.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/tests/conftest.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/tests/dummy_service.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/tests/test_vcs_base.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/tests/test_vcs_bootstrap.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/utils/__init__.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/vcs_source.py +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/docs/adrs/README.md +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/docs/diagram/README.md +0 -0
- {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/robot/CumulusCI/javascript/README.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cumulusci-plus
|
|
3
|
-
Version: 5.0.
|
|
3
|
+
Version: 5.0.27
|
|
4
4
|
Summary: Build and release tools for Salesforce developers
|
|
5
5
|
Project-URL: Homepage, https://github.com/jorgesolebur/CumulusCI
|
|
6
6
|
Project-URL: Changelog, https://cumulusci.readthedocs.io/en/stable/history.html
|
|
@@ -55,6 +55,7 @@ Requires-Dist: sqlalchemy<2
|
|
|
55
55
|
Requires-Dist: xmltodict
|
|
56
56
|
Provides-Extra: select
|
|
57
57
|
Requires-Dist: annoy; extra == 'select'
|
|
58
|
+
Requires-Dist: boto3; extra == 'select'
|
|
58
59
|
Requires-Dist: numpy; extra == 'select'
|
|
59
60
|
Requires-Dist: pandas; extra == 'select'
|
|
60
61
|
Requires-Dist: scikit-learn; extra == 'select'
|
|
@@ -128,17 +129,13 @@ license](https://github.com/SFDO-Tooling/CumulusCI/blob/main/LICENSE)
|
|
|
128
129
|
and is not covered by the Salesforce Master Subscription Agreement.
|
|
129
130
|
|
|
130
131
|
<!-- Changelog -->
|
|
131
|
-
## v5.0.
|
|
132
|
-
|
|
132
|
+
## v5.0.27 (2025-10-24)
|
|
133
133
|
<!-- Release notes generated using configuration in .github/release.yml at main -->
|
|
134
134
|
|
|
135
135
|
## What's Changed
|
|
136
|
-
|
|
137
136
|
### Changes
|
|
137
|
+
* Fix default secret provider to load from env when not set. by [@rupeshjSFDC](https://github.com/rupeshjSFDC) in [#103](https://github.com/jorgesolebur/CumulusCI/pull/103)
|
|
138
|
+
* PM-2264 - Supporting env variables in when conditions in tasks by [@jorgesolebur](https://github.com/jorgesolebur) in [#102](https://github.com/jorgesolebur/CumulusCI/pull/102)
|
|
138
139
|
|
|
139
|
-
- PM-2198 Add NAMESPACE injection in assign_permission_sets by [@jorgesolebur](https://github.com/jorgesolebur) in [#87](https://github.com/jorgesolebur/CumulusCI/pull/87)
|
|
140
|
-
- Add update named credential and external credential tasks by [@rupeshjSFDC](https://github.com/rupeshjSFDC) in [#89](https://github.com/jorgesolebur/CumulusCI/pull/89)
|
|
141
|
-
- Fix external credential POST or PUT format. by [@rupeshjSFDC](https://github.com/rupeshjSFDC) in [#92](https://github.com/jorgesolebur/CumulusCI/pull/92)
|
|
142
|
-
- PM-2203 Create a CCI task for CCI to wrap SFDMU and apply namespace token replacement before executing sf sfdmu run command by [@jorgesolebur](https://github.com/jorgesolebur) in [#88](https://github.com/jorgesolebur/CumulusCI/pull/88)
|
|
143
140
|
|
|
144
|
-
**Full Changelog**: https://github.com/jorgesolebur/CumulusCI/compare/v5.0.
|
|
141
|
+
**Full Changelog**: https://github.com/jorgesolebur/CumulusCI/compare/v5.0.26...v5.0.27
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "5.0.27"
|
|
@@ -98,7 +98,9 @@ Environment Info: Rossian / x68_46
|
|
|
98
98
|
)
|
|
99
99
|
webbrowser_open.assert_called_once_with(expected_gist_url)
|
|
100
100
|
|
|
101
|
-
@pytest.mark.skipif(
|
|
101
|
+
@pytest.mark.skipif(
|
|
102
|
+
sys.version_info > (3, 11), reason="requires python3.10 or higher"
|
|
103
|
+
)
|
|
102
104
|
@mock.patch("cumulusci.cli.error.platform")
|
|
103
105
|
@mock.patch("cumulusci.cli.error.sys")
|
|
104
106
|
@mock.patch("cumulusci.cli.error.datetime")
|
|
@@ -53,6 +53,7 @@ Option values/overrides can be passed in at a number of levels, in increasing or
|
|
|
53
53
|
|
|
54
54
|
import copy
|
|
55
55
|
import logging
|
|
56
|
+
import os
|
|
56
57
|
from collections import defaultdict
|
|
57
58
|
from operator import attrgetter
|
|
58
59
|
from typing import (
|
|
@@ -543,6 +544,7 @@ class FlowCoordinator:
|
|
|
543
544
|
self._jinja2_context = {
|
|
544
545
|
"project_config": project_config,
|
|
545
546
|
"org_config": org_config,
|
|
547
|
+
"env": dict(os.environ),
|
|
546
548
|
}
|
|
547
549
|
self._context_project_config = project_config
|
|
548
550
|
self._context_org_config = org_config
|
|
@@ -189,7 +189,7 @@ def validate_service(options: dict, keychain) -> dict:
|
|
|
189
189
|
server_domain = options.get("server_domain", None)
|
|
190
190
|
|
|
191
191
|
gh = _determine_github_client(server_domain, {"token": token})
|
|
192
|
-
if
|
|
192
|
+
if isinstance(gh, GitHubEnterprise):
|
|
193
193
|
validate_gh_enterprise(server_domain, keychain)
|
|
194
194
|
try:
|
|
195
195
|
authed_user = gh.me()
|
|
@@ -14,10 +14,12 @@ import sarge
|
|
|
14
14
|
|
|
15
15
|
# Fix for TextIOWrapper flush issue with sarge.Capture objects
|
|
16
16
|
# Add flush method to sarge.Capture to prevent AttributeError during garbage collection
|
|
17
|
-
if not hasattr(sarge.Capture,
|
|
17
|
+
if not hasattr(sarge.Capture, "flush"):
|
|
18
|
+
|
|
18
19
|
def _capture_flush(self):
|
|
19
20
|
"""No-op flush method for sarge.Capture compatibility with TextIOWrapper"""
|
|
20
21
|
pass
|
|
22
|
+
|
|
21
23
|
sarge.Capture.flush = _capture_flush
|
|
22
24
|
|
|
23
25
|
from cumulusci.core.enums import StrEnum
|
|
@@ -542,6 +542,106 @@ class TestSimpleTestFlowCoordinator(AbstractFlowCoordinatorTest):
|
|
|
542
542
|
flow.run(self.org_config)
|
|
543
543
|
assert len(flow.results) == 0
|
|
544
544
|
|
|
545
|
+
def test_run__when_condition_with_env_var_true(self):
|
|
546
|
+
"""A flow step runs when env var condition evaluates to True"""
|
|
547
|
+
import os
|
|
548
|
+
|
|
549
|
+
with mock.patch.dict(os.environ, {"RUN_TASK": "true"}):
|
|
550
|
+
flow_config = FlowConfig(
|
|
551
|
+
{
|
|
552
|
+
"steps": {
|
|
553
|
+
1: {
|
|
554
|
+
"task": "pass_name",
|
|
555
|
+
"when": "env.get('RUN_TASK') == 'true'",
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
)
|
|
560
|
+
flow = FlowCoordinator(self.project_config, flow_config)
|
|
561
|
+
flow.run(self.org_config)
|
|
562
|
+
assert len(flow.results) == 1
|
|
563
|
+
|
|
564
|
+
def test_run__when_condition_with_env_var_false(self):
|
|
565
|
+
"""A flow step is skipped when env var condition evaluates to False"""
|
|
566
|
+
import os
|
|
567
|
+
|
|
568
|
+
with mock.patch.dict(os.environ, {"RUN_TASK": "false"}):
|
|
569
|
+
flow_config = FlowConfig(
|
|
570
|
+
{
|
|
571
|
+
"steps": {
|
|
572
|
+
1: {
|
|
573
|
+
"task": "pass_name",
|
|
574
|
+
"when": "env.get('RUN_TASK') == 'true'",
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
)
|
|
579
|
+
flow = FlowCoordinator(self.project_config, flow_config)
|
|
580
|
+
flow.run(self.org_config)
|
|
581
|
+
assert len(flow.results) == 0
|
|
582
|
+
|
|
583
|
+
def test_run__when_condition_with_env_var_default(self):
|
|
584
|
+
"""A flow step uses default value when env var is not set"""
|
|
585
|
+
import os
|
|
586
|
+
|
|
587
|
+
# Make sure the env var is not set
|
|
588
|
+
if "UNDEFINED_VAR" in os.environ:
|
|
589
|
+
del os.environ["UNDEFINED_VAR"]
|
|
590
|
+
flow_config = FlowConfig(
|
|
591
|
+
{
|
|
592
|
+
"steps": {
|
|
593
|
+
1: {
|
|
594
|
+
"task": "pass_name",
|
|
595
|
+
"when": "env.get('UNDEFINED_VAR', 'default') == 'default'",
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
)
|
|
600
|
+
flow = FlowCoordinator(self.project_config, flow_config)
|
|
601
|
+
flow.run(self.org_config)
|
|
602
|
+
assert len(flow.results) == 1
|
|
603
|
+
|
|
604
|
+
def test_run__when_condition_with_env_var_and_org_config(self):
|
|
605
|
+
"""A flow step can combine env vars with org_config in when condition"""
|
|
606
|
+
import os
|
|
607
|
+
|
|
608
|
+
with mock.patch.dict(os.environ, {"DEPLOY_TO_SCRATCH": "true"}):
|
|
609
|
+
flow_config = FlowConfig(
|
|
610
|
+
{
|
|
611
|
+
"steps": {
|
|
612
|
+
1: {
|
|
613
|
+
"task": "pass_name",
|
|
614
|
+
"when": "org_config.scratch and env.get('DEPLOY_TO_SCRATCH') == 'true'",
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
)
|
|
619
|
+
flow = FlowCoordinator(self.project_config, flow_config)
|
|
620
|
+
# Set org_config.scratch to True
|
|
621
|
+
self.org_config.config["scratch"] = True
|
|
622
|
+
flow.run(self.org_config)
|
|
623
|
+
assert len(flow.results) == 1
|
|
624
|
+
|
|
625
|
+
def test_run__when_condition_with_missing_env_var_is_none(self):
|
|
626
|
+
"""A flow step can check if env var exists using 'is not none'"""
|
|
627
|
+
import os
|
|
628
|
+
|
|
629
|
+
# Test when var is set
|
|
630
|
+
with mock.patch.dict(os.environ, {"MY_VAR": "value"}):
|
|
631
|
+
flow_config = FlowConfig(
|
|
632
|
+
{
|
|
633
|
+
"steps": {
|
|
634
|
+
1: {
|
|
635
|
+
"task": "pass_name",
|
|
636
|
+
"when": "env.get('MY_VAR') is not none",
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
)
|
|
641
|
+
flow = FlowCoordinator(self.project_config, flow_config)
|
|
642
|
+
flow.run(self.org_config)
|
|
643
|
+
assert len(flow.results) == 1
|
|
644
|
+
|
|
545
645
|
def test_run__task_raises_exception_fail(self):
|
|
546
646
|
"""A flow aborts when a task raises an exception"""
|
|
547
647
|
|
|
@@ -761,6 +761,14 @@ tasks:
|
|
|
761
761
|
description: Get or set environment variables.
|
|
762
762
|
class_path: cumulusci.tasks.utility.env_management.EnvManagement
|
|
763
763
|
group: Utilities
|
|
764
|
+
secrets_to_dotenv:
|
|
765
|
+
description: Get all environment variables from a target JSON file and generates a .env file that can be used to set up the environment variables for the deployment
|
|
766
|
+
class_path: cumulusci.tasks.utility.secretsToEnv.SecretsToEnv
|
|
767
|
+
group: Utilities
|
|
768
|
+
directory_recreator:
|
|
769
|
+
description: Remove and recreate a directory
|
|
770
|
+
class_path: cumulusci.tasks.utility.directoryRecreator.DirectoryRecreator
|
|
771
|
+
group: Utilities
|
|
764
772
|
download_extract:
|
|
765
773
|
description: Downloads files and folders from a VCS repository.
|
|
766
774
|
class_path: cumulusci.tasks.vcs.download_extract.DownloadExtract
|
|
@@ -203,7 +203,7 @@ class ObjectManagerPage(BasePage):
|
|
|
203
203
|
|
|
204
204
|
except Exception as e:
|
|
205
205
|
self.builtin.log(
|
|
206
|
-
f"on try #{tries+1} we caught this error: {e}", "DEBUG"
|
|
206
|
+
f"on try #{tries + 1} we caught this error: {e}", "DEBUG"
|
|
207
207
|
)
|
|
208
208
|
self.builtin.sleep("1 second")
|
|
209
209
|
last_error = e
|
|
@@ -138,7 +138,7 @@ class RestDeploy:
|
|
|
138
138
|
|
|
139
139
|
# Construct an error message from deployment failure details
|
|
140
140
|
def _construct_error_message(self, failure):
|
|
141
|
-
error_message = f"{str.upper(failure['problemType'])} in file {failure['fileName'][len(PARENT_DIR_NAME)+len('/'):]}: {failure['problem']}"
|
|
141
|
+
error_message = f"{str.upper(failure['problemType'])} in file {failure['fileName'][len(PARENT_DIR_NAME) + len('/'):]}: {failure['problem']}"
|
|
142
142
|
|
|
143
143
|
if failure["lineNumber"] and failure["columnNumber"]:
|
|
144
144
|
error_message += (
|
|
@@ -4,7 +4,7 @@ from cumulusci.core.exceptions import (
|
|
|
4
4
|
SalesforceException,
|
|
5
5
|
TaskOptionsError,
|
|
6
6
|
)
|
|
7
|
-
from cumulusci.core.utils import
|
|
7
|
+
from cumulusci.core.utils import determine_managed_mode, process_bool_arg
|
|
8
8
|
from cumulusci.tasks.salesforce import BaseSalesforceApiTask
|
|
9
9
|
from cumulusci.utils import in_directory, inject_namespace
|
|
10
10
|
from cumulusci.utils.http.requests_utils import safe_json_from_response
|
|
@@ -10,7 +10,12 @@ from cumulusci.core.exceptions import (
|
|
|
10
10
|
CumulusCIException,
|
|
11
11
|
TaskOptionsError,
|
|
12
12
|
)
|
|
13
|
-
from cumulusci.core.utils import
|
|
13
|
+
from cumulusci.core.utils import (
|
|
14
|
+
decode_to_unicode,
|
|
15
|
+
determine_managed_mode,
|
|
16
|
+
process_bool_arg,
|
|
17
|
+
process_list_arg,
|
|
18
|
+
)
|
|
14
19
|
from cumulusci.tasks.salesforce import BaseSalesforceApiTask
|
|
15
20
|
from cumulusci.utils.http.requests_utils import safe_json_from_response
|
|
16
21
|
|
|
@@ -213,7 +213,6 @@ class ExtractData(SqlAlchemyMixin, BaseSalesforceApiTask):
|
|
|
213
213
|
IsPersonAccount_index = columns.index(mapping.fields["IsPersonAccount"])
|
|
214
214
|
|
|
215
215
|
def strip_name_field(record):
|
|
216
|
-
nonlocal Name_index, IsPersonAccount_index
|
|
217
216
|
if record[IsPersonAccount_index].lower() == "true":
|
|
218
217
|
record[Name_index] = ""
|
|
219
218
|
return record
|
{cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_select_utils.py
RENAMED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
|
|
1
3
|
import pytest
|
|
2
4
|
|
|
3
5
|
from cumulusci.tasks.bulkdata.select_utils import (
|
|
@@ -618,6 +620,10 @@ def test_vectorize_records_mixed_numerical_boolean_categorical():
|
|
|
618
620
|
not PANDAS_AVAILABLE or not OPTIONAL_DEPENDENCIES_AVAILABLE,
|
|
619
621
|
reason="requires optional dependencies for annoy",
|
|
620
622
|
)
|
|
623
|
+
@pytest.mark.skipif(
|
|
624
|
+
sys.platform == "darwin" and sys.version_info[:2] in [(3, 11), (3, 13)],
|
|
625
|
+
reason="Annoy library has known compatibility issues on macOS with Python 3.11 and 3.13",
|
|
626
|
+
)
|
|
621
627
|
def test_annoy_post_process():
|
|
622
628
|
# Test data
|
|
623
629
|
load_records = [["Alice", "Engineer"], ["Bob", "Doctor"]]
|
|
@@ -7,7 +7,11 @@ from cumulusci.core.config import TaskConfig
|
|
|
7
7
|
from cumulusci.core.enums import StrEnum
|
|
8
8
|
from cumulusci.core.exceptions import CumulusCIException, TaskOptionsError
|
|
9
9
|
from cumulusci.core.tasks import BaseSalesforceTask
|
|
10
|
-
from cumulusci.core.utils import
|
|
10
|
+
from cumulusci.core.utils import (
|
|
11
|
+
determine_managed_mode,
|
|
12
|
+
process_bool_arg,
|
|
13
|
+
process_list_arg,
|
|
14
|
+
)
|
|
11
15
|
from cumulusci.salesforce_api.metadata import ApiRetrieveUnpackaged
|
|
12
16
|
from cumulusci.tasks.metadata.package import PackageXmlGenerator
|
|
13
17
|
from cumulusci.utils import inject_namespace
|
|
@@ -74,8 +78,8 @@ class BaseMetadataETLTask(BaseSalesforceTask, metaclass=ABCMeta):
|
|
|
74
78
|
self.options["namespaced_org"] or False
|
|
75
79
|
)
|
|
76
80
|
else:
|
|
77
|
-
self.options["namespaced_org"] = (
|
|
78
|
-
|
|
81
|
+
self.options["namespaced_org"] = bool(namespace) and namespace == getattr(
|
|
82
|
+
self.org_config, "namespace", None
|
|
79
83
|
)
|
|
80
84
|
|
|
81
85
|
def _inject_namespace(self, text):
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Push Upgrade API Scripts
|
|
2
|
+
|
|
3
|
+
These scripts are designed to work with the Salesforce Push Upgrade API (in Pilot in Winter 16) which exposes new objects via the Tooling API that allow interacting with push upgrades in a packaging org. The main purpose of these scripts is to use the Push Upgrade API to automate push upgrades through Jenkins.
|
|
4
|
+
|
|
5
|
+
# push_api.py - Python Wrapper for Push Upgrade API
|
|
6
|
+
|
|
7
|
+
This python file provides wrapper classes around the Tooling API objects and abstracts interaction with them and their related data to make writing scripts easier. All the other scripts in this directory use the SalesforcePushApi wrapper to interact with the Tooling API.
|
|
8
|
+
|
|
9
|
+
Initializing the SalesforcePushApi wrapper can be done with the following python code:
|
|
10
|
+
|
|
11
|
+
push_api = SalesforcePushApi(sf_user, sf_pass, sf_serverurl)
|
|
12
|
+
|
|
13
|
+
You can also pass two optional keyword args to the initialization to control the wrapper's behavior
|
|
14
|
+
|
|
15
|
+
- **lazy**: A list of objects that should be lazily looked up. Currently, the only implementations for this are 'jobs' and 'subscribers'. If either are included in the list, they will be looked up on demand when needed by a referenced object. For example, if you are querying all jobs and subscribers is not set to lazy, all subscribers will first be retrieved. If lazy is enabled, subscriber orgs will only be retrieved when trying to resolve references for a particular job. Generally, if you have a lot of subscribers and only expect your script to need to lookup a small number of them, enabling lazy for subscribers will reduce api calls and cause the script to run faster.
|
|
16
|
+
|
|
17
|
+
- **default_where**: A dictionary with Push Upgrade API objects as key and a value containing a SOQL WHERE clause statement which is applied to all queries against the object to effectively set the universe for a given object. For example:
|
|
18
|
+
default_where = {'PackageSubscriber': "OrgType = 'Sandbox'"}
|
|
19
|
+
|
|
20
|
+
In the example above, the wrapper would never return a PackageSubscriber which is not a Sandbox org.
|
|
21
|
+
|
|
22
|
+
# Push Scripts
|
|
23
|
+
|
|
24
|
+
## Common Environment Variables
|
|
25
|
+
|
|
26
|
+
The push scripts are all designed to receive their arguments via environment variables. The following are common amongst all of the Push Scripts
|
|
27
|
+
|
|
28
|
+
- **SF_USERNAME**: The Salesforce username for the packaging org
|
|
29
|
+
- **SF_PASSWORD**: The Salesforce password and security token for the packaging org
|
|
30
|
+
- **SF_SERVERURL**: The login url for the Salesforce packaging org.
|
|
31
|
+
|
|
32
|
+
## get_version_id.py
|
|
33
|
+
|
|
34
|
+
Takes a namespace and version string and looks up the given version. Returns the version's Salesforce Id.
|
|
35
|
+
|
|
36
|
+
The script handles parsing the version number string into a SOQL query against the MetadataPackageVersion object with the correct MajorVersion, MinorVersion, PatchVersion, ReleaseState, and BuildNumber (i.e. Beta number).
|
|
37
|
+
|
|
38
|
+
### Required Environment Variables
|
|
39
|
+
|
|
40
|
+
- **NAMESPACE**: The Package's namespace prefix
|
|
41
|
+
- **VERSION_NUMBER**: The version number string.
|
|
42
|
+
|
|
43
|
+
## orgs_for_push.py
|
|
44
|
+
|
|
45
|
+
Takes a MetadataPackageVersion Id and optionally a where clause to filter Subscribers and returns a list of OrgId's one per line which can be fed into the schedule_push.py script.
|
|
46
|
+
|
|
47
|
+
### Required Environment Variables
|
|
48
|
+
|
|
49
|
+
- **VERSION**: The MetadataPackageVersion Id of the version you want to push upgrade. This is used to look for all users not on the version or a newer version
|
|
50
|
+
|
|
51
|
+
### Optional Environment Variables
|
|
52
|
+
|
|
53
|
+
- **SUBSCRIBER_WHERE**: An extra filter to be applied to all Subscriber queries. For example, setting this to OrgType = 'Sandbox' would find all Sandbox orgs eligible for push upgrade to the specified version
|
|
54
|
+
|
|
55
|
+
## failed_orgs_for_push.py
|
|
56
|
+
|
|
57
|
+
Takes a PackagePushRequest Id and optionally a where clause to filter Subscribers and returns a list of OrgId's one per line for all orgs which failed the
|
|
@@ -13,25 +13,25 @@ Start the section with `# Critical Changes` followed by your content
|
|
|
13
13
|
For example:
|
|
14
14
|
|
|
15
15
|
This won't be included
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
# Critical Changes
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
This will be included in Critical Changes
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
## Changes
|
|
22
22
|
|
|
23
|
-
The Changes section is where you should list off any changes worth highlight to users in the release notes.
|
|
23
|
+
The Changes section is where you should list off any changes worth highlight to users in the release notes. This section should always include instructions for users for any post-upgrade tasks they need to perform to enable new functionality. For example, users should be told to grant permissions and add new CustomFields to layouts.
|
|
24
24
|
|
|
25
25
|
Start the section with `# Changes` followed by your content
|
|
26
26
|
|
|
27
27
|
For example:
|
|
28
28
|
|
|
29
29
|
This won't be included
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
# Changes
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
This will be included in Changes
|
|
34
|
-
|
|
34
|
+
|
|
35
35
|
## Issues Closed
|
|
36
36
|
|
|
37
37
|
The Issues Closed section is where you should link to any closed issues that should be listed in the release notes.
|
|
@@ -41,9 +41,9 @@ Start the section with `# Changes` followed by your content
|
|
|
41
41
|
For example:
|
|
42
42
|
|
|
43
43
|
This won't be included
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
# Issues Closed
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
Fixes #102
|
|
48
48
|
resolves #100
|
|
49
49
|
This release closes #101
|
|
@@ -55,9 +55,9 @@ Would output:
|
|
|
55
55
|
#100: Title of Issue 100
|
|
56
56
|
#101: Title of Issue 101
|
|
57
57
|
#102: Title of Issue 102
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
A few notes about how issues are parsed:
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
- The parser uses the same format as Github: https://help.github.com/articles/closing-issues-via-commit-messages/
|
|
62
|
+
- The parser searches for all issue numbers and sorts them by their integer value, looks up their title, and outputs a formatted line with the issue number and title for each issue.
|
|
63
|
+
- The parser ignores everything else in the line that is not an issue number. Anything that is not an issue number will not appear in the rendered release notes
|
|
@@ -826,7 +826,7 @@ class TestRobotPerformanceKeywords:
|
|
|
826
826
|
elapsed_times.sort()
|
|
827
827
|
|
|
828
828
|
assert elapsed_times[1:] == [53, 11655.9, 18000.0]
|
|
829
|
-
assert float(elapsed_times[0]) < 3
|
|
829
|
+
assert float(elapsed_times[0]) < 3 or float(elapsed_times[0]) <= 3.0
|
|
830
830
|
|
|
831
831
|
def test_metrics(self):
|
|
832
832
|
pattern = "Max_CPU_Percent: "
|
|
@@ -12,7 +12,11 @@ from cumulusci.core.source_transforms.transforms import (
|
|
|
12
12
|
SourceTransform,
|
|
13
13
|
SourceTransformList,
|
|
14
14
|
)
|
|
15
|
-
from cumulusci.core.utils import
|
|
15
|
+
from cumulusci.core.utils import (
|
|
16
|
+
determine_managed_mode,
|
|
17
|
+
process_bool_arg,
|
|
18
|
+
process_list_arg,
|
|
19
|
+
)
|
|
16
20
|
from cumulusci.salesforce_api.metadata import ApiDeploy, ApiRetrieveUnpackaged
|
|
17
21
|
from cumulusci.salesforce_api.package_zip import MetadataPackageZipBuilder
|
|
18
22
|
from cumulusci.salesforce_api.rest_deploy import RestDeploy
|
|
@@ -6,7 +6,7 @@ from pathlib import Path
|
|
|
6
6
|
|
|
7
7
|
from cumulusci.cli.ui import CliTable
|
|
8
8
|
from cumulusci.core.exceptions import SalesforceException
|
|
9
|
-
from cumulusci.core.utils import
|
|
9
|
+
from cumulusci.core.utils import determine_managed_mode, process_list_arg
|
|
10
10
|
from cumulusci.tasks.salesforce import BaseSalesforceApiTask
|
|
11
11
|
from cumulusci.utils import inject_namespace
|
|
12
12
|
|
{cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/custom_settings_wait.py
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from simple_salesforce.exceptions import SalesforceError
|
|
4
4
|
|
|
5
5
|
from cumulusci.core.exceptions import TaskOptionsError
|
|
6
|
-
from cumulusci.core.utils import
|
|
6
|
+
from cumulusci.core.utils import determine_managed_mode, process_bool_arg
|
|
7
7
|
from cumulusci.tasks.salesforce import BaseSalesforceApiTask
|
|
8
8
|
|
|
9
9
|
|
{cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/enable_prediction.py
RENAMED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
from simple_salesforce.exceptions import SalesforceError
|
|
2
2
|
|
|
3
3
|
from cumulusci.core.exceptions import CumulusCIException
|
|
4
|
-
from cumulusci.core.utils import
|
|
4
|
+
from cumulusci.core.utils import (
|
|
5
|
+
determine_managed_mode,
|
|
6
|
+
process_bool_arg,
|
|
7
|
+
process_list_arg,
|
|
8
|
+
)
|
|
5
9
|
from cumulusci.tasks.salesforce import BaseSalesforceApiTask
|
|
6
10
|
from cumulusci.utils import inject_namespace
|
|
7
11
|
from cumulusci.utils.http.requests_utils import safe_json_from_response
|
{cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/update_profile.py
RENAMED
|
@@ -231,28 +231,28 @@ class ProfileGrantAllAccess(MetadataSingleEntityTransformTask, BaseSalesforceApi
|
|
|
231
231
|
|
|
232
232
|
def _strip_namespace_from_record_type(self, record_type):
|
|
233
233
|
"""Strip namespace prefix from record type string.
|
|
234
|
-
|
|
234
|
+
|
|
235
235
|
Converts 'namespace__Object__c.namespace__RecordType' to 'Object__c.RecordType'
|
|
236
236
|
"""
|
|
237
237
|
if not self.options.get("namespace_inject"):
|
|
238
238
|
return record_type
|
|
239
|
-
|
|
239
|
+
|
|
240
240
|
namespace = self.options["namespace_inject"]
|
|
241
241
|
namespace_prefix = f"{namespace}__"
|
|
242
|
-
|
|
242
|
+
|
|
243
243
|
# Split on the dot to handle object and record type separately
|
|
244
244
|
parts = record_type.split(".", 1)
|
|
245
245
|
if len(parts) != 2:
|
|
246
246
|
return record_type
|
|
247
|
-
|
|
247
|
+
|
|
248
248
|
object_name, record_type_name = parts
|
|
249
|
-
|
|
249
|
+
|
|
250
250
|
# Strip namespace prefix from both object and record type if present
|
|
251
251
|
if object_name.startswith(namespace_prefix):
|
|
252
|
-
object_name = object_name[len(namespace_prefix):]
|
|
252
|
+
object_name = object_name[len(namespace_prefix) :]
|
|
253
253
|
if record_type_name.startswith(namespace_prefix):
|
|
254
|
-
record_type_name = record_type_name[len(namespace_prefix):]
|
|
255
|
-
|
|
254
|
+
record_type_name = record_type_name[len(namespace_prefix) :]
|
|
255
|
+
|
|
256
256
|
return f"{object_name}.{record_type_name}"
|
|
257
257
|
|
|
258
258
|
def _set_record_types(self, tree, api_name):
|
|
@@ -287,13 +287,17 @@ class ProfileGrantAllAccess(MetadataSingleEntityTransformTask, BaseSalesforceApi
|
|
|
287
287
|
# Look for the recordTypeVisibilities element
|
|
288
288
|
# First try with the original record type
|
|
289
289
|
elem = tree.find("recordTypeVisibilities", recordType=rt["record_type"])
|
|
290
|
-
|
|
291
|
-
# If not found and we're in a namespaced org, try with namespace stripped
|
|
290
|
+
|
|
291
|
+
# If not found and we're in a namespaced org, try with namespace stripped
|
|
292
292
|
# (since Salesforce may return without namespace in namespaced orgs)
|
|
293
293
|
if elem is None and self.options.get("namespaced_org"):
|
|
294
|
-
record_type_without_namespace = self._strip_namespace_from_record_type(
|
|
295
|
-
|
|
296
|
-
|
|
294
|
+
record_type_without_namespace = self._strip_namespace_from_record_type(
|
|
295
|
+
rt["record_type"]
|
|
296
|
+
)
|
|
297
|
+
elem = tree.find(
|
|
298
|
+
"recordTypeVisibilities", recordType=record_type_without_namespace
|
|
299
|
+
)
|
|
300
|
+
|
|
297
301
|
if elem is None:
|
|
298
302
|
raise TaskOptionsError(
|
|
299
303
|
f"Record Type {rt['record_type']} (or {record_type_without_namespace}) not found in retrieved {api_name}.profile"
|
{cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/permsets.py
RENAMED
|
@@ -2,7 +2,7 @@ import json
|
|
|
2
2
|
|
|
3
3
|
from cumulusci.cli.ui import CliTable
|
|
4
4
|
from cumulusci.core.exceptions import CumulusCIException
|
|
5
|
-
from cumulusci.core.utils import
|
|
5
|
+
from cumulusci.core.utils import determine_managed_mode, process_list_arg
|
|
6
6
|
from cumulusci.tasks.salesforce import BaseSalesforceApiTask
|
|
7
7
|
from cumulusci.utils import inject_namespace
|
|
8
8
|
|
|
@@ -47,23 +47,23 @@ The managed mode and namespaced org detection is automatic based on the org cont
|
|
|
47
47
|
|
|
48
48
|
def _init_namespace_injection(self):
|
|
49
49
|
"""Initialize namespace injection options for processing permission set names.
|
|
50
|
-
|
|
50
|
+
|
|
51
51
|
This automatically determines managed mode and namespaced org context based on:
|
|
52
52
|
- Whether the package is installed in the org (managed mode)
|
|
53
53
|
- Whether we're in a packaging org (namespaced org)
|
|
54
54
|
"""
|
|
55
55
|
namespace = self.project_config.project__package__namespace
|
|
56
|
-
|
|
56
|
+
|
|
57
57
|
# Automatically determine managed mode based on org context
|
|
58
58
|
managed = determine_managed_mode(
|
|
59
59
|
self.options, self.project_config, self.org_config
|
|
60
60
|
)
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
# Automatically determine if we're in a namespaced org (e.g., packaging org)
|
|
63
|
-
namespaced_org = (
|
|
64
|
-
|
|
63
|
+
namespaced_org = bool(namespace) and namespace == getattr(
|
|
64
|
+
self.org_config, "namespace", None
|
|
65
65
|
)
|
|
66
|
-
|
|
66
|
+
|
|
67
67
|
# Store in options for use by inject_namespace
|
|
68
68
|
self.options["namespace_inject"] = namespace
|
|
69
69
|
self.options["managed"] = managed
|
|
@@ -87,7 +87,8 @@ The managed mode and namespaced org detection is automatic based on the org cont
|
|
|
87
87
|
self._init_namespace_injection()
|
|
88
88
|
# Process namespace tokens in api_names
|
|
89
89
|
self.options["api_names"] = [
|
|
90
|
-
self._inject_namespace(api_name)
|
|
90
|
+
self._inject_namespace(api_name)
|
|
91
|
+
for api_name in self.options["api_names"]
|
|
91
92
|
]
|
|
92
93
|
|
|
93
94
|
users = self._query_existing_assignments()
|
|
@@ -106,7 +107,13 @@ The managed mode and namespaced org detection is automatic based on the org cont
|
|
|
106
107
|
|
|
107
108
|
def _needs_namespace_injection(self):
|
|
108
109
|
"""Check if namespace injection is needed based on presence of tokens in api_names."""
|
|
109
|
-
namespace_tokens = [
|
|
110
|
+
namespace_tokens = [
|
|
111
|
+
"%%%NAMESPACE%%%",
|
|
112
|
+
"%%%NAMESPACED_ORG%%%",
|
|
113
|
+
"%%%NAMESPACE_OR_C%%%",
|
|
114
|
+
"%%%NAMESPACED_ORG_OR_C%%%",
|
|
115
|
+
"%%%NAMESPACE_DOT%%%",
|
|
116
|
+
]
|
|
110
117
|
return any(
|
|
111
118
|
any(token in api_name for token in namespace_tokens)
|
|
112
119
|
for api_name in self.options["api_names"]
|