Beispiel #1
0
 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")
Beispiel #2
0
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)
Beispiel #3
0
 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.")
Beispiel #4
0
 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.")
Beispiel #5
0
 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)
Beispiel #6
0
 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)
Beispiel #7
0
 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)
Beispiel #8
0
 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)
Beispiel #9
0
 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)
Beispiel #10
0
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"]

Beispiel #11
0
 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)")
Beispiel #12
0
 def setUpClass(cls):
     cls.user = os.environ["QUALTRICS_USER"]
     cls.token = os.environ["QUALTRICS_TOKEN"]
     cls.qualtrics = Qualtrics(cls.user, cls.token)
Beispiel #13
0
 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.")