Skip to content

Commit

Permalink
Improve code
Browse files Browse the repository at this point in the history
  • Loading branch information
WinnyTroy committed Jan 7, 2019
1 parent 2abc635 commit a19d0ed
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 15 deletions.
16 changes: 8 additions & 8 deletions onadata/libs/tests/utils/test_viewer_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
generate_enketo_form_defaults,
get_client_ip, get_form,
get_form_url,
get_submission_url)
get_single_submit_url)


class TestViewerTools(TestBase):
Expand Down Expand Up @@ -171,10 +171,10 @@ def test_get_form_url(self):

@override_settings(TESTING_MODE=False, ENKETO_URL='https://enketo.ona.io')
@requests_mock.Mocker()
def test_get_submissions_url(self, mocked):
"""Test get_submissions_url().
def test_get_single_submit_url(self, mocked):
"""Test get_single_submit_url.
Ensures appropriate url is being received.
Ensures single submit url is being received.
"""
request = RequestFactory().get('/')

Expand All @@ -191,17 +191,17 @@ def test_get_submissions_url(self, mocked):
url = '{}?server_url={}&form_id={}'.format(
enketo_url, server_url, "tag_team")
mocked.get(url, json=mocked_response)
response = get_submission_url(
response = get_single_submit_url(
request, username, id_string="tag_team", xform_pk=1)

self.assertEqual(
response, 'https://enketo.ona.io/single/::XZqoZ94y')

@override_settings(TESTING_MODE=False)
def test_get_submissions_url_error_action(self):
"""Test get_submissions_url()."""
def test_get_single_submit_url_error_action(self):
"""Test get_single_submit_url to return appropriate error message."""
request = RequestFactory().get('/')

with self.assertRaises(EnketoError):
get_submission_url(
get_single_submit_url(
request, username='Milly', id_string="tag_team", xform_pk=1)
11 changes: 4 additions & 7 deletions onadata/libs/utils/viewer_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -368,9 +368,10 @@ def get_enketo_preview_url(request, username, id_string, xform_pk=None):
return False


def get_submission_url(request, username, id_string, xform_pk=None):
"""Return submission url of the submission instance."""
enketo_url = settings.ENKETO_URL + "/api/v2/survey/single/once"
def get_single_submit_url(request, username, id_string, xform_pk=None):
"""Return single submit url of the submission instance."""
enketo_url = settings.ENKETO_URL + getattr(
settings, 'ENKETO_SINGLE_SUBMIT_PATH', "/api/v2/survey/single/once")
form_id = id_string
server_url = get_form_url(
request, username, settings.ENKETO_PROTOCOL, True, xform_pk=xform_pk)
Expand All @@ -384,9 +385,5 @@ def get_submission_url(request, username, id_string, xform_pk=None):
data = response.json()
submission_url = data['single_url']
return submission_url
elif response.status_code == 400:
raise EnketoError()
elif response.status_code == 401:
raise EnketoError()
else:
raise EnketoError()
1 change: 1 addition & 0 deletions onadata/settings/docker.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
ENKETO_API_INSTANCE_PATH = '/api_v1/instance'
ENKETO_PREVIEW_URL = urljoin(ENKETO_URL, ENKETO_API_SURVEY_PATH +
'/preview')
ENKETO_SINGLE_SUBMIT_PATH = '/api/v2/survey/single/once'
ENKETO_API_INSTANCE_IFRAME_URL = ENKETO_URL + "api_v1/instance/iframe"
else:
MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media/') # noqa

0 comments on commit a19d0ed

Please sign in to comment.