Пример #1
0
class TestCapitolWords(unittest.TestCase):

    def setUp(self):
        self.phrases_kwargs = {
            'entity_type': 'legislator',
            'entity_value':  'L000551'
        }
        self.service = CapitolWords()

    def test__get_url(self):
        '''This is probably a bad idea and should be replaced.'''
        url = self.service._get_url(['phrases'],
                                    sunlight.config.API_KEY,
                                    **self.phrases_kwargs)

        expected_hostname = 'capitolwords.org'
        expected_path = '/api/1/phrases.json'
        expected_query = {
            'apikey': sunlight.config.API_KEY
        }
        expected_query.update(self.phrases_kwargs)

        parsed_url = urlparse(url)
        parsed_query = dict(parse_qsl(parsed_url.query))

        self.assertEqual(parsed_url.hostname, expected_hostname)
        self.assertEqual(parsed_url.path, expected_path)
        self.assertDictEqual(parsed_query, expected_query)

    def test_dates(self):
        results = self.service.dates('Obamacare')
        self.assertNotEqual(len(results), 0)

    def test_phrases_by_entity(self):
        results = self.service.phrases_by_entity('state', phrase='Obamacare')
        self.assertNotEqual(len(results), 0)

    def test_legislator_phrases(self):
        results = self.service.phrases(
            self.phrases_kwargs['entity_type'],
            self.phrases_kwargs['entity_value'])

        self.assertNotEqual(len(results), 0)

    def test_text(self):
        results = self.service.text('Christmas')
        self.assertNotEqual(len(results), 0)

    def test_text_title(self):
        results = self.service.text(title='Christmas')
        self.assertNotEqual(len(results), 0)

    def test_text_bad_request(self):
        with self.assertRaises(BadRequestException):
            self.service.text()