Skip to content

Commit b856c3f

Browse files
committed
v0.6.2
1 parent a46af6a commit b856c3f

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
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.2
5+
[*] Fixed error message in getResponse when dealing with deleted responses
6+
47
0.6.1
58
[*] Fixed problem with installation
69

pyqualtrics/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -553,11 +553,12 @@ def getResponse(self, SurveyID, ResponseID, **kwargs):
553553
u'Finished': u'1', u'EmailAddress': u'[email protected]', u'ResponseSet': u'Default Response Set'}
554554
"""
555555
response = self.getLegacyResponseData(SurveyID=SurveyID, ResponseID=ResponseID, **kwargs)
556-
if not response:
556+
# Don't do "if not response:" - because getLegacyResponseData can return empty dict in some cases
557+
if response is None:
557558
return None
558559
if ResponseID not in response:
559560
# Should never happen
560-
self.last_error_message = "Qualtrics error: ResponseID %s not in response" % ResponseID
561+
self.last_error_message = "Qualtrics error: ResponseID %s not in response (probably deleted)" % ResponseID
561562
return None
562563
return response[ResponseID]
563564

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.1",
31+
version="0.6.2",
3232
author="Alex Vyushkov",
3333
author_email="[email protected]",
3434
description="Unofficial python SDK for Qualtrics API",

tests/__init__.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,17 @@ def test_get_response_wrong_response_id(self):
462462
self.assertIsNone(response)
463463
self.assertEqual(self.qualtrics.last_error_message, "Invalid request. Missing or invalid parameter ResponseID.")
464464

465+
def test_get_response_deleted_response_id(self):
466+
# R_1LjSIk8cLV7Y4eD was created and then deleted in survey_id
467+
response = self.qualtrics.getResponse(SurveyID=self.survey_id, ResponseID="R_1LjSIk8cLV7Y4eD")
468+
self.assertIsNone(response)
469+
# Note that Qualtrics behavior might change, but currently there is a difference between
470+
# responseIDs that never existed, and deleted response IDs
471+
self.assertEqual(
472+
"Qualtrics error: ResponseID R_1LjSIk8cLV7Y4eD not in response (probably deleted)",
473+
self.qualtrics.last_error_message
474+
)
475+
465476
def test_create_distribution(self):
466477
panel_id = self.qualtrics.createPanel(self.library_id, "(DELETE ME) Panel for testing distributions")
467478
distribution_id = self.qualtrics.createDistribution(

0 commit comments

Comments
 (0)