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')
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)
def available_resources(): session = ibm_boto3.Session(region_name='us-east-1') return session.get_available_resources()
def all_services(): session = ibm_boto3.Session(region_name='us-east-1') yield from session.get_available_services()
def ibm_boto3_session(): return ibm_boto3.Session(region_name='us-east-1')