Это мой текущий тест:
Моя настройка:
class CheckTestParentMocked:
@pytest.fixture(autouse=True)
def run_around_tests(self, mocker):
self.profile = 'myprofile'
self.region = 'eu-west-1'
mocked_boto = mocker.patch(self.boto_client_path) #mypackage.module.boto3
mocked_session = mocked_boto.Session()
self.mocked_client = mocked_session.client()
Моя актуальная оценка:
def test_gets_non_authorizer_api(self):
def side_effect(*args, **kwargs):
if args or kwargs:
# these are resources
return [{
'items': [
{
'id': 'resource-id-foo',
'path': '/',
'resourceMethods': ['GET']
}
]
}]
else:
# these are apis
return [{'items': [
{
'id': 'foo',
'name': 'foo-name'
}
]
}]
self.paginator.paginate.side_effect = side_effect
self.mocked_client.get_method.return_value = {
'authorizationType': 'NONE'
}
assertion = {
'API Name': 'foo-name', 'API Methods': 'GET', 'Resource Path': '/', 'Region': self.region,
'Authorization Type': 'NONE'
}
self.mocked_client.get_paginator('get_rest_apis').paginate()
self.mocked_client.get_paginator('get_resources').paginate(restApiId='someid')
paginate()
Результат зависит от параметра перешел на get_paginator
. Сейчас мне повезло, что я могу использовать параметры paginate, чтобы определить, каким должно быть поведение, но как я могу определить макет, чтобы paginate () возвращал мне определенные c значения, основанные на параметрах get_paginator?