Skip to content

Commit

Permalink
v0.6.3 - getSurvey return None if using invalid token
Browse files Browse the repository at this point in the history
  • Loading branch information
Baguage committed Dec 24, 2016
1 parent b856c3f commit f119233
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 12 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
0.7.0 (Planned)
[+] Added mock.MockQualtrics object (for unit testing code that uses pyqualtrics.Qualtrics class)

0.6.3
[*] getSurvey return None if using invalid token

0.6.2
[*] Fixed error message in getResponse when dealing with deleted responses

Expand Down
5 changes: 5 additions & 0 deletions pyqualtrics/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,11 @@ def request(self, Request, Product='RS', post_data=None, post_files=None, **kwar
if r.status_code == 403:
self.last_error_message = "API Error: HTTP Code %s (Forbidden)" % r.status_code
return None
if r.status_code == 401 and Request == "getSurvey":
# I'm don't know if 401 is returned for requests other than getSurvey
self.last_error_message = "API Error: HTTP Code %s (Unauthorized)" % r.status_code
return None

try:
if Request == "getLegacyResponseData":
# Preserve order of responses and fields in each response using OrderedDict
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

setup(
name="pyqualtrics",
version="0.6.2",
version="0.6.3",
author="Alex Vyushkov",
author_email="[email protected]",
description="Unofficial python SDK for Qualtrics API",
Expand Down
17 changes: 6 additions & 11 deletions tests/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -677,17 +677,7 @@ def test_not_a_json_document_google_com(self):
self.assertIsNone(qualtrics.json_response)
self.assertIsNone(result)

def test_ssl_error_1(self):
# This only works on Notre Dame VPN
qualtrics = Qualtrics(self.user, "123")
qualtrics.url = "https://vecnet-ingest.crc.nd.edu/"
result = qualtrics.getLegacyResponseData(SurveyID=self.survey_id)
self.assertIn("CERTIFICATE_VERIFY_FAILED", qualtrics.last_error_message)
qualtrics.requests_kwargs = {"verify": False}
result = qualtrics.getLegacyResponseData(SurveyID=self.survey_id)
self.assertNotIn("CERTIFICATE_VERIFY_FAILED", qualtrics.last_error_message)

def test_ssl_error_2(self):
def test_ssl_error(self):
# This may fail is 129.74.247.12 is down or certificate error is corrected
qualtrics = Qualtrics(self.user, "123")
qualtrics.url = "https://129.74.247.12/"
Expand All @@ -698,6 +688,11 @@ def test_ssl_error_2(self):
result = qualtrics.getLegacyResponseData(SurveyID=self.survey_id)
self.assertNotIn("CERTIFICATE_VERIFY_FAILED", qualtrics.last_error_message)

def test_get_survey_unauthorized(self):
qualtrics = Qualtrics(self.user, "123")
result = qualtrics.getSurvey(self.survey_id)
self.assertEqual(result, None)
self.assertEqual(qualtrics.last_error_message, "API Error: HTTP Code 401 (Unauthorized)")

def tearDown(self):
# Note that tearDown is called after EACH test
Expand Down

0 comments on commit f119233

Please sign in to comment.