def create_and_open_policy(callback, **kwargs):
    creds = mock.create_autospec(credentials.Credentials, instance=True)
    client = subscriber.Client(credentials=creds)
    policy = thread.Policy(client, 'sub_name_c', **kwargs)

    with mock.patch('threading.Thread', autospec=True):
        policy.open(callback)

    return policy
def create_policy(flow_control=types.FlowControl()):
    creds = mock.Mock(spec=credentials.Credentials)
    client = subscriber.Client(credentials=creds)
    return thread.Policy(client, 'sub_name_d', flow_control=flow_control)
def create_policy(**kwargs):
    creds = mock.Mock(spec=credentials.Credentials)
    client = subscriber.Client(credentials=creds)
    return thread.Policy(client, 'sub_name_c', **kwargs)