def test_part_parser_uses_existing(self, mock_get): mock_response = mock.Mock( # mock to skip the effective_date request Response, reason='REQUESTS FOR HUMANS MY EYE', status_code=404, ok=False) mock_get.return_value = mock_response part_number = '1003' # This part exists in the test fixture ecfr_to_regdown(part_number, file_path=self.xml_fixture) self.assertEqual(Part.objects.filter( part_number=part_number).count(), 1)
def test_part_parser_uses_existing(self, mock_get): mock_response = mock.Mock( # mock to skip the effective_date request Response, reason='REQUESTS FOR HUMANS MY EYE', status_code=404, ok=False) mock_get.return_value = mock_response part_number = '1003' # This part exists in the loaded fixture ecfr_importer.ecfr_to_regdown(part_number, file_path=self.xml_fixture) self.assertEqual(Part.objects.filter( part_number=part_number).count(), 1)
def test_parser_good_request(self, mock_get): part_number = '1002' mock_response = mock.Mock( Response, ok=True, text=self.test_xml, encoding='utf-8') mock_get.return_value = mock_response mock_response.json.return_value = json.loads( '{"results": [{"effective_on": "2018-01-01"}]}') ecfr_to_regdown(part_number) self.assertEqual(mock_get.call_count, 2)
def test_parser_good_request(self, mock_get): part_number = '1002' mock_response = mock.Mock( Response, ok=True, text=self.test_xml, encoding='utf-8') mock_get.return_value = mock_response mock_response.json.return_value = json.loads( '{"results": [{"effective_on": "2018-01-01"}]}') ecfr_importer.ecfr_to_regdown(part_number) self.assertEqual(mock_get.call_count, 2)
def test_part_parser_create_new(self, mock_get): """Check that a regulation part that isn't loaded gets created.""" part_number = '1002' # This part does not exist in the loaded fixture mock_response = mock.Mock( # mock the effective_date request Response, reason='REQUESTS FOR HUMANS MY EYE', ok=True) mock_response.json.return_value = {'results': [{'effective_on': '2018-06-01'}]} mock_get.return_value = mock_response ecfr_importer.ecfr_to_regdown(part_number, file_path=self.xml_fixture) self.assertEqual(Part.objects.filter( part_number=part_number).count(), 1)
def test_failed_parser_request_returns_none(self, mock_get): mock_response = mock.Mock(Response, reason='REQUESTS FOR HUMANS MY EYE', status_code=404, ok=False) mock_get.return_value = mock_response self.assertIs(ecfr_importer.ecfr_to_regdown('1002'), None) self.assertEqual(mock_get.call_count, 1)
def test_failed_parser_request_returns_none(self, mock_get): mock_response = mock.Mock( Response, reason='REQUESTS FOR HUMANS MY EYE', status_code=404, ok=False) mock_get.return_value = mock_response self.assertIs(ecfr_importer.ecfr_to_regdown('1002'), None) self.assertEqual(mock_get.call_count, 1)
def test_bad_file_path_returns_none(self): self.assertIs( ecfr_to_regdown('1002', file_path='fake_file_path'), None) self.assertEqual(Part.objects.filter(part_number='1002').count(), 0)
def test_part_parser_create_new(self): part_number = '1002' # This part does not exist in the test fixture ecfr_to_regdown(part_number, file_path=self.xml_fixture) self.assertEqual(Part.objects.filter( part_number=part_number).count(), 1)
def test_bad_file_path_returns_none(self): self.assertIs( ecfr_importer.ecfr_to_regdown('1002', file_path='fake_file_path'), None) self.assertEqual(Part.objects.filter(part_number='1002').count(), 0)