def METHOD_NAME(make_stubber):
    iam = boto3.resource('iam')
    iam_stubber = make_stubber(iam.meta.client)
    role_name = 'test-role'
    role_policies = [unittest.mock.MagicMock(
        policy_name='test-role-policy',
        arn='arn:aws:iam:123456789012::policy/test-role-policy')]
    user_name = 'test-user'
    user_policies = [unittest.mock.MagicMock(policy_name='test-user-policy')]
    user_key_ids = ['test-key-id-plus-more-characters']
    mfa_serials = ['test-serial']
    iam_stubber.stub_list_attached_role_policies(
        unittest.mock.ANY, {pol.policy_name: pol.arn for pol in role_policies})
    for pol in role_policies:
        iam_stubber.stub_get_policy(pol.arn)
        iam_stubber.stub_detach_role_policy(role_name, pol.arn)
        iam_stubber.stub_delete_policy(pol.arn)
    iam_stubber.stub_delete_role(role_name)
    iam_stubber.stub_list_user_policies(
        user_name, [pol.policy_name for pol in user_policies])
    for pol in user_policies:
        iam_stubber.stub_delete_user_policy(user_name, pol.policy_name)
    iam_stubber.stub_list_access_keys(user_name, user_key_ids)
    for key_id in user_key_ids:
        iam_stubber.stub_delete_access_key(user_name, key_id)
    iam_stubber.stub_list_mfa_devices(user_name, mfa_serials)
    for mfa_serial in mfa_serials:
        iam_stubber.stub_deactivate_mfa_device(user_name, mfa_serial)
        iam_stubber.stub_delete_virtual_mfa_device(mfa_serial)
    iam_stubber.stub_delete_user(user_name)
    assume_role_mfa.teardown(
        iam.User(user_name), iam.VirtualMfaDevice(mfa_serials[0]), iam.Role(role_name))