Beispiel #1
0
    def test_parse_response(self):
        response_xml = load_data('question_responses.xml')
        parsed = subscriber_responses_as_list_of_dicts(response_xml)
        r1, r2, r3 = parsed

        self.assertIn('question_id', r1)
        self.assertEqual(r1['question_id'], 'MTAwNDk=')
Beispiel #2
0
 def test_listed_topic_xml_as_dict(self):
     response_xml = load_data('list_all_topics.xml')
     parsed = listed_topic_xml_as_dict(response_xml)
     self.assertEqual(
         parsed,
         {'XYZ_999': 'Test Topic'}
     )
Beispiel #3
0
 def test_subscriber_topics_as_list(self):
     response_xml = load_data('list_subscriber_topics.xml')
     parsed = subscriber_topics_as_list(response_xml)
     self.assertEqual(
         parsed,
         ['XYZ_999']
     )
Beispiel #4
0
 def test_call_api_no_parser_returns_unparsed(self):
     path = self.gd.translate_path('/api/account/$account_code/topics.xml')
     mockResponseBody = load_data('list_all_topics.xml')
     responses.add(
         responses.GET,
         get_full_url_to_call(path),
         body=mockResponseBody,
         status=200
     )
     response = self.gd.call_api(path, 'get')
     self.assertIsInstance(response, Response)
Beispiel #5
0
 def test_get_visible_topics(self):
     path = self.gd.translate_path('/api/account/$account_code/topics.xml')
     mockResponseBody = load_data('list_all_topics.xml')
     responses.add(
         responses.GET,
         get_full_url_to_call(path),
         body=mockResponseBody,
         status=200
     )
     response = self.gd.get_visible_topics()
     self.assertEqual(response, {'XYZ_999': 'Test Topic'})
    def test_load_data(self):
        self.assertEqual(
            load_data('list_subscriber_topics.xml'),
            """<?xml version="1.0" encoding="UTF-8"?>
<topics type="array">
    <topic>
        <to-param>XYZ_999</to-param>
        <link rel="self" href="/api/account/XYZ/topics/XYZ_999"/>
        <topic-uri>/api/account/XYZ/topics/XYZ_999.xml</topic-uri>
    </topic>
</topics>
""")
Beispiel #7
0
 def test_get_subscriber_topics(self):
     email = '*****@*****.**'
     subscriber_id = base64.b64encode(email.encode('utf-8'))
     path = self.gd.translate_path(
         '/api/account/$account_code/subscribers/$subscriber_id/topics.xml',
         subscriber_id=subscriber_id
     )
     mockResponseBody = load_data('list_subscriber_topics.xml')
     responses.add(
         responses.GET,
         get_full_url_to_call(path),
         body=mockResponseBody,
         status=200
     )
     response = self.gd.get_subscriber_topics('*****@*****.**')
     self.assertIn('XYZ_999', response)
Beispiel #8
0
 def test_call_api_with_parser_returns_parsed(self):
     path = self.gd.translate_path('/api/account/$account_code/topics.xml')
     mockResponseBody = load_data('list_all_topics.xml')
     responses.add(
         responses.GET,
         get_full_url_to_call(path),
         body=mockResponseBody,
         status=200
     )
     parsed_response = self.gd.call_api(
         path,
         'get',
         response_parser=topic_xml_as_dict
     )
     self.assertEqual(
         parsed_response,
         {'XYZ_998': 'Test Unlisted Topic', 'XYZ_999': 'Test Topic'}
     )