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.

Files changed (782) hide show
  1. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/PKG-INFO +6 -9
  2. cumulusci_plus-5.0.27/cumulusci/__about__.py +1 -0
  3. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_error.py +3 -1
  4. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/flowrunner.py +2 -0
  5. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/github.py +1 -1
  6. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/sfdx.py +3 -1
  7. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_flowrunner.py +100 -0
  8. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cumulusci.yml +8 -0
  9. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/ObjectManagerPageObject.py +1 -1
  10. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/rest_deploy.py +1 -1
  11. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/anon.py +1 -1
  12. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/testrunner.py +6 -1
  13. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract.py +0 -1
  14. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_load.py +0 -2
  15. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_select_utils.py +6 -0
  16. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/base.py +7 -3
  17. cumulusci_plus-5.0.27/cumulusci/tasks/push/README.md +57 -0
  18. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/README.md +13 -13
  19. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/test_robotframework.py +1 -1
  20. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/Deploy.py +5 -1
  21. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/composite.py +1 -1
  22. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/custom_settings_wait.py +1 -1
  23. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/enable_prediction.py +5 -1
  24. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/sourcetracking.py +1 -1
  25. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/update_profile.py +17 -13
  26. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/permsets.py +16 -9
  27. cumulusci_plus-5.0.27/cumulusci/tasks/utility/credentialManager.py +256 -0
  28. cumulusci_plus-5.0.27/cumulusci/tasks/utility/directoryRecreator.py +30 -0
  29. cumulusci_plus-5.0.27/cumulusci/tasks/utility/secretsToEnv.py +132 -0
  30. cumulusci_plus-5.0.27/cumulusci/tasks/utility/tests/test_credentialManager.py +564 -0
  31. cumulusci_plus-5.0.27/cumulusci/tasks/utility/tests/test_directoryRecreator.py +439 -0
  32. cumulusci_plus-5.0.27/cumulusci/tasks/utility/tests/test_secretsToEnv.py +1091 -0
  33. cumulusci_plus-5.0.27/cumulusci/utils/http/tests/cassettes/ManualEditTestCompositeParallelSalesforce.test_http_headers.yaml +33 -0
  34. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/tests/test_model_parser.py +2 -2
  35. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/docs/history.md +27 -2
  36. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/pyproject.toml +1 -0
  37. cumulusci_plus-5.0.25/cumulusci/__about__.py +0 -1
  38. cumulusci_plus-5.0.25/cumulusci/tasks/push/README.md +0 -59
  39. cumulusci_plus-5.0.25/cumulusci/utils/http/tests/cassettes/ManualEditTestCompositeParallelSalesforce.test_http_headers.yaml +0 -32
  40. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/.gitignore +0 -0
  41. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/AUTHORS.rst +0 -0
  42. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/LICENSE +0 -0
  43. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/README.md +0 -0
  44. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/__init__.py +0 -0
  45. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/__main__.py +0 -0
  46. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/__init__.py +0 -0
  47. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/cci.py +0 -0
  48. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/error.py +0 -0
  49. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/flow.py +0 -0
  50. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/logger.py +0 -0
  51. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/org.py +0 -0
  52. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/plan.py +0 -0
  53. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/project.py +0 -0
  54. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/robot.py +0 -0
  55. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/runtime.py +0 -0
  56. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/service.py +0 -0
  57. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/task.py +0 -0
  58. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/__init__.py +0 -0
  59. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_cci.py +0 -0
  60. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_flow.py +0 -0
  61. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_logger.py +0 -0
  62. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_org.py +0 -0
  63. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_plan.py +0 -0
  64. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_project.py +0 -0
  65. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_robot.py +0 -0
  66. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_runtime.py +0 -0
  67. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_service.py +0 -0
  68. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_task.py +0 -0
  69. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_ui.py +0 -0
  70. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/test_utils.py +0 -0
  71. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/tests/utils.py +0 -0
  72. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/ui.py +0 -0
  73. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/cli/utils.py +0 -0
  74. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/conftest.py +0 -0
  75. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/__init__.py +0 -0
  76. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/BaseConfig.py +0 -0
  77. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/BaseTaskFlowConfig.py +0 -0
  78. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/OrgConfig.py +0 -0
  79. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/ScratchOrgConfig.py +0 -0
  80. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/__init__.py +0 -0
  81. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/base_config.py +0 -0
  82. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/base_task_flow_config.py +0 -0
  83. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/marketing_cloud_service_config.py +0 -0
  84. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/oauth2_service_config.py +0 -0
  85. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/org_config.py +0 -0
  86. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/project_config.py +0 -0
  87. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/scratch_org_config.py +0 -0
  88. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/sfdx_org_config.py +0 -0
  89. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/tests/_test_config_backwards_compatibility.py +0 -0
  90. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/tests/test_config.py +0 -0
  91. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/tests/test_config_expensive.py +0 -0
  92. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/tests/test_config_util.py +0 -0
  93. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/universal_config.py +0 -0
  94. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/config/util.py +0 -0
  95. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/datasets.py +0 -0
  96. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/debug.py +0 -0
  97. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/__init__.py +0 -0
  98. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/base.py +0 -0
  99. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/dependencies.py +0 -0
  100. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/github.py +0 -0
  101. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/github_resolvers.py +0 -0
  102. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/resolvers.py +0 -0
  103. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/tests/__init__.py +0 -0
  104. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/tests/conftest.py +0 -0
  105. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/tests/test_dependencies.py +0 -0
  106. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/tests/test_github.py +0 -0
  107. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/tests/test_resolvers.py +0 -0
  108. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/dependencies/utils.py +0 -0
  109. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/enums.py +0 -0
  110. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/exceptions.py +0 -0
  111. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/__init__.py +0 -0
  112. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/base_project_keychain.py +0 -0
  113. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/encrypted_file_project_keychain.py +0 -0
  114. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/environment_project_keychain.py +0 -0
  115. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/serialization.py +0 -0
  116. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/subprocess_keychain.py +0 -0
  117. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/tests/conftest.py +0 -0
  118. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/tests/test_base_project_keychain.py +0 -0
  119. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/keychain/tests/test_encrypted_file_project_keychain.py +0 -0
  120. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/metadeploy/__init__.py +0 -0
  121. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/metadeploy/api.py +0 -0
  122. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/metadeploy/plans.py +0 -0
  123. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/metadeploy/tests/test_api.py +0 -0
  124. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/runtime.py +0 -0
  125. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source/__init__.py +0 -0
  126. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source/github.py +0 -0
  127. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source/local_folder.py +0 -0
  128. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source_transforms/__init__.py +0 -0
  129. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source_transforms/tests/test_transforms.py +0 -0
  130. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/source_transforms/transforms.py +0 -0
  131. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tasks.py +0 -0
  132. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/template_utils.py +0 -0
  133. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/__init__.py +0 -0
  134. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/cassettes/TestDatasetsE2E.test_datasets_e2e.yaml +0 -0
  135. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/cassettes/TestDatasetsE2E.test_datasets_extract_standard_objects.yaml +0 -0
  136. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/cassettes/TestDatasetsE2E.test_datasets_read_explicit_extract_declaration.yaml +0 -0
  137. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/fake_remote_repo/cumulusci.yml +0 -0
  138. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/fake_remote_repo/tasks/directory/example_2.py +0 -0
  139. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/fake_remote_repo/tasks/example.py +0 -0
  140. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/fake_remote_repo_2/cumulusci.yml +0 -0
  141. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/fake_remote_repo_2/tasks/example_3.py +0 -0
  142. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_datasets_e2e.py +0 -0
  143. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_exceptions.py +0 -0
  144. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_github.py +0 -0
  145. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_sfdx.py +0 -0
  146. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_source.py +0 -0
  147. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_tasks.py +0 -0
  148. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_utils.py +0 -0
  149. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_utils_merge_config.py +0 -0
  150. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/test_versions.py +0 -0
  151. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/untrusted_repo_child/cumulusci.yml +0 -0
  152. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/untrusted_repo_child/tasks/untrusted_child.py +0 -0
  153. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/untrusted_repo_parent/cumulusci.yml +0 -0
  154. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/untrusted_repo_parent/tasks/untrusted_parent.py +0 -0
  155. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/utils.py +0 -0
  156. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/tests/yaml/global.yaml +0 -0
  157. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/utils.py +0 -0
  158. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/core/versions.py +0 -0
  159. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/admin_profile.xml +0 -0
  160. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/delete_excludes.txt +0 -0
  161. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/templates/project/README.md +0 -0
  162. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/templates/project/cumulusci.yml +0 -0
  163. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/templates/project/dot-gitignore +0 -0
  164. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/templates/project/mapping.yml +0 -0
  165. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/files/templates/project/scratch_def.json +0 -0
  166. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/__init__.py +0 -0
  167. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/client.py +0 -0
  168. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/exceptions.py +0 -0
  169. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/salesforce.py +0 -0
  170. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/tests/__init__.py +0 -0
  171. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/tests/cassettes/test_get_device_code.yaml +0 -0
  172. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/tests/cassettes/test_get_device_oauth_token.yaml +0 -0
  173. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/tests/test_client.py +0 -0
  174. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/oauth/tests/test_salesforce.py +0 -0
  175. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/plugins/__init__.py +0 -0
  176. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/plugins/plugin_base.py +0 -0
  177. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/plugins/plugin_loader.py +0 -0
  178. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/CumulusCI.py +0 -0
  179. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/CumulusCI.robot +0 -0
  180. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/Performance.py +0 -0
  181. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/Salesforce.py +0 -0
  182. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/Salesforce.robot +0 -0
  183. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/SalesforceAPI.py +0 -0
  184. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/SalesforcePlaywright.py +0 -0
  185. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/SalesforcePlaywright.robot +0 -0
  186. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/__init__.py +0 -0
  187. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/base_library.py +0 -0
  188. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/faker_mixin.py +0 -0
  189. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/form_handlers.py +0 -0
  190. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/javascript/cci_init.js +0 -0
  191. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/javascript/cumulusci.js +0 -0
  192. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/locator_manager.py +0 -0
  193. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/locators_56.py +0 -0
  194. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/locators_57.py +0 -0
  195. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/BasePageObjects.py +0 -0
  196. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/PageObjectLibrary.py +0 -0
  197. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/PageObjects.py +0 -0
  198. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/__init__.py +0 -0
  199. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/pageobjects/baseobjects.py +0 -0
  200. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/perftests/short/collection_perf.robot +0 -0
  201. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/CustomObjectTestPage.py +0 -0
  202. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/FooTestPage.py +0 -0
  203. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/cumulusci/base.robot +0 -0
  204. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/cumulusci/bulkdata.robot +0 -0
  205. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/cumulusci/communities.robot +0 -0
  206. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/cumulusci/datagen.robot +0 -0
  207. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/TestLibraryA.py +0 -0
  208. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/TestLibraryB.py +0 -0
  209. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/TestListener.py +0 -0
  210. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/api.robot +0 -0
  211. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/browsers.robot +0 -0
  212. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/classic.robot +0 -0
  213. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/create_contact.robot +0 -0
  214. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/faker.robot +0 -0
  215. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/forms.robot +0 -0
  216. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/label_locator.robot +0 -0
  217. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/labels.html +0 -0
  218. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/locators.robot +0 -0
  219. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/pageobjects/base_pageobjects.robot +0 -0
  220. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/pageobjects/example_page_object.py +0 -0
  221. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/pageobjects/listing_page.robot +0 -0
  222. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/pageobjects/objectmanager.robot +0 -0
  223. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/pageobjects/pageobjects.robot +0 -0
  224. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/performance.robot +0 -0
  225. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/playwright/javascript_keywords.robot +0 -0
  226. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/playwright/open_test_browser.robot +0 -0
  227. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/playwright/playwright.robot +0 -0
  228. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/playwright/ui.robot +0 -0
  229. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/populate.robot +0 -0
  230. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/test_testlistener.py +0 -0
  231. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/salesforce/ui.robot +0 -0
  232. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_cumulusci_library.py +0 -0
  233. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_locator_manager.py +0 -0
  234. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_pageobjects.py +0 -0
  235. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_performance.py +0 -0
  236. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_salesforce.py +0 -0
  237. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_salesforce_locators.py +0 -0
  238. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_template_util.py +0 -0
  239. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/tests/test_utils.py +0 -0
  240. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/robotframework/utils.py +0 -0
  241. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/__init__.py +0 -0
  242. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/exceptions.py +0 -0
  243. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/filterable_objects.py +0 -0
  244. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/mc_soap_envelopes.py +0 -0
  245. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/metadata.py +0 -0
  246. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/org_schema.py +0 -0
  247. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/org_schema_models.py +0 -0
  248. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/package_install.py +0 -0
  249. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/package_zip.py +0 -0
  250. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/retrieve_profile_api.py +0 -0
  251. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/soap_envelopes.py +0 -0
  252. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/__init__.py +0 -0
  253. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/metadata_test_strings.py +0 -0
  254. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_metadata.py +0 -0
  255. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_package_install.py +0 -0
  256. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_package_zip.py +0 -0
  257. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_rest_deploy.py +0 -0
  258. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_retrieve_profile_api.py +0 -0
  259. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/tests/test_utils.py +0 -0
  260. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/salesforce_api/utils.py +0 -0
  261. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/schema/cumulusci.jsonschema.json +0 -0
  262. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/__init__.py +0 -0
  263. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/__init__.py +0 -0
  264. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/batch.py +0 -0
  265. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/tests/cassettes/ManualEditTestApexIntegrationTests.test_run_tests__integration_test.yaml +0 -0
  266. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/apex/tests/test_apex_tasks.py +0 -0
  267. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/base_source_control_task.py +0 -0
  268. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/__init__.py +0 -0
  269. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/base_generate_data_task.py +0 -0
  270. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/dates.py +0 -0
  271. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/delete.py +0 -0
  272. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/calculate_dependencies.py +0 -0
  273. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/extract_yml.py +0 -0
  274. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/hardcoded_default_declarations.py +0 -0
  275. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/synthesize_extract_declarations.py +0 -0
  276. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/tests/test_extract_yml.py +0 -0
  277. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/extract_dataset_utils/tests/test_synthesize_extract_declarations.py +0 -0
  278. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/factory_utils.py +0 -0
  279. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate.py +0 -0
  280. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_and_load_data.py +0 -0
  281. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_and_load_data_from_yaml.py +0 -0
  282. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_from_yaml.py +0 -0
  283. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping.py +0 -0
  284. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/dependency_map.py +0 -0
  285. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/extract_mapping_file_generator.py +0 -0
  286. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/generate_mapping_from_declarations.py +0 -0
  287. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/load_mapping_file_generator.py +0 -0
  288. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/mapping_generator_post_processes.py +0 -0
  289. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/mapping_transforms.py +0 -0
  290. {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
  291. {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
  292. {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
  293. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/generate_mapping_utils/tests/test_mapping_transforms.py +0 -0
  294. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/load.py +0 -0
  295. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/mapping_parser.py +0 -0
  296. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/query_transformers.py +0 -0
  297. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/select_utils.py +0 -0
  298. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/snowfakery.py +0 -0
  299. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/snowfakery_utils/queue_manager.py +0 -0
  300. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_run_until.py +0 -0
  301. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_working_directory.py +0 -0
  302. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/snowfakery_utils/subtask_configurator.py +0 -0
  303. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/step.py +0 -0
  304. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/__init__.py +0 -0
  305. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_random_strategy.yaml +0 -0
  306. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_annoy_strategy.yaml +0 -0
  307. {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
  308. {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
  309. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_strategy.yaml +0 -0
  310. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_standard_strategy.yaml +0 -0
  311. {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
  312. {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
  313. {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
  314. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestSnowfakery.test_snowfakery_query_salesforce.yaml +0 -0
  315. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestUpdatesIntegrationTests.test_updates_task.yaml +0 -0
  316. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_simple_upsert__rest.yaml +0 -0
  317. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_upsert__rest.yaml +0 -0
  318. {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
  319. {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
  320. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/cassettes/TestUpsert.test_upsert_complex_fields__bulk.yaml +0 -0
  321. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/dummy_data_factory.py +0 -0
  322. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/integration_test_utils.py +0 -0
  323. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping-oid.yml +0 -0
  324. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_after.yml +0 -0
  325. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_poly.yml +0 -0
  326. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_poly_incomplete.yml +0 -0
  327. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_poly_wrong.yml +0 -0
  328. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select.yml +0 -0
  329. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_invalid_strategy.yml +0 -0
  330. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_invalid_threshold__invalid_number.yml +0 -0
  331. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_invalid_threshold__invalid_strategy.yml +0 -0
  332. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_invalid_threshold__non_float.yml +0 -0
  333. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_missing_priority_fields.yml +0 -0
  334. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_select_no_priority_fields.yml +0 -0
  335. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_simple.yml +0 -0
  336. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_v1.yml +0 -0
  337. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_v2.yml +0 -0
  338. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_v3.yml +0 -0
  339. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mapping_vanilla_sf.yml +0 -0
  340. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/mock_data_factory_without_mapping.py +0 -0
  341. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/person_accounts.sql +0 -0
  342. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/person_accounts.yml +0 -0
  343. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/person_accounts_minimal.yml +0 -0
  344. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes.sql +0 -0
  345. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes.yml +0 -0
  346. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes_2.sql +0 -0
  347. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes_2.yml +0 -0
  348. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes_with_ispersontype.sql +0 -0
  349. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/recordtypes_with_ispersontype.yml +0 -0
  350. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/child/child2.yml +0 -0
  351. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/child.yml +0 -0
  352. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/gen_npsp_standard_objects.recipe.yml +0 -0
  353. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/include_parent.yml +0 -0
  354. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/npsp_standard_objects_macros.yml +0 -0
  355. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/options.recipe.yml +0 -0
  356. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/query_snowfakery.recipe.yml +0 -0
  357. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/sf_standard_object_macros.yml +0 -0
  358. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.load.yml +0 -0
  359. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.recipe.yml +0 -0
  360. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_2.load.yml +0 -0
  361. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.load.yml +0 -0
  362. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.recipe.yml +0 -0
  363. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels_2.load.yml +0 -0
  364. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/unique_values.recipe.yml +0 -0
  365. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/upsert.recipe.yml +0 -0
  366. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/upsert_2.recipe.yml +0 -0
  367. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/snowfakery/upsert_before.yml +0 -0
  368. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_base_generate_data_tasks.py +0 -0
  369. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_dates.py +0 -0
  370. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_delete.py +0 -0
  371. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_extract.py +0 -0
  372. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_factory_utils.py +0 -0
  373. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_generate_and_load.py +0 -0
  374. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_generate_from_snowfakery_task.py +0 -0
  375. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_generatemapping.py +0 -0
  376. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_mapping_parser.py +0 -0
  377. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_query_db__joins_self_lookups.sql +0 -0
  378. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_query_db__joins_self_lookups.yml +0 -0
  379. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_query_db_joins_lookups.sql +0 -0
  380. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_query_db_joins_lookups.yml +0 -0
  381. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_query_db_joins_lookups_select.yml +0 -0
  382. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_select.py +0 -0
  383. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_snowfakery.py +0 -0
  384. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_step.py +0 -0
  385. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_updates.py +0 -0
  386. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_upsert.py +0 -0
  387. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/test_utils.py +0 -0
  388. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/testdata.db +0 -0
  389. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/testdata.sql +0 -0
  390. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/update_describe.py +0 -0
  391. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/update_person_accounts.yml +0 -0
  392. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/tests/utils.py +0 -0
  393. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/update_data.py +0 -0
  394. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/upsert_utils.py +0 -0
  395. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/bulkdata/utils.py +0 -0
  396. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/command.py +0 -0
  397. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/connectedapp.py +0 -0
  398. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/create_package_version.py +0 -0
  399. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/datadictionary.py +0 -0
  400. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/dx_convert_from.py +0 -0
  401. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/__init__.py +0 -0
  402. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/base.py +0 -0
  403. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/commit_status.py +0 -0
  404. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/merge.py +0 -0
  405. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/publish.py +0 -0
  406. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/pull_request.py +0 -0
  407. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/release.py +0 -0
  408. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/release_report.py +0 -0
  409. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/tag.py +0 -0
  410. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/tests/__init__.py +0 -0
  411. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/tests/test_util.py +0 -0
  412. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/tests/test_vcs_migration.py +0 -0
  413. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/tests/util_github_api.py +0 -0
  414. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/github/util.py +0 -0
  415. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/__init__.py +0 -0
  416. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/api.py +0 -0
  417. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/base.py +0 -0
  418. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/deploy.py +0 -0
  419. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/get_user_info.py +0 -0
  420. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/mc_constants.py +0 -0
  421. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/__init__.py +0 -0
  422. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/conftest.py +0 -0
  423. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/expected-payload.json +0 -0
  424. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test-mc-pkg.zip +0 -0
  425. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test_api.py +0 -0
  426. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test_api_soap_envelopes.py +0 -0
  427. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test_base.py +0 -0
  428. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test_deploy.py +0 -0
  429. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/test_get_user_info.py +0 -0
  430. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/marketing_cloud/tests/validation-response.json +0 -0
  431. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/__init__.py +0 -0
  432. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/ee_src.py +0 -0
  433. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/managed_src.py +0 -0
  434. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/metadata_map.yml +0 -0
  435. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/modify.py +0 -0
  436. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/package.py +0 -0
  437. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/__init__.py +0 -0
  438. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/.hidden/.keep +0 -0
  439. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/destructiveChanges.xml +0 -0
  440. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/package.xml +0 -0
  441. {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
  442. {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
  443. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/sample_package.xml +0 -0
  444. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/test_ee_src.py +0 -0
  445. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/test_managed_src.py +0 -0
  446. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/test_modify.py +0 -0
  447. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata/tests/test_package.py +0 -0
  448. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/__init__.py +0 -0
  449. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/duplicate_rules.py +0 -0
  450. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/field_sets.py +0 -0
  451. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/help_text.py +0 -0
  452. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/layouts.py +0 -0
  453. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/objects.py +0 -0
  454. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/permissions.py +0 -0
  455. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/picklists.py +0 -0
  456. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/remote_site_settings.py +0 -0
  457. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/sharing.py +0 -0
  458. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_base.py +0 -0
  459. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_duplicate_rules.py +0 -0
  460. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_field_sets.py +0 -0
  461. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_help_text.py +0 -0
  462. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_ip_ranges.py +0 -0
  463. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_layouts.py +0 -0
  464. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_objects.py +0 -0
  465. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_permissions.py +0 -0
  466. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_picklists.py +0 -0
  467. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_remote_site_settings.py +0 -0
  468. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_sharing.py +0 -0
  469. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/tests/test_value_sets.py +0 -0
  470. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadata_etl/value_sets.py +0 -0
  471. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metadeploy.py +0 -0
  472. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/metaxml.py +0 -0
  473. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/__init__.py +0 -0
  474. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/dataset_load.py +0 -0
  475. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/licenses.py +0 -0
  476. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/packages.py +0 -0
  477. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/permsets.py +0 -0
  478. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/recordtypes.py +0 -0
  479. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/retrieve_tasks.py +0 -0
  480. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/settings.py +0 -0
  481. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/sobjects.py +0 -0
  482. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_dataset_load.py +0 -0
  483. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_licenses.py +0 -0
  484. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_packages.py +0 -0
  485. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_permset_preflights.py +0 -0
  486. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_recordtypes.py +0 -0
  487. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_retrieve_tasks.py +0 -0
  488. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_settings.py +0 -0
  489. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/preflight/tests/test_sobjects.py +0 -0
  490. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/__init__.py +0 -0
  491. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/push_api.py +0 -0
  492. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/pushfails.py +0 -0
  493. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/tasks.py +0 -0
  494. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/tests/conftest.py +0 -0
  495. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/tests/test_push_api.py +0 -0
  496. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/push/tests/test_push_tasks.py +0 -0
  497. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/__init__.py +0 -0
  498. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/exceptions.py +0 -0
  499. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/generator.py +0 -0
  500. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/parser.py +0 -0
  501. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/provider.py +0 -0
  502. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/task.py +0 -0
  503. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/__init__.py +0 -0
  504. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/change_notes/full/example1.md +0 -0
  505. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/change_notes/multi/1.txt +0 -0
  506. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/change_notes/multi/2.txt +0 -0
  507. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/change_notes/multi/3.txt +0 -0
  508. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/change_notes/single/1.txt +0 -0
  509. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/test_generator.py +0 -0
  510. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/test_parser.py +0 -0
  511. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/test_provider.py +0 -0
  512. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/test_task.py +0 -0
  513. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/release_notes/tests/utils.py +0 -0
  514. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/__init__.py +0 -0
  515. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/debugger/DebugListener.py +0 -0
  516. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/debugger/__init__.py +0 -0
  517. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/debugger/model.py +0 -0
  518. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/debugger/ui.py +0 -0
  519. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/libdoc.py +0 -0
  520. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/robotframework.py +0 -0
  521. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/stylesheet.css +0 -0
  522. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/template.html +0 -0
  523. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/TestLibrary.py +0 -0
  524. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/TestPageObjects.py +0 -0
  525. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/TestResource.robot +0 -0
  526. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/failing_tests.robot +0 -0
  527. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/performance.robot +0 -0
  528. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/test_browser_proxies.py +0 -0
  529. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/test_debugger.py +0 -0
  530. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/robotframework/tests/test_robot_parallel.py +0 -0
  531. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/BaseRetrieveMetadata.py +0 -0
  532. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/BaseSalesforceApiTask.py +0 -0
  533. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/BaseSalesforceMetadataApiTask.py +0 -0
  534. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/BaseSalesforceTask.py +0 -0
  535. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/BaseUninstallMetadata.py +0 -0
  536. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/CreateCommunity.py +0 -0
  537. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/CreatePackage.py +0 -0
  538. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/DeployBundles.py +0 -0
  539. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/DescribeMetadataTypes.py +0 -0
  540. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/EnsureRecordTypes.py +0 -0
  541. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/GetInstalledPackages.py +0 -0
  542. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/ListCommunities.py +0 -0
  543. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/ListCommunityTemplates.py +0 -0
  544. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/PublishCommunity.py +0 -0
  545. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/RetrievePackaged.py +0 -0
  546. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/RetrieveReportsAndDashboards.py +0 -0
  547. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/RetrieveUnpackaged.py +0 -0
  548. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/SOQLQuery.py +0 -0
  549. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/SfDataCommands.py +0 -0
  550. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/SfPackageCommands.py +0 -0
  551. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UninstallLocal.py +0 -0
  552. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UninstallLocalBundles.py +0 -0
  553. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UninstallLocalNamespacedBundles.py +0 -0
  554. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UninstallPackage.py +0 -0
  555. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UninstallPackaged.py +0 -0
  556. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/UpdateAdminProfile.py +0 -0
  557. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/__init__.py +0 -0
  558. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/activate_flow.py +0 -0
  559. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/check_components.py +0 -0
  560. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/create_permission_sets.py +0 -0
  561. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/custom_settings.py +0 -0
  562. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/getPackageVersion.py +0 -0
  563. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/insert_record.py +0 -0
  564. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/install_package_version.py +0 -0
  565. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/license_preflights.py +0 -0
  566. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/network_member_group.py +0 -0
  567. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/nonsourcetracking.py +0 -0
  568. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/org_settings.py +0 -0
  569. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/package_upload.py +0 -0
  570. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/profiles.py +0 -0
  571. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/promote_package_version.py +0 -0
  572. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/retrieve_profile.py +0 -0
  573. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/salesforce_files.py +0 -0
  574. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/__init__.py +0 -0
  575. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_CreateCommunity.py +0 -0
  576. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_CreatePackage.py +0 -0
  577. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_Deploy.py +0 -0
  578. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_DeployBundles.py +0 -0
  579. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_EnsureRecordTypes.py +0 -0
  580. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_ListCommunities.py +0 -0
  581. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_ListCommunityTemplates.py +0 -0
  582. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_PackageUpload.py +0 -0
  583. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_ProfileGrantAllAccess.py +0 -0
  584. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_PublishCommunity.py +0 -0
  585. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_RetrievePackaged.py +0 -0
  586. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_RetrieveReportsAndDashboards.py +0 -0
  587. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_RetrieveUnpackaged.py +0 -0
  588. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_SOQLQuery.py +0 -0
  589. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_SfDataCommands.py +0 -0
  590. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_SfPackageCommands.py +0 -0
  591. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallLocal.py +0 -0
  592. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallLocalBundles.py +0 -0
  593. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallLocalNamespacedBundles.py +0 -0
  594. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallPackage.py +0 -0
  595. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallPackaged.py +0 -0
  596. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_UninstallPackagedIncremental.py +0 -0
  597. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_activate_flow.py +0 -0
  598. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_base_tasks.py +0 -0
  599. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_check_components.py +0 -0
  600. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_composite.py +0 -0
  601. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_create_permission_sets.py +0 -0
  602. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_custom_settings.py +0 -0
  603. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_custom_settings_wait.py +0 -0
  604. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_describemetadatatypes.py +0 -0
  605. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_enable_prediction.py +0 -0
  606. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_getPackageVersion.py +0 -0
  607. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_insert_record.py +0 -0
  608. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_install_package_version.py +0 -0
  609. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_network_member_group.py +0 -0
  610. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_nonsourcetracking.py +0 -0
  611. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_org_settings.py +0 -0
  612. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_profiles.py +0 -0
  613. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_retrieve_profile.py +0 -0
  614. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_salesforce_files.py +0 -0
  615. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_sourcetracking.py +0 -0
  616. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_trigger_handlers.py +0 -0
  617. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_update_dependencies.py +0 -0
  618. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_update_external_credential.py +0 -0
  619. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/test_update_named_credential.py +0 -0
  620. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/tests/util.py +0 -0
  621. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/trigger_handlers.py +0 -0
  622. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/uninstall_packaged_incremental.py +0 -0
  623. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/update_dependencies.py +0 -0
  624. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/update_external_credential.py +0 -0
  625. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/update_named_credential.py +0 -0
  626. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/photos.py +0 -0
  627. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/tests/photo.mock.txt +0 -0
  628. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/tests/test_permsets.py +0 -0
  629. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/salesforce/users/tests/test_photos.py +0 -0
  630. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sample_data/capture_sample_data.py +0 -0
  631. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sample_data/load_sample_data.py +0 -0
  632. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sample_data/test_capture_sample_data.py +0 -0
  633. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sample_data/test_load_sample_data.py +0 -0
  634. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdmu/__init__.py +0 -0
  635. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdmu/sfdmu.py +0 -0
  636. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdmu/tests/__init__.py +0 -0
  637. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdmu/tests/test_runner.py +0 -0
  638. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdmu/tests/test_sfdmu.py +0 -0
  639. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/sfdx.py +0 -0
  640. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/__init__.py +0 -0
  641. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/conftest.py +0 -0
  642. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_command.py +0 -0
  643. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_connectedapp.py +0 -0
  644. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_create_package_version.py +0 -0
  645. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_datadictionary.py +0 -0
  646. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_dx_convert_from.py +0 -0
  647. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_metadeploy.py +0 -0
  648. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_metaxml.py +0 -0
  649. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_promote_package_version.py +0 -0
  650. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_pushfails.py +0 -0
  651. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_salesforce.py +0 -0
  652. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_sfdx.py +0 -0
  653. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/tests/test_util.py +0 -0
  654. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/util.py +0 -0
  655. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/utility/env_management.py +0 -0
  656. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/utility/tests/test_env_management.py +0 -0
  657. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/__init__.py +0 -0
  658. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/commit_status.py +0 -0
  659. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/create_commit_status.py +0 -0
  660. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/download_extract.py +0 -0
  661. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/merge.py +0 -0
  662. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/publish.py +0 -0
  663. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/pull_request.py +0 -0
  664. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/release.py +0 -0
  665. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/release_report.py +0 -0
  666. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tag.py +0 -0
  667. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_commit_status.py +0 -0
  668. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_download_extract.py +0 -0
  669. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_merge.py +0 -0
  670. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_publish.py +0 -0
  671. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_pull_request.py +0 -0
  672. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_release.py +0 -0
  673. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_release_report.py +0 -0
  674. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vcs/tests/github/test_tag.py +0 -0
  675. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vlocity/exceptions.py +0 -0
  676. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vlocity/tests/test_vlocity.py +0 -0
  677. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tasks/vlocity/vlocity.py +0 -0
  678. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/__init__.py +0 -0
  679. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/cassettes/GET_sobjects_Account_PersonAccount_describe.yaml +0 -0
  680. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/cassettes/TestIntegrationInfrastructure.test_integration_tests.yaml +0 -0
  681. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/pytest_sf_orgconnect.py +0 -0
  682. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/pytest_sf_vcr.py +0 -0
  683. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/pytest_sf_vcr_serializer.py +0 -0
  684. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/pytest_typeguard.py +0 -0
  685. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/test_vcr_string_compressor.py +0 -0
  686. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/pytest_plugins/vcr_string_compressor.py +0 -0
  687. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Account_describe.yaml +0 -0
  688. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Case_describe.yaml +0 -0
  689. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Contact_describe.yaml +0 -0
  690. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Custom__c_describe.yaml +0 -0
  691. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Event_describe.yaml +0 -0
  692. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Global_describe.yaml +0 -0
  693. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Lead_describe.yaml +0 -0
  694. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_OpportunityContactRole_describe.yaml +0 -0
  695. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Opportunity_describe.yaml +0 -0
  696. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/GET_sobjects_Organization.yaml +0 -0
  697. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/vcr_string_templates/batchInfoList_xml.tpl +0 -0
  698. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/vcr_string_templates/batchInfo_xml.tpl +0 -0
  699. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/vcr_string_templates/jobInfo_insert_xml.tpl +0 -0
  700. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/shared_cassettes/vcr_string_templates/jobInfo_upsert_xml.tpl +0 -0
  701. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_entry_points.py +0 -0
  702. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_integration_infrastructure.py +0 -0
  703. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_main.py +0 -0
  704. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_schema.py +0 -0
  705. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_utils.py +0 -0
  706. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/test_vcr_serializer.py +0 -0
  707. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/uncompressed_cassette.yaml +0 -0
  708. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/tests/util.py +0 -0
  709. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/__init__.py +0 -0
  710. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/classutils.py +0 -0
  711. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/collections.py +0 -0
  712. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/deprecation.py +0 -0
  713. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/encryption.py +0 -0
  714. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/fileutils.py +0 -0
  715. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/git.py +0 -0
  716. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/multi_request.py +0 -0
  717. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/requests_utils.py +0 -0
  718. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/tests/cassettes/TestCompositeParallelSalesforce.test_composite_parallel_salesforce.yaml +0 -0
  719. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/tests/cassettes/TestCompositeParallelSalesforce.test_errors.yaml +0 -0
  720. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/tests/cassettes/TestCompositeParallelSalesforce.test_reference_ids.yaml +0 -0
  721. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/http/tests/test_multi_request.py +0 -0
  722. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/iterators.py +0 -0
  723. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/logging.py +0 -0
  724. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/metaprogramming.py +0 -0
  725. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/options.py +0 -0
  726. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/parallel/queries_in_parallel/run_queries_in_parallel.py +0 -0
  727. {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
  728. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/parallel/task_worker_queues/parallel_worker.py +0 -0
  729. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/parallel/task_worker_queues/parallel_worker_queue.py +0 -0
  730. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/parallel/task_worker_queues/tests/test_parallel_worker.py +0 -0
  731. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/count_sobjects.py +0 -0
  732. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/soql.py +0 -0
  733. {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
  734. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/tests/cassettes/TestCountSObjects.test_count_sobjects__errors.yaml +0 -0
  735. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/tests/cassettes/TestCountSObjects.test_count_sobjects_simple.yaml +0 -0
  736. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/tests/test_count_sobjects.py +0 -0
  737. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/salesforce/tests/test_soql.py +0 -0
  738. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/cassettes/ManualEditTestDescribeOrg.test_minimal_schema.yaml +0 -0
  739. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/cassettes/ManualEdit_test_describe_to_sql.yaml +0 -0
  740. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_fileutils.py +0 -0
  741. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_git.py +0 -0
  742. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_logging.py +0 -0
  743. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_option_parsing.py +0 -0
  744. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_org_schema.py +0 -0
  745. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_org_schema_models.py +0 -0
  746. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/tests/test_waiting.py +0 -0
  747. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/version_strings.py +0 -0
  748. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/waiting.py +0 -0
  749. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/__init__.py +0 -0
  750. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/metadata_tree.py +0 -0
  751. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/robot_xml.py +0 -0
  752. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/salesforce_encoding.py +0 -0
  753. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/test/test_metadata_tree.py +0 -0
  754. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/xml/test/test_salesforce_encoding.py +0 -0
  755. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/cumulusci_yml.py +0 -0
  756. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/model_parser.py +0 -0
  757. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/safer_loader.py +0 -0
  758. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/tests/bad_cci.yml +0 -0
  759. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/tests/cassettes/TestCumulusciYml.test_validate_url__with_errors.yaml +0 -0
  760. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/tests/test_cumulusci_yml.py +0 -0
  761. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/yaml/tests/test_safer_loader.py +0 -0
  762. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/utils/ziputils.py +0 -0
  763. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/base.py +0 -0
  764. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/bootstrap.py +0 -0
  765. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/__init__.py +0 -0
  766. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/adapter.py +0 -0
  767. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/release_notes/generator.py +0 -0
  768. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/release_notes/parser.py +0 -0
  769. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/release_notes/provider.py +0 -0
  770. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/service.py +0 -0
  771. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/tests/test_adapter.py +0 -0
  772. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/github/tests/test_service.py +0 -0
  773. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/models.py +0 -0
  774. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/tests/conftest.py +0 -0
  775. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/tests/dummy_service.py +0 -0
  776. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/tests/test_vcs_base.py +0 -0
  777. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/tests/test_vcs_bootstrap.py +0 -0
  778. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/utils/__init__.py +0 -0
  779. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/cumulusci/vcs/vcs_source.py +0 -0
  780. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/docs/adrs/README.md +0 -0
  781. {cumulusci_plus-5.0.25 → cumulusci_plus-5.0.27}/docs/diagram/README.md +0 -0
  782. {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.25
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.25 (2025-10-09)
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.24...v5.0.25
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(sys.version_info > (3, 11), reason="requires python3.10 or higher")
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 type(gh) == GitHubEnterprise:
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, 'flush'):
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 process_bool_arg, determine_managed_mode
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 decode_to_unicode, process_bool_arg, process_list_arg, determine_managed_mode
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
@@ -2715,8 +2715,6 @@ class TestLoadData:
2715
2715
  chunks_index = 0
2716
2716
 
2717
2717
  def fetchmany(batch_size):
2718
- nonlocal chunks_index
2719
-
2720
2718
  assert 200 == batch_size
2721
2719
 
2722
2720
  # _generate_contact_id_map_for_person_accounts should break if fetchmany returns falsy.
@@ -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 process_bool_arg, process_list_arg, determine_managed_mode
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
- bool(namespace) and namespace == getattr(self.org_config, 'namespace', None)
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. 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.
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
- * 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
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 process_bool_arg, process_list_arg, determine_managed_mode
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 process_bool_arg, process_list_arg, determine_managed_mode
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
 
@@ -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 process_bool_arg, determine_managed_mode
6
+ from cumulusci.core.utils import determine_managed_mode, process_bool_arg
7
7
  from cumulusci.tasks.salesforce import BaseSalesforceApiTask
8
8
 
9
9
 
@@ -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 process_bool_arg, process_list_arg, determine_managed_mode
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
@@ -312,7 +312,7 @@ def retrieve_components(
312
312
  "5",
313
313
  "--ignore-conflicts",
314
314
  ]
315
-
315
+
316
316
  # Only add --output-dir if output_dir was specified
317
317
  if output_dir:
318
318
  sfdx_args.extend(["--output-dir", retrieve_target])
@@ -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(rt["record_type"])
295
- elem = tree.find("recordTypeVisibilities", recordType=record_type_without_namespace)
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"
@@ -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 process_list_arg, process_bool_arg, determine_managed_mode
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
- bool(namespace) and namespace == getattr(self.org_config, "namespace", None)
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) for api_name in self.options["api_names"]
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 = ["%%%NAMESPACE%%%", "%%%NAMESPACED_ORG%%%", "%%%NAMESPACE_OR_C%%%", "%%%NAMESPACED_ORG_OR_C%%%", "%%%NAMESPACE_DOT%%%"]
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"]