cumulusci 3.53.0__tar.gz → 3.53.0.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/HISTORY.rst +0 -21
  2. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/PKG-INFO +1 -22
  3. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/cci.py +1 -7
  4. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/error.py +9 -16
  5. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/org.py +5 -20
  6. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_cci.py +0 -6
  7. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_error.py +49 -63
  8. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_org.py +0 -67
  9. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_service.py +14 -15
  10. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_utils.py +0 -55
  11. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/utils.py +0 -32
  12. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/marketing_cloud_service_config.py +0 -17
  13. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/exceptions.py +0 -6
  14. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/encrypted_file_project_keychain.py +2 -25
  15. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_github.py +7 -7
  16. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_source.py +11 -11
  17. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/snowfakery.py +2 -12
  18. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/queue_manager.py +29 -76
  19. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_snowfakery.py +22 -6
  20. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_updates.py +8 -115
  21. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/update_data.py +10 -44
  22. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_publish.py +11 -11
  23. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_release.py +4 -4
  24. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_tag.py +2 -2
  25. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/base.py +7 -1
  26. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/get_user_info.py +2 -1
  27. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_base.py +1 -0
  28. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_deploy.py +11 -18
  29. cumulusci-3.53.0.dev0/cumulusci/tasks/marketing_cloud/util.py +35 -0
  30. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/test_provider.py +3 -3
  31. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/libdoc.py +5 -9
  32. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/test_robotframework.py +12 -16
  33. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_metadeploy.py +1 -1
  34. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_promote_package_version.py +3 -3
  35. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/parallel/task_worker_queues/parallel_worker.py +16 -29
  36. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/parallel/task_worker_queues/parallel_worker_queue.py +4 -13
  37. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/parallel/task_worker_queues/tests/test_parallel_worker.py +3 -4
  38. cumulusci-3.53.0.dev0/cumulusci/version.txt +1 -0
  39. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/PKG-INFO +1 -22
  40. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/SOURCES.txt +1 -2
  41. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/requires.txt +8 -5
  42. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/robot.rst +0 -1
  43. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/requirements/dev.txt +14 -13
  44. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/requirements/prod.txt +13 -8
  45. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/setup.py +1 -3
  46. cumulusci-3.53.0/cumulusci/tasks/bulkdata/tests/integration_test_utils.py +0 -24
  47. cumulusci-3.53.0/cumulusci/version.txt +0 -1
  48. cumulusci-3.53.0/docs/robot_locators.rst +0 -203
  49. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/AUTHORS.rst +0 -0
  50. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/CONTRIBUTING.rst +0 -0
  51. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/LICENSE +0 -0
  52. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/MANIFEST.in +0 -0
  53. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/README.rst +0 -0
  54. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/__init__.py +0 -0
  55. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/__main__.py +0 -0
  56. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/__init__.py +0 -0
  57. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/flow.py +0 -0
  58. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/logger.py +0 -0
  59. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/plan.py +0 -0
  60. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/project.py +0 -0
  61. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/runtime.py +0 -0
  62. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/service.py +0 -0
  63. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/task.py +0 -0
  64. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/__init__.py +0 -0
  65. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_flow.py +0 -0
  66. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_logger.py +0 -0
  67. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_plan.py +0 -0
  68. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_project.py +0 -0
  69. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_runtime.py +0 -0
  70. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_task.py +0 -0
  71. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/test_ui.py +0 -0
  72. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/tests/utils.py +0 -0
  73. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cli/ui.py +0 -0
  74. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/conftest.py +0 -0
  75. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/__init__.py +0 -0
  76. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/BaseConfig.py +0 -0
  77. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/BaseTaskFlowConfig.py +0 -0
  78. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/OrgConfig.py +0 -0
  79. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/ScratchOrgConfig.py +0 -0
  80. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/__init__.py +0 -0
  81. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/base_config.py +0 -0
  82. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/base_task_flow_config.py +0 -0
  83. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/oauth2_service_config.py +0 -0
  84. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/org_config.py +0 -0
  85. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/project_config.py +0 -0
  86. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/scratch_org_config.py +0 -0
  87. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/sfdx_org_config.py +0 -0
  88. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/tests/_test_config_backwards_compatibility.py +0 -0
  89. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/tests/test_config.py +0 -0
  90. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/tests/test_config_expensive.py +0 -0
  91. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/tests/test_config_util.py +0 -0
  92. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/universal_config.py +0 -0
  93. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/config/util.py +0 -0
  94. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/debug.py +0 -0
  95. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/__init__.py +0 -0
  96. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/dependencies.py +0 -0
  97. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/github.py +0 -0
  98. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/resolvers.py +0 -0
  99. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/tests/__init__.py +0 -0
  100. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/tests/conftest.py +0 -0
  101. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/tests/test_dependencies.py +0 -0
  102. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/tests/test_github.py +0 -0
  103. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/tests/test_resolvers.py +0 -0
  104. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/dependencies/utils.py +0 -0
  105. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/flowrunner.py +0 -0
  106. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/github.py +0 -0
  107. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/__init__.py +0 -0
  108. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/base_project_keychain.py +0 -0
  109. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/environment_project_keychain.py +0 -0
  110. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/tests/conftest.py +0 -0
  111. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/tests/test_base_project_keychain.py +0 -0
  112. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/keychain/tests/test_encrypted_file_project_keychain.py +0 -0
  113. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/metadeploy.py +0 -0
  114. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/runtime.py +0 -0
  115. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/sfdx.py +0 -0
  116. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/source/__init__.py +0 -0
  117. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/source/github.py +0 -0
  118. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/source/local_folder.py +0 -0
  119. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tasks.py +0 -0
  120. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/template_utils.py +0 -0
  121. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/__init__.py +0 -0
  122. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_exceptions.py +0 -0
  123. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_flowrunner.py +0 -0
  124. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_sfdx.py +0 -0
  125. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_tasks.py +0 -0
  126. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_utils.py +0 -0
  127. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_utils_merge_config.py +0 -0
  128. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/test_versions.py +0 -0
  129. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/tests/utils.py +0 -0
  130. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/utils.py +0 -0
  131. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/core/versions.py +0 -0
  132. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/cumulusci.yml +0 -0
  133. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/admin_profile.xml +0 -0
  134. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/delete_excludes.txt +0 -0
  135. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/templates/project/README.md +0 -0
  136. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/templates/project/cumulusci.yml +0 -0
  137. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/templates/project/dot-gitignore +0 -0
  138. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/templates/project/mapping.yml +0 -0
  139. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/files/templates/project/scratch_def.json +0 -0
  140. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/__init__.py +0 -0
  141. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/client.py +0 -0
  142. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/exceptions.py +0 -0
  143. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/salesforce.py +0 -0
  144. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/tests/__init__.py +0 -0
  145. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/tests/test_client.py +0 -0
  146. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/oauth/tests/test_salesforce.py +0 -0
  147. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/CumulusCI.py +0 -0
  148. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/CumulusCI.robot +0 -0
  149. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/Salesforce.py +0 -0
  150. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/Salesforce.robot +0 -0
  151. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/__init__.py +0 -0
  152. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/form_handlers.py +0 -0
  153. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/locator_manager.py +0 -0
  154. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/locators_52.py +0 -0
  155. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/locators_53.py +0 -0
  156. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/locators_54.py +0 -0
  157. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/BasePageObjects.py +0 -0
  158. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/ObjectManagerPageObject.py +0 -0
  159. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/PageObjectLibrary.py +0 -0
  160. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/PageObjects.py +0 -0
  161. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/__init__.py +0 -0
  162. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/pageobjects/baseobjects.py +0 -0
  163. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/perftests/short/collection_perf.robot +0 -0
  164. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/BarTestPage.py +0 -0
  165. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/FooTestPage.py +0 -0
  166. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/cumulusci/base.robot +0 -0
  167. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/cumulusci/bulkdata.robot +0 -0
  168. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/cumulusci/communities.robot +0 -0
  169. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/cumulusci/datagen.robot +0 -0
  170. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/TestLibraryA.py +0 -0
  171. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/TestLibraryB.py +0 -0
  172. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/TestListener.py +0 -0
  173. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/api.robot +0 -0
  174. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/browsers.robot +0 -0
  175. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/classic.robot +0 -0
  176. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/create_contact.robot +0 -0
  177. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/faker.robot +0 -0
  178. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/forms.robot +0 -0
  179. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/locators.robot +0 -0
  180. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/base_pageobjects.robot +0 -0
  181. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/example_page_object.py +0 -0
  182. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/listing_page.robot +0 -0
  183. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/objectmanager.robot +0 -0
  184. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/pageobjects/pageobjects.robot +0 -0
  185. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/performance.robot +0 -0
  186. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/populate.robot +0 -0
  187. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/test_testlistener.py +0 -0
  188. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/salesforce/ui.robot +0 -0
  189. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_cumulusci_library.py +0 -0
  190. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_locator_manager.py +0 -0
  191. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_pageobjects.py +0 -0
  192. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_salesforce.py +0 -0
  193. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_salesforce_locators.py +0 -0
  194. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_template_util.py +0 -0
  195. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/tests/test_utils.py +0 -0
  196. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/robotframework/utils.py +0 -0
  197. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/__init__.py +0 -0
  198. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/exceptions.py +0 -0
  199. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/mc_soap_envelopes.py +0 -0
  200. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/metadata.py +0 -0
  201. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/org_schema.py +0 -0
  202. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/org_schema_models.py +0 -0
  203. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/package_install.py +0 -0
  204. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/package_zip.py +0 -0
  205. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/soap_envelopes.py +0 -0
  206. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/__init__.py +0 -0
  207. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/metadata_test_strings.py +0 -0
  208. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/test_metadata.py +0 -0
  209. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/test_package_install.py +0 -0
  210. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/test_package_zip.py +0 -0
  211. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/tests/test_utils.py +0 -0
  212. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/salesforce_api/utils.py +0 -0
  213. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/schema/cumulusci.jsonschema.json +0 -0
  214. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/__init__.py +0 -0
  215. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/apex/__init__.py +0 -0
  216. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/apex/anon.py +0 -0
  217. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/apex/batch.py +0 -0
  218. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/apex/testrunner.py +0 -0
  219. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/apex/tests/test_apex_tasks.py +0 -0
  220. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/__init__.py +0 -0
  221. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/base_generate_data_task.py +0 -0
  222. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/dates.py +0 -0
  223. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/delete.py +0 -0
  224. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/extract.py +0 -0
  225. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/factory_utils.py +0 -0
  226. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/generate.py +0 -0
  227. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/generate_and_load_data.py +0 -0
  228. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/generate_and_load_data_from_yaml.py +0 -0
  229. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/generate_from_yaml.py +0 -0
  230. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/generate_mapping.py +0 -0
  231. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/load.py +0 -0
  232. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/mapping_parser.py +0 -0
  233. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_run_until.py +0 -0
  234. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/snowfakery_working_directory.py +0 -0
  235. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/snowfakery_utils/subtask_configurator.py +0 -0
  236. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/step.py +0 -0
  237. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/Account.json +0 -0
  238. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/Case.json +0 -0
  239. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/Contact.json +0 -0
  240. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/Opportunity.json +0 -0
  241. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/OpportunityContactRole.json +0 -0
  242. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/__init__.py +0 -0
  243. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/dummy_data_factory.py +0 -0
  244. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/global_describe.json +0 -0
  245. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping-oid.yml +0 -0
  246. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_after.yml +0 -0
  247. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_simple.yml +0 -0
  248. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_v1.yml +0 -0
  249. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_v2.yml +0 -0
  250. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_v3.yml +0 -0
  251. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mapping_vanilla_sf.yml +0 -0
  252. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/mock_data_factory_without_mapping.py +0 -0
  253. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/recordtypes.yml +0 -0
  254. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/child/child2.yml +0 -0
  255. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/child.yml +0 -0
  256. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/gen_npsp_standard_objects.recipe.yml +0 -0
  257. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/include_parent.yml +0 -0
  258. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/npsp_standard_objects_macros.yml +0 -0
  259. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/options.recipe.yml +0 -0
  260. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/query_snowfakery.recipe.yml +0 -0
  261. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/sf_standard_object_macros.yml +0 -0
  262. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.load.yml +0 -0
  263. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery.recipe.yml +0 -0
  264. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_2.load.yml +0 -0
  265. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.load.yml +0 -0
  266. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels.recipe.yml +0 -0
  267. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/simple_snowfakery_channels_2.load.yml +0 -0
  268. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/snowfakery/unique_values.recipe.yml +0 -0
  269. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_base_generate_data_tasks.py +0 -0
  270. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_dates.py +0 -0
  271. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_delete.py +0 -0
  272. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_extract.py +0 -0
  273. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_factory_utils.py +0 -0
  274. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_generate_and_load.py +0 -0
  275. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_generate_from_snowfakery_task.py +0 -0
  276. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_generatemapping.py +0 -0
  277. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_load.py +0 -0
  278. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_mapping_parser.py +0 -0
  279. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_step.py +0 -0
  280. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/test_utils.py +0 -0
  281. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/tests/utils.py +0 -0
  282. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/bulkdata/utils.py +0 -0
  283. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/command.py +0 -0
  284. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/connectedapp.py +0 -0
  285. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/create_package_version.py +0 -0
  286. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/datadictionary.py +0 -0
  287. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/dx_convert_from.py +0 -0
  288. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/__init__.py +0 -0
  289. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/base.py +0 -0
  290. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/commit_status.py +0 -0
  291. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/merge.py +0 -0
  292. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/publish.py +0 -0
  293. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/pull_request.py +0 -0
  294. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/release.py +0 -0
  295. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/release_report.py +0 -0
  296. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tag.py +0 -0
  297. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/__init__.py +0 -0
  298. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_commit_status.py +0 -0
  299. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_merge.py +0 -0
  300. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_pull_request.py +0 -0
  301. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_release_report.py +0 -0
  302. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/test_util.py +0 -0
  303. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/tests/util_github_api.py +0 -0
  304. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/github/util.py +0 -0
  305. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/__init__.py +0 -0
  306. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/api.py +0 -0
  307. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/deploy.py +0 -0
  308. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/mc_constants.py +0 -0
  309. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/__init__.py +0 -0
  310. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/conftest.py +0 -0
  311. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/expected-payload.json +0 -0
  312. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_api.py +0 -0
  313. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_api_soap_envelopes.py +0 -0
  314. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/marketing_cloud/tests/test_get_user_info.py +0 -0
  315. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/__init__.py +0 -0
  316. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/ee_src.py +0 -0
  317. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/managed_src.py +0 -0
  318. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/metadata_map.yml +0 -0
  319. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/modify.py +0 -0
  320. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/package.py +0 -0
  321. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/__init__.py +0 -0
  322. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/destructiveChanges.xml +0 -0
  323. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/package.xml +0 -0
  324. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/package_metadata/namespaced_report_folder/reports/namespace__TestFolder/TestReport.report +0 -0
  325. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/sample_package.xml +0 -0
  326. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/test_ee_src.py +0 -0
  327. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/test_managed_src.py +0 -0
  328. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/test_modify.py +0 -0
  329. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata/tests/test_package.py +0 -0
  330. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/__init__.py +0 -0
  331. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/base.py +0 -0
  332. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/duplicate_rules.py +0 -0
  333. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/field_sets.py +0 -0
  334. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/help_text.py +0 -0
  335. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/layouts.py +0 -0
  336. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/permissions.py +0 -0
  337. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/picklists.py +0 -0
  338. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/sharing.py +0 -0
  339. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_base.py +0 -0
  340. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_duplicate_rules.py +0 -0
  341. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_field_sets.py +0 -0
  342. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_help_text.py +0 -0
  343. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_layouts.py +0 -0
  344. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_permissions.py +0 -0
  345. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_picklists.py +0 -0
  346. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_sharing.py +0 -0
  347. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/tests/test_value_sets.py +0 -0
  348. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadata_etl/value_sets.py +0 -0
  349. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metadeploy.py +0 -0
  350. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/metaxml.py +0 -0
  351. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/__init__.py +0 -0
  352. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/licenses.py +0 -0
  353. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/packages.py +0 -0
  354. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/permsets.py +0 -0
  355. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/recordtypes.py +0 -0
  356. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/settings.py +0 -0
  357. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/sobjects.py +0 -0
  358. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_licenses.py +0 -0
  359. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_packages.py +0 -0
  360. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_permset_preflights.py +0 -0
  361. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_recordtypes.py +0 -0
  362. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_settings.py +0 -0
  363. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/preflight/tests/test_sobjects.py +0 -0
  364. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/README.md +0 -0
  365. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/__init__.py +0 -0
  366. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/push_api.py +0 -0
  367. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/pushfails.py +0 -0
  368. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/tasks.py +0 -0
  369. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/tests/conftest.py +0 -0
  370. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/tests/test_push_api.py +0 -0
  371. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/push/tests/test_push_tasks.py +0 -0
  372. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/README.md +0 -0
  373. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/__init__.py +0 -0
  374. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/exceptions.py +0 -0
  375. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/generator.py +0 -0
  376. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/parser.py +0 -0
  377. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/provider.py +0 -0
  378. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/task.py +0 -0
  379. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/__init__.py +0 -0
  380. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/full/example1.md +0 -0
  381. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/multi/1.txt +0 -0
  382. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/multi/2.txt +0 -0
  383. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/multi/3.txt +0 -0
  384. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/change_notes/single/1.txt +0 -0
  385. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/test_generator.py +0 -0
  386. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/test_parser.py +0 -0
  387. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/test_task.py +0 -0
  388. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/release_notes/tests/utils.py +0 -0
  389. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/__init__.py +0 -0
  390. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/debugger/DebugListener.py +0 -0
  391. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/debugger/__init__.py +0 -0
  392. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/debugger/model.py +0 -0
  393. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/debugger/ui.py +0 -0
  394. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/lint.py +0 -0
  395. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/lint_defaults.txt +0 -0
  396. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/robotframework.py +0 -0
  397. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/stylesheet.css +0 -0
  398. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/template.html +0 -0
  399. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/TestLibrary.py +0 -0
  400. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/TestPageObjects.py +0 -0
  401. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/TestResource.robot +0 -0
  402. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/failing_tests.robot +0 -0
  403. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/performance.robot +0 -0
  404. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/test_debugger.py +0 -0
  405. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/test_robot_lint.py +0 -0
  406. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/robotframework/tests/test_robot_parallel.py +0 -0
  407. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/BaseRetrieveMetadata.py +0 -0
  408. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/BaseSalesforceApiTask.py +0 -0
  409. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/BaseSalesforceMetadataApiTask.py +0 -0
  410. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/BaseSalesforceTask.py +0 -0
  411. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/BaseUninstallMetadata.py +0 -0
  412. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/CreateCommunity.py +0 -0
  413. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/CreatePackage.py +0 -0
  414. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/Deploy.py +0 -0
  415. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/DeployBundles.py +0 -0
  416. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/EnsureRecordTypes.py +0 -0
  417. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/GetInstalledPackages.py +0 -0
  418. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/ListCommunities.py +0 -0
  419. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/ListCommunityTemplates.py +0 -0
  420. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/PublishCommunity.py +0 -0
  421. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/RetrievePackaged.py +0 -0
  422. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/RetrieveReportsAndDashboards.py +0 -0
  423. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/RetrieveUnpackaged.py +0 -0
  424. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/SOQLQuery.py +0 -0
  425. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UninstallLocal.py +0 -0
  426. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UninstallLocalBundles.py +0 -0
  427. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UninstallLocalNamespacedBundles.py +0 -0
  428. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UninstallPackage.py +0 -0
  429. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UninstallPackaged.py +0 -0
  430. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/UpdateAdminProfile.py +0 -0
  431. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/__init__.py +0 -0
  432. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/activate_flow.py +0 -0
  433. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/composite.py +0 -0
  434. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/create_permission_sets.py +0 -0
  435. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/custom_settings.py +0 -0
  436. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/custom_settings_wait.py +0 -0
  437. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/enable_prediction.py +0 -0
  438. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/insert_record.py +0 -0
  439. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/install_package_version.py +0 -0
  440. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/license_preflights.py +0 -0
  441. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/network_member_group.py +0 -0
  442. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/org_settings.py +0 -0
  443. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/package_upload.py +0 -0
  444. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/profiles.py +0 -0
  445. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/promote_package_version.py +0 -0
  446. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/sourcetracking.py +0 -0
  447. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/__init__.py +0 -0
  448. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_CreateCommunity.py +0 -0
  449. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_CreatePackage.py +0 -0
  450. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_Deploy.py +0 -0
  451. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_DeployBundles.py +0 -0
  452. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_EnsureRecordTypes.py +0 -0
  453. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_ListCommunities.py +0 -0
  454. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_ListCommunityTemplates.py +0 -0
  455. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_PackageUpload.py +0 -0
  456. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_ProfileGrantAllAccess.py +0 -0
  457. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_PublishCommunity.py +0 -0
  458. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_RetrievePackaged.py +0 -0
  459. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_RetrieveReportsAndDashboards.py +0 -0
  460. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_RetrieveUnpackaged.py +0 -0
  461. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_SOQLQuery.py +0 -0
  462. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallLocal.py +0 -0
  463. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallLocalBundles.py +0 -0
  464. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallLocalNamespacedBundles.py +0 -0
  465. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallPackage.py +0 -0
  466. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallPackaged.py +0 -0
  467. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_UninstallPackagedIncremental.py +0 -0
  468. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_activate_flow.py +0 -0
  469. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_base_tasks.py +0 -0
  470. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_composite.py +0 -0
  471. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_create_permission_sets.py +0 -0
  472. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_custom_settings.py +0 -0
  473. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_custom_settings_wait.py +0 -0
  474. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_enable_prediction.py +0 -0
  475. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_insert_record.py +0 -0
  476. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_install_package_version.py +0 -0
  477. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_network_member_group.py +0 -0
  478. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_org_settings.py +0 -0
  479. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_profiles.py +0 -0
  480. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_sourcetracking.py +0 -0
  481. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_trigger_handlers.py +0 -0
  482. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/test_update_dependencies.py +0 -0
  483. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/tests/util.py +0 -0
  484. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/trigger_handlers.py +0 -0
  485. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/uninstall_packaged_incremental.py +0 -0
  486. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/update_dependencies.py +0 -0
  487. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/update_profile.py +0 -0
  488. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/users/permsets.py +0 -0
  489. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/users/photos.py +0 -0
  490. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/users/tests/photo.mock.txt +0 -0
  491. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/users/tests/test_permsets.py +0 -0
  492. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/salesforce/users/tests/test_photos.py +0 -0
  493. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/sfdx.py +0 -0
  494. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/__init__.py +0 -0
  495. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/conftest.py +0 -0
  496. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_command.py +0 -0
  497. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_connectedapp.py +0 -0
  498. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_create_package_version.py +0 -0
  499. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_datadictionary.py +0 -0
  500. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_dx_convert_from.py +0 -0
  501. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_metaxml.py +0 -0
  502. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_pushfails.py +0 -0
  503. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_salesforce.py +0 -0
  504. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_sfdx.py +0 -0
  505. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/tests/test_util.py +0 -0
  506. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tasks/util.py +0 -0
  507. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/__init__.py +0 -0
  508. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/pytest_plugins/pytest_sf_orgconnect.py +0 -0
  509. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/pytest_plugins/pytest_sf_vcr.py +0 -0
  510. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/pytest_plugins/pytest_typeguard.py +0 -0
  511. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/test_entry_points.py +0 -0
  512. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/test_integration_infrastructure.py +0 -0
  513. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/test_main.py +0 -0
  514. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/test_schema.py +0 -0
  515. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/test_utils.py +0 -0
  516. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/tests/util.py +0 -0
  517. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/__init__.py +0 -0
  518. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/classutils.py +0 -0
  519. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/fileutils.py +0 -0
  520. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/git.py +0 -0
  521. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/http/multi_request.py +0 -0
  522. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/http/requests_utils.py +0 -0
  523. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/http/tests/test_multi_request.py +0 -0
  524. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/iterators.py +0 -0
  525. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/logging.py +0 -0
  526. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_fileutils.py +0 -0
  527. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_git.py +0 -0
  528. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_logging.py +0 -0
  529. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_org_schema.py +0 -0
  530. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_org_schema_models.py +0 -0
  531. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/tests/test_waiting.py +0 -0
  532. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/waiting.py +0 -0
  533. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/__init__.py +0 -0
  534. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/metadata_tree.py +0 -0
  535. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/robot_xml.py +0 -0
  536. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/salesforce_encoding.py +0 -0
  537. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/test/test_metadata_tree.py +0 -0
  538. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/xml/test/test_salesforce_encoding.py +0 -0
  539. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/cumulusci_yml.py +0 -0
  540. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/model_parser.py +0 -0
  541. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/safer_loader.py +0 -0
  542. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/tests/bad_cci.yml +0 -0
  543. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/tests/test_cumulusci_yml.py +0 -0
  544. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/tests/test_model_parser.py +0 -0
  545. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/yaml/tests/test_safer_loader.py +0 -0
  546. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci/utils/ziputils.py +0 -0
  547. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/dependency_links.txt +0 -0
  548. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/entry_points.txt +0 -0
  549. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/not-zip-safe +0 -0
  550. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/cumulusci.egg-info/top_level.txt +0 -0
  551. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/2gp_testing.rst +0 -0
  552. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/Makefile +0 -0
  553. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/about.rst +0 -0
  554. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/cheat_sheet.rst +0 -0
  555. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/cli.rst +0 -0
  556. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/commands.rst +0 -0
  557. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/concepts.rst +0 -0
  558. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/conf.py +0 -0
  559. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/config.rst +0 -0
  560. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/connected_orgs.rst +0 -0
  561. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/continuous_integration.rst +0 -0
  562. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/contributing.rst +0 -0
  563. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/cookbook.rst +0 -0
  564. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/cumulusci_flow.rst +0 -0
  565. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/data.rst +0 -0
  566. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/dev.rst +0 -0
  567. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/diagram/img/image1.png +0 -0
  568. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/diagram/img/image12.png +0 -0
  569. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/diagram/img/image15.png +0 -0
  570. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/diagram/img/image17.png +0 -0
  571. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/diagram/img/image3.png +0 -0
  572. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/env_var_reference.rst +0 -0
  573. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/get_started.rst +0 -0
  574. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/github_actions.rst +0 -0
  575. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/headless.rst +0 -0
  576. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/history.rst +0 -0
  577. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/cci_service_list.png +0 -0
  578. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/cumulus_ci_workflow.png +0 -0
  579. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/env-var.png +0 -0
  580. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/env-var2.png +0 -0
  581. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github-commit_status_error.png +0 -0
  582. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github-commit_status_pass.png +0 -0
  583. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github-creating_a_uat_release.png +0 -0
  584. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github_checks.png +0 -0
  585. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github_personal_access_token_scopes.png +0 -0
  586. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github_secrets.png +0 -0
  587. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/github_workflow.png +0 -0
  588. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/locate_elements_screenshot.png +0 -0
  589. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/pipx.png +0 -0
  590. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/robot_log_screenshot.png +0 -0
  591. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/robot_toggled_results_screenshot.png +0 -0
  592. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/salesforce-org-process.png +0 -0
  593. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/service-list.png +0 -0
  594. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/skipping_task.png +0 -0
  595. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/windows_python.png +0 -0
  596. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/images/windows_python_success.png +0 -0
  597. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/index.rst +0 -0
  598. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/install.rst +0 -0
  599. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/internals.rst +0 -0
  600. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/intro.rst +0 -0
  601. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/make.bat +0 -0
  602. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/managed_2gp.rst +0 -0
  603. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/managed_package.rst +0 -0
  604. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/metadata_etl.rst +0 -0
  605. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/npsp_eda_2gp.rst +0 -0
  606. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/packaging.rst +0 -0
  607. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/push_upgrades.rst +0 -0
  608. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/reference.rst +0 -0
  609. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/release_notes.rst +0 -0
  610. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/robot_advanced.rst +0 -0
  611. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/robot_debugger.rst +0 -0
  612. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/robot_tutorial.rst +0 -0
  613. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/scratch_orgs.rst +0 -0
  614. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/tutorial.rst +0 -0
  615. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/unlocked_package.rst +0 -0
  616. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/docs/unpackaged.rst +0 -0
  617. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/pyproject.toml +0 -0
  618. {cumulusci-3.53.0 → cumulusci-3.53.0.dev0}/setup.cfg +0 -0
@@ -2,27 +2,6 @@
2
2
  History
3
3
  =======
4
4
 
5
- 3.53.0 (2022-02-24)
6
- -------------------
7
-
8
- Critical Changes
9
-
10
- - CumulusCI now ships with Snowfakery 3.0. See the `Snowfakery release notes <https://github.com/SFDO-Tooling/Snowfakery/releases/tag/v3.0.0>`__. Snowfakery 3.0 ships with opt-in features that will become the default in June 2022; please `test your recipes <https://snowfakery.readthedocs.io/en/latest/#snowfakery-3>`__ now with ``snowfakery_version: 3`` to ensure compatibility.
11
-
12
- Changes
13
-
14
- - CumulusCI now has an ``update_data`` task that allows updates to existing datasets, in coordination with Snowfakery 3.0.
15
- - Orgs connected using ``cci org connect`` now keep track of which ``connected_app`` service was used to connect them, and will use the same ``connected_app`` service when getting a fresh access token, even if it isn't currently the default ``connected_app`` service. This makes it easier to use CumulusCI with multiple ``connected_app`` services. (Orgs that were connected before this update will continue to use the default ``connected_app`` service.)
16
- - When connecting a custom ``connected_app`` service, a default ``login_url`` can be specified (to use a login URL other than https://login.salesforce.com when connecting orgs using this ``connected_app`` service).
17
- - The ``deploy_marketing_cloud_package`` task now utilizes the new API endpoint for deployments.
18
- - CumulusCI commands are more resilient in the face of corrupted or impossible to decode org config files.
19
- - We added documentation about managing Robot Framework locators
20
- - CumulusCI will now warn Windows users if long pathname support is not set up correctly.
21
-
22
- Issues Closed
23
-
24
- - Fixed a bug in the JSON format output of cci service list --json
25
-
26
5
  3.52.0 (2022-02-03)
27
6
  -------------------
28
7
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cumulusci
3
- Version: 3.53.0
3
+ Version: 3.53.0.dev0
4
4
  Summary: Build and release tools for Salesforce developers
5
5
  Home-page: https://github.com/SFDO-Tooling/CumulusCI
6
6
  Author: Salesforce.org
@@ -66,27 +66,6 @@ Description: =========
66
66
  History
67
67
  =======
68
68
 
69
- 3.53.0 (2022-02-24)
70
- -------------------
71
-
72
- Critical Changes
73
-
74
- - CumulusCI now ships with Snowfakery 3.0. See the `Snowfakery release notes <https://github.com/SFDO-Tooling/Snowfakery/releases/tag/v3.0.0>`__. Snowfakery 3.0 ships with opt-in features that will become the default in June 2022; please `test your recipes <https://snowfakery.readthedocs.io/en/latest/#snowfakery-3>`__ now with ``snowfakery_version: 3`` to ensure compatibility.
75
-
76
- Changes
77
-
78
- - CumulusCI now has an ``update_data`` task that allows updates to existing datasets, in coordination with Snowfakery 3.0.
79
- - Orgs connected using ``cci org connect`` now keep track of which ``connected_app`` service was used to connect them, and will use the same ``connected_app`` service when getting a fresh access token, even if it isn't currently the default ``connected_app`` service. This makes it easier to use CumulusCI with multiple ``connected_app`` services. (Orgs that were connected before this update will continue to use the default ``connected_app`` service.)
80
- - When connecting a custom ``connected_app`` service, a default ``login_url`` can be specified (to use a login URL other than https://login.salesforce.com when connecting orgs using this ``connected_app`` service).
81
- - The ``deploy_marketing_cloud_package`` task now utilizes the new API endpoint for deployments.
82
- - CumulusCI commands are more resilient in the face of corrupted or impossible to decode org config files.
83
- - We added documentation about managing Robot Framework locators
84
- - CumulusCI will now warn Windows users if long pathname support is not set up correctly.
85
-
86
- Issues Closed
87
-
88
- - Fixed a bug in the JSON format output of cci service list --json
89
-
90
69
  3.52.0 (2022-02-03)
91
70
  -------------------
92
71
 
@@ -25,12 +25,7 @@ from .project import project
25
25
  from .runtime import CliRuntime, pass_runtime
26
26
  from .service import service
27
27
  from .task import task
28
- from .utils import (
29
- check_latest_version,
30
- get_installed_version,
31
- get_latest_final_version,
32
- warn_if_no_long_paths,
33
- )
28
+ from .utils import check_latest_version, get_installed_version, get_latest_final_version
34
29
 
35
30
  SUGGEST_ERROR_COMMAND = (
36
31
  """Run this command for more information about debugging errors: cci error --help"""
@@ -147,7 +142,6 @@ def show_version_info():
147
142
  console.print(f"CumulusCI version: {cumulusci.__version__} ({sys.argv[0]})")
148
143
  console.print(f"Python version: {sys.version.split()[0]} ({sys.executable})")
149
144
  console.print()
150
- warn_if_no_long_paths(console=console)
151
145
 
152
146
  current_version = get_installed_version()
153
147
  latest_version = get_latest_final_version()
@@ -8,7 +8,6 @@ import click
8
8
  import github3
9
9
 
10
10
  import cumulusci
11
- from cumulusci.cli.utils import warn_if_no_long_paths, win32_long_paths_enabled
12
11
  from cumulusci.core.exceptions import CumulusCIException
13
12
  from cumulusci.core.github import check_github_scopes, create_gist, get_github_api
14
13
 
@@ -41,8 +40,7 @@ def error():
41
40
  """
42
41
 
43
42
 
44
- def get_logfile_path():
45
- return Path.home() / ".cumulusci" / "logs" / "cci.log"
43
+ CCI_LOGFILE_PATH = Path.home() / ".cumulusci" / "logs" / "cci.log"
46
44
 
47
45
 
48
46
  @error.command(
@@ -50,13 +48,11 @@ def get_logfile_path():
50
48
  help="Outputs the most recent traceback (if one exists in the most recent log)",
51
49
  )
52
50
  def error_info():
53
- warn_if_no_long_paths()
54
- logfile_path = get_logfile_path()
55
- if not logfile_path.is_file():
56
- click.echo(f"No logfile found at: {logfile_path}")
51
+ if not CCI_LOGFILE_PATH.is_file():
52
+ click.echo(f"No logfile found at: {CCI_LOGFILE_PATH}")
57
53
  return
58
54
 
59
- traceback = get_traceback(logfile_path.read_text(encoding="utf-8"))
55
+ traceback = get_traceback(CCI_LOGFILE_PATH.read_text(encoding="utf-8"))
60
56
  click.echo(traceback)
61
57
 
62
58
 
@@ -64,7 +60,7 @@ def get_traceback(log_content: str) -> str:
64
60
  """Returns the the traceback in a logfile if it exists."""
65
61
  stacktrace_start = "Traceback (most recent call last):"
66
62
  if stacktrace_start not in log_content:
67
- return f"\nNo stacktrace found in: {get_logfile_path()}\n"
63
+ return f"\nNo stacktrace found in: {CCI_LOGFILE_PATH}\n"
68
64
 
69
65
  stacktrace = ""
70
66
  for i, line in enumerate(reversed(log_content.split("\n")), 1):
@@ -77,14 +73,13 @@ def get_traceback(log_content: str) -> str:
77
73
 
78
74
  @error.command(name="gist", help="Creates a GitHub gist from the latest logfile")
79
75
  @pass_runtime(require_project=False, require_keychain=True)
80
- def error_gist(runtime):
81
- logfile_path = get_logfile_path()
82
- if logfile_path.is_file():
83
- log_content = logfile_path.read_text(encoding="utf-8")
76
+ def gist(runtime):
77
+ if CCI_LOGFILE_PATH.is_file():
78
+ log_content = CCI_LOGFILE_PATH.read_text(encoding="utf-8")
84
79
  else:
85
80
  log_not_found_msg = """No logfile to open at path: {}
86
81
  Please ensure you're running this command from the same directory you were experiencing an issue."""
87
- error_msg = log_not_found_msg.format(logfile_path)
82
+ error_msg = log_not_found_msg.format(CCI_LOGFILE_PATH)
88
83
  click.echo(error_msg)
89
84
  raise CumulusCIException(error_msg)
90
85
 
@@ -120,6 +115,4 @@ def get_context_info():
120
115
  info.append(f"CumulusCI version: {cumulusci.__version__}")
121
116
  info.append(f"Python version: {sys.version.split()[0]} ({sys.executable})")
122
117
  info.append(f"Environment Info: {host_info.system} / {host_info.machine}")
123
- if host_info.system == "Windows":
124
- info.append(f"Windows long path support enabled: {win32_long_paths_enabled()}")
125
118
  return "\n".join(info)
@@ -348,22 +348,12 @@ def org_info(runtime, org_name, print_json):
348
348
  )
349
349
  @pass_runtime(require_project=False, require_keychain=True)
350
350
  def org_list(runtime, json_flag, plain):
351
- def _get_org_safe(org):
352
- try:
353
- return runtime.keychain.get_org(org)
354
- except Exception as e:
355
- click.echo(f"Cannot load org config for `{org}`: {e}")
356
-
357
351
  plain = plain or runtime.universal_config.cli__plain_output
358
- org_configs = ((org, _get_org_safe(org)) for org in runtime.keychain.list_orgs())
359
- org_configs = {org: org_config for org, org_config in org_configs if org_config}
360
-
352
+ org_configs = {
353
+ org: runtime.keychain.get_org(org) for org in runtime.keychain.list_orgs()
354
+ }
361
355
  json_data = {}
362
- try:
363
- default_org_name, _ = runtime.keychain.get_default_org()
364
- except Exception: # pragma: no cover
365
- default_org_name = None
366
-
356
+ default_org_name, _ = runtime.keychain.get_default_org()
367
357
  for org, org_config in org_configs.items():
368
358
  is_org_default = org == default_org_name
369
359
  row_data = {"is_default": is_org_default, "name": org}
@@ -379,12 +369,7 @@ def org_list(runtime, json_flag, plain):
379
369
  console.print(scratch_table, justify="left")
380
370
  console.print(persistent_table, justify="left")
381
371
 
382
- try:
383
- runtime.keychain.cleanup_org_cache_dirs()
384
- except Exception:
385
- click.echo(
386
- "Cannot cleanup org cache dirs, perhaps due to org config files which cannot be decrypted."
387
- )
372
+ runtime.keychain.cleanup_org_cache_dirs()
388
373
 
389
374
 
390
375
  def _make_tables(json_data: dict):
@@ -416,12 +416,6 @@ def test_version__latest(capsys):
416
416
  assert "You have the latest version of CumulusCI" in console_output
417
417
 
418
418
 
419
- @mock.patch("cumulusci.cli.cci.warn_if_no_long_paths")
420
- def test_version__win_path_warning(warn_if):
421
- run_click_command(cci.version)
422
- warn_if.assert_called_once()
423
-
424
-
425
419
  @mock.patch("code.interact")
426
420
  def test_shell(interact):
427
421
  run_click_command(cci.shell)
@@ -1,46 +1,41 @@
1
1
  import re
2
- import sys
2
+ from pathlib import Path
3
3
  from unittest import mock
4
4
 
5
5
  import github3
6
6
  import pytest
7
7
 
8
8
  import cumulusci
9
- from cumulusci.cli.error import get_context_info, get_traceback
9
+ from cumulusci.cli.error import get_traceback
10
10
  from cumulusci.core.exceptions import CumulusCIException
11
- from cumulusci.core.runtime import BaseCumulusCI
11
+ from cumulusci.utils import temporary_dir
12
12
 
13
13
  from .. import error
14
- from .utils import run_cli_command
14
+ from .utils import run_click_command
15
15
 
16
16
 
17
17
  class TestErrorCommands:
18
- def test_error_info(self, capsys):
19
- logfile = error.get_logfile_path()
20
- logfile.parent.mkdir(parents=True)
21
- logfile.write_text(
22
- "This\nis\na\ntest\nTraceback (most recent call last):\n1\n2\n3\n\u2603",
23
- encoding="utf-8",
18
+ @mock.patch("click.echo")
19
+ @mock.patch("cumulusci.cli.error.CCI_LOGFILE_PATH")
20
+ def test_error_info_no_logfile_present(self, log_path, echo):
21
+ log_path.is_file.return_value = False
22
+ run_click_command(error.error_info)
23
+
24
+ echo.assert_called_once_with(f"No logfile found at: {error.CCI_LOGFILE_PATH}")
25
+
26
+ @mock.patch("click.echo")
27
+ def test_error_info(self, echo):
28
+ with temporary_dir() as path:
29
+ logfile = Path(path) / "cci.log"
30
+ logfile.write_text(
31
+ "This\nis\na\ntest\nTraceback (most recent call last):\n1\n2\n3\n\u2603",
32
+ encoding="utf-8",
33
+ )
34
+ with mock.patch("cumulusci.cli.error.CCI_LOGFILE_PATH", logfile):
35
+ run_click_command(error.error_info)
36
+ echo.assert_called_once_with(
37
+ "\nTraceback (most recent call last):\n1\n2\n3\n\u2603"
24
38
  )
25
- result = run_cli_command("error", "info")
26
-
27
- assert "\nTraceback (most recent call last):\n1\n2\n3\n\u2603" in result.stdout
28
-
29
- @mock.patch("cumulusci.cli.error.warn_if_no_long_paths")
30
- def test_error_info_win_warn(self, warn_if):
31
- logfile = error.get_logfile_path()
32
- logfile.parent.mkdir(parents=True)
33
- logfile.write_text(
34
- "This\nis\na\ntest\nTraceback (most recent call last):\n1\n2\n3\n\u2603",
35
- encoding="utf-8",
36
- )
37
- run_cli_command("error", "info")
38
-
39
- warn_if.assert_called_once()
40
-
41
- def test_error_info__no_logfile_present(self, capsys):
42
- result = run_cli_command("error", "info")
43
- assert f"No logfile found at: {error.get_logfile_path()}" in result.stdout
44
39
 
45
40
  def test_get_traceback__no_traceback(self):
46
41
  output = get_traceback("test_content")
@@ -52,6 +47,7 @@ class TestErrorCommands:
52
47
  output = get_traceback(content)
53
48
  assert output == traceback
54
49
 
50
+ @mock.patch("cumulusci.cli.error.CCI_LOGFILE_PATH")
55
51
  @mock.patch("webbrowser.open")
56
52
  @mock.patch("cumulusci.cli.error.platform")
57
53
  @mock.patch("cumulusci.cli.error.sys")
@@ -59,7 +55,7 @@ class TestErrorCommands:
59
55
  @mock.patch("cumulusci.cli.error.create_gist")
60
56
  @mock.patch("cumulusci.cli.error.get_github_api")
61
57
  def test_error_gist(
62
- self, gh_api, create_gist, date, sys, platform, webbrowser_open
58
+ self, gh_api, create_gist, date, sys, platform, webbrowser_open, logfile_path
63
59
  ):
64
60
 
65
61
  platform.uname.return_value = mock.Mock(system="Rossian", machine="x68_46")
@@ -70,10 +66,9 @@ class TestErrorCommands:
70
66
  expected_gist_url = "https://gist.github.com/1234567890abcdefghijkl"
71
67
  create_gist.return_value = mock.Mock(html_url=expected_gist_url)
72
68
 
73
- logfile_path = error.get_logfile_path()
74
- logfile_path.parent.mkdir(parents=True)
75
69
  expected_logfile_content = "Hello there, I'm a logfile."
76
- logfile_path.write_text(expected_logfile_content)
70
+ logfile_path.is_file.return_value = True
71
+ logfile_path.read_text.return_value = expected_logfile_content
77
72
 
78
73
  runtime = mock.Mock()
79
74
  runtime.project_config.repo_root = None
@@ -82,7 +77,7 @@ class TestErrorCommands:
82
77
  "token": "token",
83
78
  }
84
79
 
85
- run_cli_command("error", "gist", runtime=runtime)
80
+ run_click_command(error.gist, runtime=runtime)
86
81
 
87
82
  expected_content = f"""CumulusCI version: {cumulusci.__version__}
88
83
  Python version: {sys.version.split()[0]} ({sys.executable})
@@ -98,16 +93,20 @@ Environment Info: Rossian / x68_46
98
93
  )
99
94
  webbrowser_open.assert_called_once_with(expected_gist_url)
100
95
 
96
+ @mock.patch("cumulusci.cli.error.CCI_LOGFILE_PATH")
97
+ @mock.patch("cumulusci.cli.error.click")
101
98
  @mock.patch("cumulusci.cli.error.platform")
102
99
  @mock.patch("cumulusci.cli.error.sys")
103
100
  @mock.patch("cumulusci.cli.error.datetime")
104
101
  @mock.patch("cumulusci.cli.error.create_gist")
105
102
  @mock.patch("cumulusci.cli.error.get_github_api")
106
- def test_gist__creation_error(self, gh_api, create_gist, date, sys, platform):
107
- logfile_path = error.get_logfile_path()
108
- logfile_path.parent.mkdir(parents=True)
103
+ def test_gist__creation_error(
104
+ self, gh_api, create_gist, date, sys, platform, click, logfile_path
105
+ ):
106
+
109
107
  expected_logfile_content = "Hello there, I'm a logfile."
110
- logfile_path.write_text(expected_logfile_content)
108
+ logfile_path.is_file.return_value = True
109
+ logfile_path.read_text.return_value = expected_logfile_content
111
110
 
112
111
  platform.uname.return_value = mock.Mock(sysname="Rossian", machine="x68_46")
113
112
  sys.version = "1.0.0 (default Jul 24 2019)"
@@ -131,7 +130,7 @@ Environment Info: Rossian / x68_46
131
130
  with pytest.raises(
132
131
  CumulusCIException, match="An error occurred attempting to create your gist"
133
132
  ):
134
- run_cli_command("error", "gist", runtime=runtime)
133
+ run_click_command(error.gist, runtime=runtime)
135
134
 
136
135
  class GitHubExceptionWithResponse(github3.exceptions.NotFoundError, mock.Mock):
137
136
  def __init__(self, status_code):
@@ -143,27 +142,14 @@ Environment Info: Rossian / x68_46
143
142
 
144
143
  create_gist.side_effect = GitHubExceptionWithResponse(404)
145
144
  with pytest.raises(CumulusCIException, match=re.escape(error.GIST_404_ERR_MSG)):
146
- run_cli_command("error", "gist", runtime=runtime)
147
-
148
- def test_gist__file_not_found(self):
149
- runtime = BaseCumulusCI()
150
- with pytest.raises(CumulusCIException, match="No logfile to open"):
151
- run_cli_command("error", "gist", runtime=runtime)
152
-
153
- @pytest.mark.skipif(
154
- sys.platform.startswith("win"), reason="Requires Windows Registry"
155
- )
156
- @mock.patch("cumulusci.cli.error.win32_long_paths_enabled")
157
- def test_get_context_not_win(self, win32_check):
158
- info = get_context_info()
159
- win32_check.assert_not_called()
160
- assert "Windows" not in info
161
-
162
- @pytest.mark.skipif(
163
- not sys.platform.startswith("win"), reason="Requires Windows Registry"
164
- )
165
- @mock.patch("cumulusci.cli.error.win32_long_paths_enabled")
166
- def test_get_context_win(self, win32_check):
167
- info = get_context_info()
168
- win32_check.assert_called_once()
169
- assert "Windows" in info
145
+ run_click_command(error.gist, runtime=runtime)
146
+
147
+ @mock.patch("cumulusci.cli.error.CCI_LOGFILE_PATH")
148
+ @mock.patch("cumulusci.cli.error.click")
149
+ @mock.patch("cumulusci.cli.error.datetime")
150
+ @mock.patch("cumulusci.cli.error.create_gist")
151
+ @mock.patch("cumulusci.cli.error.get_github_api")
152
+ def test_gist__file_not_found(self, gh_api, create_gist, date, click, logfile_path):
153
+ logfile_path.is_file.return_value = False
154
+ with pytest.raises(CumulusCIException):
155
+ run_click_command(error.gist)
@@ -722,73 +722,6 @@ class TestOrgCommands:
722
722
 
723
723
  echo.assert_called_once_with(json.dumps(expected))
724
724
 
725
- @mock.patch("click.echo")
726
- @mock.patch("cumulusci.cli.org.CliTable")
727
- def test_org_list__error(self, cli_tbl, echo):
728
- runtime = mock.Mock()
729
- runtime.universal_config.cli__plain_output = None
730
- org_configs = {
731
- "test0": ScratchOrgConfig(
732
- {
733
- "default": True,
734
- "scratch": True,
735
- "date_created": datetime.now() - timedelta(days=8),
736
- "days": 7,
737
- "config_name": "dev",
738
- "username": "test0@example.com",
739
- },
740
- "test0",
741
- ),
742
- "test1": AssertionError("NOPE!"),
743
- "test2": OrgConfig(
744
- {
745
- "default": False,
746
- "scratch": False,
747
- "expires": "Persistent",
748
- "expired": False,
749
- "config_name": "dev",
750
- "username": "test2@example.com",
751
- "instance_url": "https://dude-chillin-2330-dev-ed.cs22.my.salesforce.com",
752
- },
753
- "test2",
754
- ),
755
- }
756
-
757
- runtime.keychain.list_orgs.return_value = list(org_configs.keys())
758
-
759
- def get_org(orgname):
760
- value = org_configs[orgname]
761
- if isinstance(value, Exception):
762
- raise value
763
- return value
764
-
765
- runtime.keychain.get_org = get_org
766
- runtime.project_config.cache_dir = Path("does_not_possibly_exist")
767
- runtime.keychain.cleanup_org_cache_dirs.side_effect = AssertionError("OUCH!")
768
-
769
- runtime.keychain.get_default_org.return_value = (
770
- "test0",
771
- ScratchOrgConfig(
772
- {
773
- "default": True,
774
- "scratch": True,
775
- "date_created": datetime.now() - timedelta(days=8),
776
- "days": 7,
777
- "config_name": "dev",
778
- "username": "test0@example.com",
779
- },
780
- "test0",
781
- ),
782
- )
783
-
784
- run_click_command(org.org_list, runtime=runtime, json_flag=False, plain=False)
785
-
786
- assert "Cannot load org config for `test1`" in str(
787
- echo.mock_calls
788
- ), echo.mock_calls
789
- assert "NOPE!" in str(echo.mock_calls), echo.mock_calls
790
- assert "Cannot cleanup org cache dirs" in str(echo.mock_calls), echo.mock_calls
791
-
792
725
  @mock.patch("click.echo")
793
726
  def test_org_prune(self, echo):
794
727
  runtime = mock.Mock()
@@ -1,5 +1,4 @@
1
1
  import json
2
- from unittest import mock
3
2
 
4
3
  import click
5
4
  import pytest
@@ -11,8 +10,7 @@ from cumulusci.core.tests.utils import EnvironmentVarGuard
11
10
  from .utils import run_cli_command
12
11
 
13
12
 
14
- @mock.patch("cumulusci.cli.service.CliTable")
15
- def test_service_list(table_mock):
13
+ def test_service_list():
16
14
  runtime = BaseCumulusCI(
17
15
  config={
18
16
  "services": {
@@ -28,18 +26,19 @@ def test_service_list(table_mock):
28
26
  }
29
27
  runtime.keychain._default_services = {"test": "test_alias", "bad": "bad_alias"}
30
28
 
31
- run_cli_command("service", "list", runtime=runtime)
32
-
33
- table_mock.assert_called_once_with(
34
- [
35
- ["Default", "Type", "Name", "Description"],
36
- [True, "bad", "bad_alias", "Unconfigured Service"],
37
- [False, "something_else", "", "something else"],
38
- [False, "test", "test2_alias", "Test Service"],
39
- [True, "test", "test_alias", "Test Service"],
40
- ],
41
- title="Services",
42
- dim_rows=[2],
29
+ result = run_cli_command("service", "list", runtime=runtime)
30
+ assert (
31
+ result.output
32
+ == """ Services
33
+
34
+ Default Type Name Description
35
+ ───────────────────────────────────────────────────────────────
36
+ ✔ bad bad_alias Unconfigured Service
37
+ something_else something else
38
+ test test2_alias Test Service
39
+ ✔ test test_alias Test Service
40
+
41
+ """ # noqa: W291,W293
43
42
  )
44
43
 
45
44
 
@@ -4,7 +4,6 @@ import time
4
4
  from unittest import mock
5
5
 
6
6
  import pkg_resources
7
- import pytest
8
7
  import requests
9
8
  import responses
10
9
 
@@ -66,57 +65,3 @@ def test_check_latest_version_request_error(click, get_latest_final_version):
66
65
  utils.check_latest_version()
67
66
 
68
67
  click.echo.assert_any_call("Error checking cci version:", err=True)
69
-
70
-
71
- @pytest.mark.skipif(
72
- not sys.platform.startswith("win"), reason="Requires Windows Registry"
73
- )
74
- @mock.patch("winreg.QueryValueEx")
75
- def test_win32_warning(query_value):
76
- query_value.return_value = (1, 1)
77
-
78
- is_enabled = utils.win32_long_paths_enabled()
79
-
80
- query_value.assert_called_once()
81
- assert "LongPathsEnabled" in query_value.call_args.args
82
- assert is_enabled
83
-
84
-
85
- @pytest.mark.skipif(
86
- sys.platform.startswith("win"), reason="Should not print on non-win32"
87
- )
88
- @mock.patch("cumulusci.cli.utils.win32_long_paths_enabled")
89
- @mock.patch("rich.console.Console.print")
90
- def test_no_longpath_warn_on_posix(console_print, is_enabled):
91
- utils.warn_if_no_long_paths()
92
-
93
- is_enabled.assert_not_called()
94
- console_print.assert_not_called()
95
-
96
-
97
- @pytest.mark.skipif(
98
- not sys.platform.startswith("win"), reason="Requires Windows Registry"
99
- )
100
- @mock.patch("cumulusci.cli.utils.win32_long_paths_enabled")
101
- @mock.patch("rich.console.Console.print")
102
- def test_no_longpath_warn_on_win(console_print, is_enabled):
103
- is_enabled.return_value = True
104
-
105
- utils.warn_if_no_long_paths()
106
-
107
- is_enabled.assert_called_once()
108
- console_print.assert_not_called()
109
-
110
-
111
- @pytest.mark.skipif(
112
- not sys.platform.startswith("win"), reason="Requires Windows Registry"
113
- )
114
- @mock.patch("cumulusci.cli.utils.win32_long_paths_enabled")
115
- @mock.patch("rich.console.Console.print")
116
- def test_longpath_warn_on_win(console_print, is_enabled):
117
- is_enabled.return_value = False
118
-
119
- utils.warn_if_no_long_paths()
120
-
121
- is_enabled.assert_called_once()
122
- console_print.assert_called_once_with(utils.WIN_LONG_PATH_WARNING)
@@ -8,7 +8,6 @@ from collections import defaultdict
8
8
  import click
9
9
  import pkg_resources
10
10
  import requests
11
- from rich.console import Console
12
11
 
13
12
  from cumulusci import __version__
14
13
  from cumulusci.core.config import UniversalConfig
@@ -16,12 +15,6 @@ from cumulusci.utils import get_cci_upgrade_command
16
15
  from cumulusci.utils.http.requests_utils import safe_json_from_response
17
16
 
18
17
  LOWEST_SUPPORTED_VERSION = (3, 8, 0)
19
- WIN_LONG_PATH_WARNING = """
20
- WARNING: Long path support is not enabled. This can lead to errors with some
21
- tasks. Your administrator will need to activate the "Enable Win32 long paths"
22
- group policy, or set LongPathsEnabled to 1 in the registry key
23
- HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem.
24
- """
25
18
 
26
19
 
27
20
  def group_items(items):
@@ -113,28 +106,3 @@ def check_latest_version():
113
106
  def get_installed_version():
114
107
  """returns the version name (e.g. 2.0.0b58) that is installed"""
115
108
  return pkg_resources.parse_version(__version__)
116
-
117
-
118
- def win32_long_paths_enabled() -> bool:
119
- """Boolean indicating whether long paths are available on Windows systems.
120
-
121
- Reads the Windows Registry the running platform. Throws ModuleNotFoundError
122
- if run on non-Windows platforms.
123
- """
124
- # Only present on windows, so import it here instead
125
- import winreg
126
-
127
- access_registry = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
128
- access_key = winreg.OpenKey(
129
- access_registry, r"SYSTEM\CurrentControlSet\Control\FileSystem"
130
- )
131
-
132
- is_enabled, _ = winreg.QueryValueEx(access_key, "LongPathsEnabled")
133
-
134
- return is_enabled == 1
135
-
136
-
137
- def warn_if_no_long_paths(console: Console = Console()) -> None:
138
- """Print a warning to the user if long paths are not enabled."""
139
- if sys.platform.startswith("win") and not win32_long_paths_enabled():
140
- console.print(WIN_LONG_PATH_WARNING)
@@ -1,12 +1,9 @@
1
1
  from typing import Dict
2
2
  from urllib.parse import urlparse
3
3
 
4
- import requests
5
-
6
4
  from cumulusci.core.config.oauth2_service_config import OAuth2ServiceConfig
7
5
  from cumulusci.core.keychain import BaseProjectKeychain
8
6
  from cumulusci.oauth.client import OAuth2Client
9
- from cumulusci.utils.http.requests_utils import safe_json_from_response
10
7
 
11
8
 
12
9
  class MarketingCloudServiceConfig(OAuth2ServiceConfig):
@@ -59,17 +56,3 @@ class MarketingCloudServiceConfig(OAuth2ServiceConfig):
59
56
  def save(self):
60
57
  assert self._keychain, "Keychain not set on MarketingCloudServiceConfig"
61
58
  self._keychain.set_service("marketing_cloud", self._name, self)
62
-
63
- def get_user_info(self) -> dict:
64
- """Make a call to the Marketing Cloud REST API UserInfo endpoint.
65
- Raises HTTPError for bad response status, otherwise returns the payload
66
- in full."""
67
- auth_uri = self.rest_instance_url.replace(".rest", ".auth")
68
- headers = {
69
- "Authorization": f"Bearer {self.access_token}",
70
- "Content-Type": "application/json",
71
- }
72
- response = requests.get(f"{auth_uri}v2/userinfo", headers=headers)
73
- response.raise_for_status()
74
-
75
- return safe_json_from_response(response)