def test_GetResponseExportFile_fail_bad_zip_file(self, get_func): get_func.return_value = MockResponse(status_code=200, data="") qualtrics = Qualtrics("234", "123") responseExportId = qualtrics.GetResponseExportFile("kkkkkkkk") self.assertIsNone(responseExportId) self.assertEqual(qualtrics.last_error_message, "File is not a zip file")
def main(argv): kwargs = {} iterator = iter(argv) executable = iterator.next() # argv[0] try: command = iterator.next() # argv[1] except StopIteration: print "The name of the API call to be made is required" return None user = None if "QUALTRICS_USER" not in os.environ: user = raw_input("Enter Qualtrics username: "******"QUALTRICS_TOKEN" not in os.environ: token = raw_input("Enter Qualtrics token: ") qualtrics = Qualtrics(user, token) method = getattr(qualtrics, command) if not method: print "%s API call is not implement" % method return None for option in argv: try: arg, value = option.split("=") kwargs[arg] = value except ValueError: # Ignore parameter in wrong format pass return method(**kwargs)
def test_GetResponseExportProgress_fail_2(self): qualtrics = Qualtrics("234", "123") status, msg = qualtrics.GetResponseExportProgress("sdfasdfdsf") self.assertEqual(status, "servfail") self.assertEqual(msg, "Unrecognized X-API-TOKEN.") self.assertEqual(qualtrics.last_error_message, "Unrecognized X-API-TOKEN.")
def test_CreateResponseExport_fail_2(self): qualtrics = Qualtrics("234", "123") responseExportId = qualtrics.CreateResponseExport( "csv", self.survey_id) self.assertIsNone(responseExportId) self.assertEqual(qualtrics.last_error_message, "Unrecognized X-API-TOKEN.")
def setUp(self): self.user = os.environ["QUALTRICS_USER"] self.token = os.environ["QUALTRICS_TOKEN"] self.library_id = os.environ["QUALTRICS_LIBRARY_ID"] self.survey_id = os.environ.get("QUALTRICS_SURVEY_ID", None) self.message_id = os.environ.get("QUALTRICS_MESSAGE_ID", None) self.response_id = os.environ.get("QUALTRICS_RESPONSE_ID", None) self.qualtrics = Qualtrics(self.user, self.token)
def test_CreateResponseExport_mailformed_response(self, get_func): get_func.return_value = MockResponse(status_code=200, data="") qualtrics = Qualtrics("234", "123") responseExportId = qualtrics.CreateResponseExport( "csv", self.survey_id) self.assertIsNone(responseExportId) self.assertIn("Mailformed response from server:", qualtrics.last_error_message)
def test_not_a_json_document_google_com(self): qualtrics = Qualtrics(self.user, "123") qualtrics.url = "https://google.com" result = qualtrics.getLegacyResponseData(SurveyID=self.survey_id) self.assertEquals( qualtrics.last_error_message, "Unexpected response from Qualtrics: not a JSON document") self.assertIsNone(qualtrics.json_response) self.assertIsNone(result)
def test_ssl_error_2(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/" result = qualtrics.getLegacyResponseData(SurveyID=self.survey_id) # Error: hostname '129.74.247.12' doesn't match either of '*.vecnet.org', 'vecnet.org' self.assertIn("129.74.247.12", 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_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)
from pyqualtrics import Qualtrics import os user = None token = None if __name__ == "__main__": print "This is an example of sending a survey" print "Make sure you have set QUALTRICS_USER, QUALTRICS_TOKEN, QUALTRICS_LIBRARY_ID, QUALTRICS_SURVEY_ID " \ "and QUALTRICS_MESSAGE_ID enviroment variables" # Note is user and token are None, QUALTRICS_USER and QUALTRICS_TOKEN environment variables will be used instead qualtrics = Qualtrics(user, token) survey_id = os.environ["QUALTRICS_SURVEY_ID"] qualtrics = Qualtrics(user, token) responses = qualtrics.getLegacyResponseData(SurveyID=survey_id) for response_id, response in responses.items(): print response_id + " - " + response["Finished"]
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 setUpClass(cls): cls.user = os.environ["QUALTRICS_USER"] cls.token = os.environ["QUALTRICS_TOKEN"] cls.qualtrics = Qualtrics(cls.user, cls.token)
def test_GetResponseExportFile_fail_2(self): qualtrics = Qualtrics("234", "123") result = qualtrics.GetResponseExportFile("kkkkkkkk") self.assertEqual(result, None) self.assertEqual(qualtrics.last_error_message, "Unrecognized X-API-TOKEN.")