Skip to content

Commit f119233

Browse files
committed
v0.6.3 - getSurvey return None if using invalid token
1 parent b856c3f commit f119233

File tree

4 files changed

+15
-12
lines changed

4 files changed

+15
-12
lines changed

CHANGELOG.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
0.7.0 (Planned)
22
[+] Added mock.MockQualtrics object (for unit testing code that uses pyqualtrics.Qualtrics class)
33

4+
0.6.3
5+
[*] getSurvey return None if using invalid token
6+
47
0.6.2
58
[*] Fixed error message in getResponse when dealing with deleted responses
69

pyqualtrics/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,11 @@ def request(self, Request, Product='RS', post_data=None, post_files=None, **kwar
159159
if r.status_code == 403:
160160
self.last_error_message = "API Error: HTTP Code %s (Forbidden)" % r.status_code
161161
return None
162+
if r.status_code == 401 and Request == "getSurvey":
163+
# I'm don't know if 401 is returned for requests other than getSurvey
164+
self.last_error_message = "API Error: HTTP Code %s (Unauthorized)" % r.status_code
165+
return None
166+
162167
try:
163168
if Request == "getLegacyResponseData":
164169
# Preserve order of responses and fields in each response using OrderedDict

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
setup(
3030
name="pyqualtrics",
31-
version="0.6.2",
31+
version="0.6.3",
3232
author="Alex Vyushkov",
3333
author_email="[email protected]",
3434
description="Unofficial python SDK for Qualtrics API",

tests/__init__.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -677,17 +677,7 @@ def test_not_a_json_document_google_com(self):
677677
self.assertIsNone(qualtrics.json_response)
678678
self.assertIsNone(result)
679679

680-
def test_ssl_error_1(self):
681-
# This only works on Notre Dame VPN
682-
qualtrics = Qualtrics(self.user, "123")
683-
qualtrics.url = "https://vecnet-ingest.crc.nd.edu/"
684-
result = qualtrics.getLegacyResponseData(SurveyID=self.survey_id)
685-
self.assertIn("CERTIFICATE_VERIFY_FAILED", qualtrics.last_error_message)
686-
qualtrics.requests_kwargs = {"verify": False}
687-
result = qualtrics.getLegacyResponseData(SurveyID=self.survey_id)
688-
self.assertNotIn("CERTIFICATE_VERIFY_FAILED", qualtrics.last_error_message)
689-
690-
def test_ssl_error_2(self):
680+
def test_ssl_error(self):
691681
# This may fail is 129.74.247.12 is down or certificate error is corrected
692682
qualtrics = Qualtrics(self.user, "123")
693683
qualtrics.url = "https://129.74.247.12/"
@@ -698,6 +688,11 @@ def test_ssl_error_2(self):
698688
result = qualtrics.getLegacyResponseData(SurveyID=self.survey_id)
699689
self.assertNotIn("CERTIFICATE_VERIFY_FAILED", qualtrics.last_error_message)
700690

691+
def test_get_survey_unauthorized(self):
692+
qualtrics = Qualtrics(self.user, "123")
693+
result = qualtrics.getSurvey(self.survey_id)
694+
self.assertEqual(result, None)
695+
self.assertEqual(qualtrics.last_error_message, "API Error: HTTP Code 401 (Unauthorized)")
701696

702697
def tearDown(self):
703698
# Note that tearDown is called after EACH test

0 commit comments

Comments
 (0)