def test_can_inject_method_onto_resource(self):
     session = ibm_boto3.Session(botocore_session=self.botocore_session)
     self.botocore_session.register('creating-resource-class.s3',
                                    self.add_new_method(name='my_method'))
     resource = session.resource('s3')
     self.assertTrue(hasattr(resource, 'my_method'))
     self.assertEqual(resource.my_method('anything'), 'anything')
Esempio n. 2
0
    def __init__(self, endpoint_url, aws_access_key_id, aws_secret_access_key):

        session = ibm_boto3.Session(
            aws_access_key_id=aws_access_key_id,
            aws_secret_access_key=aws_secret_access_key)

        self.cos_client = session.client("s3", endpoint_url=endpoint_url)

        self.cos_resource = session.resource(
            "s3",
            aws_access_key_id=aws_access_key_id,
            aws_secret_access_key=aws_secret_access_key,
            endpoint_url=endpoint_url)
def test_docs_generated():
    """Verify we can generate the appropriate docs for all services"""
    botocore_session = ibm_botocore.session.get_session()
    session = ibm_boto3.Session(region_name='us-east-1')
    for service_name in session.get_available_services():
        generated_docs = ServiceDocumenter(service_name,
                                           session=session).document_service()
        generated_docs = generated_docs.decode('utf-8')
        client = ibm_boto3.client(service_name, 'us-east-1')

        # Check that all of the services have the appropriate title
        yield (_assert_has_title, generated_docs, client)

        # Check that all services have the client documented.
        yield (_assert_has_client_documentation, generated_docs, service_name,
               client)

        # If the client can paginate, make sure the paginators are documented.
        try:
            paginator_model = botocore_session.get_paginator_model(
                service_name)
            yield (_assert_has_paginator_documentation, generated_docs,
                   service_name, client,
                   sorted(paginator_model._paginator_config))
        except DataNotFoundError:
            pass

        # If the client has waiters, make sure the waiters are documented
        if client.waiter_names:
            waiter_model = botocore_session.get_waiter_model(service_name)
            yield (_assert_has_waiter_documentation, generated_docs,
                   service_name, client, waiter_model)

        # If the service has resources, make sure the service resource
        # is at least documented.
        if service_name in session.get_available_resources():
            resource = ibm_boto3.resource(service_name, 'us-east-1')
            yield (_assert_has_resource_documentation, generated_docs,
                   service_name, resource)
Esempio n. 4
0
def available_resources():
    session = ibm_boto3.Session(region_name='us-east-1')
    return session.get_available_resources()
Esempio n. 5
0
def all_services():
    session = ibm_boto3.Session(region_name='us-east-1')
    yield from session.get_available_services()
Esempio n. 6
0
def ibm_boto3_session():
    return ibm_boto3.Session(region_name='us-east-1')