コード例 #1
0
 def setUp(self):
     self.service = Openstates()
     self.a_state_abbreviation = 'nc'
     self.a_bill_id = 'NCB00007259'
     self.a_bill_official_id = 'HB 786'
     self.expected_metadata_keys = ('name', 'abbreviation', 'chambers',
                                    'feature_flags')
     self.lat = 35.933333
     self.lon = -79.033333
     self.a_committee_id = 'NCC000169'
     self.a_state_with_events = 'tx'
     self.an_event_id = 'TXE00026474'
     self.a_boundary_id = 'ocd-division/country:us/state:nc/sldl:1'
コード例 #2
0
 def setUp(self):
     self.service = Openstates()
     self.a_state_abbreviation = 'nc'
     self.a_bill_id = 'NCB00007259'
     self.a_bill_official_id = 'HB 786'
     self.expected_metadata_keys = ('name', 'abbreviation', 'chambers', 'feature_flags')
     self.lat = 35.933333
     self.lon = -79.033333
     self.a_committee_id = 'NCC000169'
     self.a_state_with_events = 'tx'
     self.an_event_id = 'TXE00026474'
     self.a_boundary_id = 'ocd-division/country:us/state:nc/sldl:1'
コード例 #3
0
class TestOpenStates(unittest.TestCase):

    def setUp(self):
        self.service = Openstates()
        self.a_state_abbreviation = 'nc'
        self.a_bill_id = 'NCB00007259'
        self.a_bill_official_id = 'HB 786'
        self.expected_metadata_keys = ('name', 'abbreviation', 'chambers', 'feature_flags')
        self.lat = 35.933333
        self.lon = -79.033333
        self.a_committee_id = 'NCC000169'
        self.a_state_with_events = 'tx'
        self.an_event_id = 'TXE00026474'
        self.a_boundary_id = 'ocd-division/country:us/state:nc/sldl:1'

    def test_bad__get_url(self):
        with self.assertRaises(BadRequestException):
            self.service._get_url(['districts', None], sunlight.config.API_KEY)

    def test_all_metadata(self):
        all_metadata = self.service.all_metadata()
        random_metadata = random.choice(all_metadata)
        for expected_key in self.expected_metadata_keys:
            self.assertIn(expected_key, random_metadata)
        self.assertGreaterEqual(len(all_metadata), 50)

    def test_state_metadata(self):
        state_metadata = self.service.state_metadata(self.a_state_abbreviation)
        for expected_key in self.expected_metadata_keys:
            self.assertIn(expected_key, state_metadata)
        self.assertEqual(state_metadata.get('abbreviation'), self.a_state_abbreviation)

    def test_bill_search(self):
        num_results = 20
        page_num = 1
        results = self.service.bills(state=self.a_state_abbreviation, per_page=num_results, page=page_num)
        self.assertLessEqual(len(results), num_results)

    def test_get_bill(self):
        result = self.service.bill(self.a_bill_id)
        self.assertEqual(result.get('state'), self.a_state_abbreviation)
        self.assertEqual(result.get('bill_id'), self.a_bill_official_id)

    def test_bill_detail(self):
        result = self.service.bill_detail('nc', '2013', self.a_bill_official_id)
        self.assertEqual(result.get('state'), self.a_state_abbreviation)
        self.assertEqual(result.get('bill_id'), self.a_bill_official_id)

    def test_bill_detail_with_session_int(self):
        result = self.service.bill_detail('nc', 2013, self.a_bill_official_id)
        self.assertEqual(result.get('state'), self.a_state_abbreviation)
        self.assertEqual(result.get('bill_id'), self.a_bill_official_id)

    def test_bill_detail_with_chamber(self):
        result = self.service.bill_detail('nc', '2013', self.a_bill_official_id, 'lower')
        self.assertEqual(result.get('state'), self.a_state_abbreviation)
        self.assertEqual(result.get('bill_id'), self.a_bill_official_id)

    def test_legislators_search_by_last_name(self):
        last_name = 'Smith'
        results = self.service.legislators(last_name=last_name)
        for item in results:
            self.assertEqual(item.get('last_name'), last_name)

    def test_legislator_detail(self):
        leg_id = 'MDL000210'
        result = self.service.legislator_detail(leg_id)
        self.assertEqual(result.get('leg_id'), leg_id)

    def test_legislator_geo_search(self):
        results = self.service.legislator_geo_search(self.lat, self.lon)
        self.assertGreaterEqual(len(results), 1) # Derp. I don't know.
        for item in results:
            self.assertTrue(item.get('active'))
            self.assertEqual(item.get('state'), self.a_state_abbreviation)

    def test_committees_search(self):
        results = self.service.committees(state=self.a_state_abbreviation)
        self.assertGreaterEqual(len(results), 1) # Derp. I don't know.
        for item in results:
            self.assertEqual(item.get('state'), self.a_state_abbreviation)
            self.assertIsNotNone(item.get('committee'))

    def test_committee_detail(self):
        result = self.service.committee_detail(self.a_committee_id)
        self.assertEqual(result.get('id'), self.a_committee_id)
        self.assertIsNotNone(result.get('committee'))

    def test_events_search(self):
        results = self.service.events(state=self.a_state_with_events)
        for item in results:
            self.assertIsNotNone(item.get('id'))
            self.assertEqual(item.get('state'), self.a_state_with_events)

    def test_event_detail(self):
        item = self.service.event_detail(self.an_event_id)
        self.assertIsNotNone(item.get('id'))
        self.assertEqual(item.get('state'), self.a_state_with_events)

    def test_districts_search(self):
        results = self.service.districts(self.a_state_abbreviation, 'upper')
        for item in results:
            self.assertIsNotNone(item.get('id'))
            self.assertIsNotNone(item.get('name'))
            self.assertEqual(item.get('abbr'), self.a_state_abbreviation)

    def test_districts_boundary(self):
        item = self.service.district_boundary(self.a_boundary_id)
        self.assertIsNotNone(item.get('id'))
        self.assertIsNotNone(item.get('name'))
        self.assertIsNotNone(item.get('bbox'))
        self.assertIsNotNone(item.get('chamber'))
        self.assertIsNotNone(item.get('num_seats'))
        self.assertIsNotNone(item.get('region'))
        self.assertIsNotNone(item.get('shape'))
        self.assertEqual(item.get('boundary_id'), self.a_boundary_id)
コード例 #4
0
class TestOpenStates(unittest.TestCase):
    def setUp(self):
        self.service = Openstates()
        self.a_state_abbreviation = 'nc'
        self.a_bill_id = 'NCB00007259'
        self.a_bill_official_id = 'HB 786'
        self.expected_metadata_keys = ('name', 'abbreviation', 'chambers',
                                       'feature_flags')
        self.lat = 35.933333
        self.lon = -79.033333
        self.a_committee_id = 'NCC000169'
        self.a_state_with_events = 'tx'
        self.an_event_id = 'TXE00026474'
        self.a_boundary_id = 'ocd-division/country:us/state:nc/sldl:1'

    def test_bad__get_url(self):
        with self.assertRaises(BadRequestException):
            self.service._get_url(['districts', None], sunlight.config.API_KEY)

    def test_all_metadata(self):
        all_metadata = self.service.all_metadata()
        random_metadata = random.choice(all_metadata)
        for expected_key in self.expected_metadata_keys:
            self.assertIn(expected_key, random_metadata)
        self.assertGreaterEqual(len(all_metadata), 50)

    def test_state_metadata(self):
        state_metadata = self.service.state_metadata(self.a_state_abbreviation)
        for expected_key in self.expected_metadata_keys:
            self.assertIn(expected_key, state_metadata)
        self.assertEqual(state_metadata.get('abbreviation'),
                         self.a_state_abbreviation)

    def test_bill_search(self):
        num_results = 20
        page_num = 1
        results = self.service.bills(state=self.a_state_abbreviation,
                                     per_page=num_results,
                                     page=page_num)
        self.assertLessEqual(len(results), num_results)

    def test_get_bill(self):
        result = self.service.bill(self.a_bill_id)
        self.assertEqual(result.get('state'), self.a_state_abbreviation)
        self.assertEqual(result.get('bill_id'), self.a_bill_official_id)

    def test_bill_detail(self):
        result = self.service.bill_detail('nc', '2013',
                                          self.a_bill_official_id)
        self.assertEqual(result.get('state'), self.a_state_abbreviation)
        self.assertEqual(result.get('bill_id'), self.a_bill_official_id)

    def test_bill_detail_with_session_int(self):
        result = self.service.bill_detail('nc', 2013, self.a_bill_official_id)
        self.assertEqual(result.get('state'), self.a_state_abbreviation)
        self.assertEqual(result.get('bill_id'), self.a_bill_official_id)

    def test_bill_detail_with_chamber(self):
        result = self.service.bill_detail('nc', '2013',
                                          self.a_bill_official_id, 'lower')
        self.assertEqual(result.get('state'), self.a_state_abbreviation)
        self.assertEqual(result.get('bill_id'), self.a_bill_official_id)

    def test_legislators_search_by_last_name(self):
        last_name = 'Smith'
        results = self.service.legislators(last_name=last_name)
        for item in results:
            self.assertEqual(item.get('last_name'), last_name)

    def test_legislator_detail(self):
        leg_id = 'MDL000210'
        result = self.service.legislator_detail(leg_id)
        self.assertEqual(result.get('leg_id'), leg_id)

    def test_legislator_geo_search(self):
        results = self.service.legislator_geo_search(self.lat, self.lon)
        self.assertGreaterEqual(len(results), 1)  # Derp. I don't know.
        for item in results:
            self.assertTrue(item.get('active'))
            self.assertEqual(item.get('state'), self.a_state_abbreviation)

    def test_committees_search(self):
        results = self.service.committees(state=self.a_state_abbreviation)
        self.assertGreaterEqual(len(results), 1)  # Derp. I don't know.
        for item in results:
            self.assertEqual(item.get('state'), self.a_state_abbreviation)
            self.assertIsNotNone(item.get('committee'))

    def test_committee_detail(self):
        result = self.service.committee_detail(self.a_committee_id)
        self.assertEqual(result.get('id'), self.a_committee_id)
        self.assertIsNotNone(result.get('committee'))

    def test_events_search(self):
        results = self.service.events(state=self.a_state_with_events)
        for item in results:
            self.assertIsNotNone(item.get('id'))
            self.assertEqual(item.get('state'), self.a_state_with_events)

    def test_event_detail(self):
        item = self.service.event_detail(self.an_event_id)
        self.assertIsNotNone(item.get('id'))
        self.assertEqual(item.get('state'), self.a_state_with_events)

    def test_districts_search(self):
        results = self.service.districts(self.a_state_abbreviation, 'upper')
        for item in results:
            self.assertIsNotNone(item.get('id'))
            self.assertIsNotNone(item.get('name'))
            self.assertEqual(item.get('abbr'), self.a_state_abbreviation)

    def test_districts_boundary(self):
        item = self.service.district_boundary(self.a_boundary_id)
        self.assertIsNotNone(item.get('id'))
        self.assertIsNotNone(item.get('name'))
        self.assertIsNotNone(item.get('bbox'))
        self.assertIsNotNone(item.get('chamber'))
        self.assertIsNotNone(item.get('num_seats'))
        self.assertIsNotNone(item.get('region'))
        self.assertIsNotNone(item.get('shape'))
        self.assertEqual(item.get('boundary_id'), self.a_boundary_id)