def test_load_invalid_s3_schema(self): mocked_connection = Mock() with patch('boto3.resource', Mock(return_value=mocked_connection)) as mocked_resource: stubbed_error = {'Error': {'Code': '500', 'Message': "Couldn't find file"}} mocked_resource.side_effect = botocore.exceptions.ClientError(stubbed_error, "Some operation") self.assertIsNone(load_s3_schema_file("999999.json"))
def test_load_s3_schema(self): mocked_json = '{"survey": "some_survey"}' mocked_connection = Mock() with patch('boto3.resource', Mock(return_value=mocked_connection)): mocked_file = Mock() mocked_file.read = Mock(return_value=mocked_json.encode()) mocked_object = Mock() mocked_connection.Object = Mock(return_value=mocked_object) mocked_object.get.return_value = {"Body": mocked_file} self.assertEqual(json.loads(mocked_json), load_s3_schema_file("ignored_filename.json"))