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"))