Skip to content

Commit

Permalink
Clean up more warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
Paul Prescod committed Jan 17, 2023
1 parent bb3e175 commit b9156fd
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 39 deletions.
10 changes: 9 additions & 1 deletion cumulusci/core/config/org_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,15 @@ def user_id(self):

@property
def org_id(self):
return self.id.split("/")[-2]
try:
if org_id := self.config.get("org_id"):
return org_id
elif hasattr(self, "id") and self.id:
return self.id.split("/")[-2]
else:
return None
except Exception as e: # pragma: no cover
assert e is None, e

@property
def username(self):
Expand Down
5 changes: 5 additions & 0 deletions cumulusci/core/dependencies/tests/test_dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -645,6 +645,7 @@ def test_install(self, api_deploy_mock, zip_builder_mock, download_mock):
assert mock_task.project_config == context

api_deploy_mock.return_value.assert_called_once()
zf.close()

def test_get_unmanaged(self):
org = mock.Mock()
Expand Down Expand Up @@ -733,6 +734,7 @@ def test_install(self, api_deploy_mock, zip_builder_mock, download_mock):
assert mock_task.project_config == context

api_deploy_mock.return_value.assert_called_once()
zf.close()

def test_get_unmanaged(self):
org = mock.Mock()
Expand Down Expand Up @@ -793,6 +795,7 @@ def test_get_metadata_package_zip_builder__mdapi_root(
},
context=mock.ANY,
)
zf.close()

@mock.patch("cumulusci.core.dependencies.dependencies.MetadataPackageZipBuilder")
@mock.patch("cumulusci.core.dependencies.dependencies.download_extract_zip")
Expand Down Expand Up @@ -827,6 +830,7 @@ def test_get_metadata_package_zip_builder__mdapi_subfolder(
},
context=mock.ANY,
)
zf.close()

@mock.patch("cumulusci.core.dependencies.dependencies.MetadataPackageZipBuilder")
@mock.patch("cumulusci.core.dependencies.dependencies.download_extract_zip")
Expand Down Expand Up @@ -866,6 +870,7 @@ def test_get_metadata_package_zip_builder__sfdx(
capture_output=True,
check_return=True,
)
zf.close()


class TestParseDependency:
Expand Down
75 changes: 45 additions & 30 deletions cumulusci/tasks/apex/tests/test_apex_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import pytest
import responses
from responses.matchers import query_string_matcher
from simple_salesforce import SalesforceGeneralError

from cumulusci.core import exceptions as exc
Expand Down Expand Up @@ -73,9 +74,9 @@ def setup_method(self):

def _mock_apex_class_query(self, name="TestClass_TEST", namespace=None):
namespace_param = "null" if namespace is None else f"%27{namespace}%27"
url = (
self.base_tooling_url
+ "query/?q=SELECT+Id%2C+Name+"
url = self.base_tooling_url + "query/"
query_string = (
"q=SELECT+Id%2C+Name+"
+ f"FROM+ApexClass+WHERE+NamespacePrefix+%3D+{namespace_param}"
+ "+AND+%28Name+LIKE+%27%25_TEST%27%29"
)
Expand All @@ -85,7 +86,10 @@ def _mock_apex_class_query(self, name="TestClass_TEST", namespace=None):
"totalSize": 1,
}
responses.add(
responses.GET, url, match_querystring=True, json=expected_response
responses.GET,
url,
match=[query_string_matcher(query_string)],
json=expected_response,
)

def _get_mock_test_query_results(self, methodnames, outcomes, messages):
Expand Down Expand Up @@ -163,59 +167,63 @@ def _get_mock_test_query_results(self, methodnames, outcomes, messages):

def _get_mock_test_query_url(self, job_id):
return (
self.base_tooling_url
+ "query/?q=%0ASELECT+Id%2CApexClassId%2CTestTimestamp%2C%0A+++++++Message%2CMethodName%2COutcome%2C%0A+++++++RunTime%2CStackTrace%2C%0A+++++++%28SELECT%0A++++++++++Id%2CCallouts%2CAsyncCalls%2CDmlRows%2CEmail%2C%0A++++++++++LimitContext%2CLimitExceptions%2CMobilePush%2C%0A++++++++++QueryRows%2CSosl%2CCpu%2CDml%2CSoql%0A++++++++FROM+ApexTestResults%29%0AFROM+ApexTestResult%0AWHERE+AsyncApexJobId%3D%27{}%27%0A".format(
job_id
)
self.base_tooling_url + "query/",
f"q=%0ASELECT+Id%2CApexClassId%2CTestTimestamp%2C%0A+++++++Message%2CMethodName%2COutcome%2C%0A+++++++RunTime%2CStackTrace%2C%0A+++++++%28SELECT%0A++++++++++Id%2CCallouts%2CAsyncCalls%2CDmlRows%2CEmail%2C%0A++++++++++LimitContext%2CLimitExceptions%2CMobilePush%2C%0A++++++++++QueryRows%2CSosl%2CCpu%2CDml%2CSoql%0A++++++++FROM+ApexTestResults%29%0AFROM+ApexTestResult%0AWHERE+AsyncApexJobId%3D%27{job_id}%27%0A",
)

def _get_mock_testqueueitem_status_query_url(self, job_id):
return (
self.base_tooling_url
+ f"query/?q=SELECT+Id%2C+Status%2C+ExtendedStatus%2C+ApexClassId+FROM+ApexTestQueueItem+WHERE+ParentJobId+%3D+%27{job_id}%27+AND+Status+%3D+%27Failed%27"
(self.base_tooling_url + "query/"),
f"q=SELECT+Id%2C+Status%2C+ExtendedStatus%2C+ApexClassId+FROM+ApexTestQueueItem+WHERE+ParentJobId+%3D+%27{job_id}%27+AND+Status+%3D+%27Failed%27",
)

def _mock_get_test_results(
self, outcome="Pass", message="Test Passed", job_id="JOB_ID1234567"
):
url = self._get_mock_test_query_url(job_id)
url, query_string = self._get_mock_test_query_url(job_id)

expected_response = self._get_mock_test_query_results(
["TestMethod"], [outcome], [message]
)
responses.add(
responses.GET, url, match_querystring=True, json=expected_response
responses.GET,
url,
match=[query_string_matcher(query_string)],
json=expected_response,
)

def _mock_get_test_results_multiple(
self, method_names, outcomes, messages, job_id="JOB_ID1234567"
):
url = self._get_mock_test_query_url(job_id)
url, query_string = self._get_mock_test_query_url(job_id)

expected_response = self._get_mock_test_query_results(
method_names, outcomes, messages
)
responses.add(
responses.GET, url, match_querystring=True, json=expected_response
responses.GET,
url,
match=[query_string_matcher(query_string)],
json=expected_response,
)

def _mock_get_failed_test_classes(self, job_id="JOB_ID1234567"):
url = self._get_mock_testqueueitem_status_query_url(job_id)
url, query_string = self._get_mock_testqueueitem_status_query_url(job_id)

responses.add(
responses.GET,
url,
match_querystring=True,
match=[query_string_matcher(query_string)],
json={"totalSize": 0, "records": [], "done": True},
)

def _mock_get_failed_test_classes_failure(self, job_id="JOB_ID1234567"):
url = self._get_mock_testqueueitem_status_query_url(job_id)
url, query_string = self._get_mock_testqueueitem_status_query_url(job_id)

responses.add(
responses.GET,
url,
match_querystring=True,
match=[query_string_matcher(query_string)],
json={
"totalSize": 1,
"records": [
Expand All @@ -231,14 +239,15 @@ def _mock_get_failed_test_classes_failure(self, job_id="JOB_ID1234567"):
)

def _mock_get_symboltable(self):
url = (
self.base_tooling_url
+ "query/?q=SELECT+SymbolTable+FROM+ApexClass+WHERE+Name%3D%27TestClass_TEST%27"
url = self.base_tooling_url + "query/"
query_string = (
"q=SELECT+SymbolTable+FROM+ApexClass+WHERE+Name%3D%27TestClass_TEST%27"
)

responses.add(
responses.GET,
url,
match=[query_string_matcher(query_string)],
json={
"records": [
{
Expand All @@ -261,9 +270,9 @@ def _mock_get_symboltable_failure(self):
responses.add(responses.GET, url, json={"records": []})

def _mock_tests_complete(self, job_id="JOB_ID1234567"):
url = (
self.base_tooling_url
+ "query/?q=SELECT+Id%2C+Status%2C+"
url = self.base_tooling_url + "query/"
query_string = (
"q=SELECT+Id%2C+Status%2C+"
+ "ApexClassId+FROM+ApexTestQueueItem+WHERE+ParentJobId+%3D+%27"
+ "{}%27".format(job_id)
)
Expand All @@ -273,23 +282,29 @@ def _mock_tests_complete(self, job_id="JOB_ID1234567"):
"records": [{"Status": "Completed"}],
}
responses.add(
responses.GET, url, match_querystring=True, json=expected_response
responses.GET,
url,
match=[query_string_matcher(query_string)],
json=expected_response,
)

def _mock_tests_processing(self, job_id="JOB_ID1234567"):
url = (
self.base_tooling_url
+ "query/?q=SELECT+Id%2C+Status%2C+"
url = self.base_tooling_url + "query/"
query_string = (
"q=SELECT+Id%2C+Status%2C+"
+ "ApexClassId+FROM+ApexTestQueueItem+WHERE+ParentJobId+%3D+%27"
+ "{}%27".format(job_id)
+ f"{job_id}%27"
)
expected_response = {
"done": True,
"totalSize": 1,
"records": [{"Status": "Processing", "ApexClassId": 1}],
}
responses.add(
responses.GET, url, match_querystring=True, json=expected_response
responses.GET,
url,
match=[query_string_matcher(query_string)],
json=expected_response,
)

def _mock_run_tests(self, success=True, body="JOB_ID1234567"):
Expand Down
2 changes: 1 addition & 1 deletion cumulusci/tasks/bulkdata/tests/test_snowfakery.py
Original file line number Diff line number Diff line change
Expand Up @@ -787,7 +787,7 @@ def test_explicit_channel_declarations(self, mock_load_data, create_task):
/ "snowfakery/simple_snowfakery_channels.load.yml",
},
)
with mock.patch.object(
with pytest.warns(UserWarning), mock.patch.object(
task.project_config, "keychain", DummyKeychain()
) as keychain:

Expand Down
3 changes: 2 additions & 1 deletion cumulusci/tasks/github/tests/test_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import pytest
import responses
from responses.matchers import json_params_matcher

from cumulusci.core.config import ServiceConfig, TaskConfig
from cumulusci.core.exceptions import GithubException, TaskOptionsError
Expand Down Expand Up @@ -352,7 +353,7 @@ def test_run_task__with_beta_2gp(self):
url=self.repo_api_url + "/releases",
json=self._get_expected_release("release"),
match=[
responses.json_params_matcher(
json_params_matcher(
{
"tag_name": "beta/1.1",
"name": "1.1",
Expand Down
13 changes: 7 additions & 6 deletions cumulusci/tasks/salesforce/tests/test_enable_prediction.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import pytest
import responses
from responses.matchers import json_params_matcher

from cumulusci.core.config.org_config import OrgConfig
from cumulusci.core.exceptions import CumulusCIException
Expand Down Expand Up @@ -89,12 +90,12 @@ def test_run_task(mock_oauth, task):
mock_oauth.add(
method="PATCH",
url=f"https://test-dev-ed.my.salesforce.com/services/data/v{CURRENT_SF_API_VERSION}/tooling/sobjects/MLPredictionDefinition/001",
match=[responses.json_params_matcher({"Metadata": {"status": "Enabled"}})],
match=[json_params_matcher({"Metadata": {"status": "Enabled"}})],
)
mock_oauth.add(
method="PATCH",
url=f"https://test-dev-ed.my.salesforce.com/services/data/v{CURRENT_SF_API_VERSION}/tooling/sobjects/MLPredictionDefinition/002",
match=[responses.json_params_matcher({"Metadata": {"status": "Enabled"}})],
match=[json_params_matcher({"Metadata": {"status": "Enabled"}})],
)

task()
Expand Down Expand Up @@ -164,12 +165,12 @@ def test_run_task__namespaced_org(mock_oauth, task):
mock_oauth.add(
method="PATCH",
url=f"https://test-dev-ed.my.salesforce.com/services/data/v{CURRENT_SF_API_VERSION}/tooling/sobjects/MLPredictionDefinition/001",
match=[responses.json_params_matcher({"Metadata": {"status": "Enabled"}})],
match=[json_params_matcher({"Metadata": {"status": "Enabled"}})],
)
mock_oauth.add(
method="PATCH",
url=f"https://test-dev-ed.my.salesforce.com/services/data/v{CURRENT_SF_API_VERSION}/tooling/sobjects/MLPredictionDefinition/002",
match=[responses.json_params_matcher({"Metadata": {"status": "Enabled"}})],
match=[json_params_matcher({"Metadata": {"status": "Enabled"}})],
)

mock_oauth.add(
Expand Down Expand Up @@ -222,12 +223,12 @@ def test_run_task__managed_org(mock_oauth, task):
mock_oauth.add(
method="PATCH",
url=f"https://test-dev-ed.my.salesforce.com/services/data/v{CURRENT_SF_API_VERSION}/tooling/sobjects/MLPredictionDefinition/001",
match=[responses.json_params_matcher({"Metadata": {"status": "Enabled"}})],
match=[json_params_matcher({"Metadata": {"status": "Enabled"}})],
)
mock_oauth.add(
method="PATCH",
url=f"https://test-dev-ed.my.salesforce.com/services/data/v{CURRENT_SF_API_VERSION}/tooling/sobjects/MLPredictionDefinition/002",
match=[responses.json_params_matcher({"Metadata": {"status": "Enabled"}})],
match=[json_params_matcher({"Metadata": {"status": "Enabled"}})],
)

task()

0 comments on commit b9156fd

Please sign in to comment.