Skip to content

Commit

Permalink
refactor code
Browse files Browse the repository at this point in the history
  • Loading branch information
kelvin-muchiri committed Jul 26, 2023
1 parent 139cd5b commit 5674dde
Showing 1 changed file with 20 additions and 24 deletions.
44 changes: 20 additions & 24 deletions onadata/apps/api/tests/viewsets/test_xform_viewset.py
Original file line number Diff line number Diff line change
Expand Up @@ -5088,6 +5088,22 @@ def test_csv_xls_import_errors(self):
class ExportAsyncTestCase(XFormViewSetBaseTestCase):
"""Tests for exporting form data asynchronously"""

def _google_credentials_mock(self):
"""Returns a mock of a Google Credentials instance"""

class GoogleCredentialsMock:
def to_json(self):
return {
"refresh_token": "refresh-token",
"token_uri": "https://oauth2.googleapis.com/token",
"client_id": "client-id",
"client_secret": "client-secret",
"scopes": ["https://www.googleapis.com/auth/drive.file"],
"expiry": datetime(2016, 8, 18, 12, 43, 30, 316792),
}

return GoogleCredentialsMock()

def setUp(self):
super().setUp()

Expand Down Expand Up @@ -5550,18 +5566,8 @@ def test_xform_gsheet_exports_authorization_url(self, mock_google_creds):
@override_settings(GOOGLE_EXPORT=False)
@patch("onadata.libs.utils.api_export_tools._get_google_credential")
def test_google_exports_setting_false(self, mock_google_creds):
class CredentialsMock:
def to_json(self):
return {
"refresh_token": "refresh-token",
"token_uri": "https://oauth2.googleapis.com/token",
"client_id": "client-id",
"client_secret": "client-secret",
"scopes": ["https://www.googleapis.com/auth/drive.file"],
"expiry": datetime(2016, 8, 18, 12, 43, 30, 316792),
}

mock_google_creds.return_value = CredentialsMock()
"""Google sheet export not allowed if setting.GOOGLE_EXPORT is false"""
mock_google_creds.return_value = self._google_credentials_mock()
self._publish_xls_form_to_project()
data = {"format": "gsheets"}
request = self.factory.get("/", data=data, **self.extra)
Expand All @@ -5572,18 +5578,8 @@ def to_json(self):

@patch("onadata.libs.utils.api_export_tools._get_google_credential")
def test_google_exports_setting_missing(self, mock_google_creds):
class CredentialsMock:
def to_json(self):
return {
"refresh_token": "refresh-token",
"token_uri": "https://oauth2.googleapis.com/token",
"client_id": "client-id",
"client_secret": "client-secret",
"scopes": ["https://www.googleapis.com/auth/drive.file"],
"expiry": datetime(2016, 8, 18, 12, 43, 30, 316792),
}

mock_google_creds.return_value = CredentialsMock()
"""Google sheet export not allowed if setting.GOOGLE_EXPORT is missing"""
mock_google_creds.return_value = self._google_credentials_mock()
self._publish_xls_form_to_project()
data = {"format": "gsheets"}
request = self.factory.get("/", data=data, **self.extra)
Expand Down

0 comments on commit 5674dde

Please sign in to comment.