class TestServiceDocumenter(BaseDocsTest): def setUp(self): super(TestServiceDocumenter, self).setUp() self.add_shape_to_params('Biz', 'String') self.setup_client() with mock.patch('botocore.session.create_loader', return_value=self.loader): session = get_session() self.service_documenter = ServiceDocumenter( 'myservice', session) def test_document_service(self): # Note that not everything will be included as it is just # a smoke test to make sure all of the main parts are inluded. contents = self.service_documenter.document_service().decode('utf-8') lines = [ '*********', 'MyService', '*********', '.. contents:: Table of Contents', ' :depth: 2', '======', 'Client', '======', '.. py:class:: MyService.Client', ' A low-level client representing AWS MyService::', ' client = session.create_client(\'myservice\')', ' These are the available methods:', ' * :py:meth:`sample_operation`', ' .. py:method:: sample_operation(**kwargs)', ' **Examples** ', ' Sample Description.', ' ::', ' response = client.sample_operation(', '==========', 'Paginators', '==========', '.. py:class:: MyService.Paginator.SampleOperation', ' .. py:method:: paginate(**kwargs)', '=======', 'Waiters', '=======', '.. py:class:: MyService.Waiter.SampleOperationComplete', ' .. py:method:: wait(**kwargs)' ] for line in lines: self.assertIn(line, contents) def test_document_service_no_paginator(self): os.remove(self.paginator_model_file) contents = self.service_documenter.document_service().decode('utf-8') self.assertNotIn('Paginators', contents) def test_document_service_no_waiter(self): os.remove(self.waiter_model_file) contents = self.service_documenter.document_service().decode('utf-8') self.assertNotIn('Waiters', contents)
class TestServiceDocumenter(BaseDocsTest): def setUp(self): super(TestServiceDocumenter, self).setUp() self.add_shape_to_params('Biz', 'String') self.setup_client() with mock.patch('botocore.session.create_loader', return_value=self.loader): session = get_session() self.service_documenter = ServiceDocumenter( 'myservice', session) def test_document_service(self): # Note that not everything will be included as it is just # a smoke test to make sure all of the main parts are inluded. contents = self.service_documenter.document_service().decode('utf-8') lines = [ '*********', 'MyService', '*********', '.. contents:: Table of Contents', ' :depth: 2', '======', 'Client', '======', '.. py:class:: MyService.Client', ' A low-level client representing AWS MyService::', ' client = session.create_client(\'myservice\')', ' These are the available methods:', ' * :py:meth:`sample_operation`', ' .. py:method:: sample_operation(**kwargs)', '==========', 'Paginators', '==========', '.. py:class:: MyService.Paginator.SampleOperation', ' .. py:method:: paginate(**kwargs)', '=======', 'Waiters', '=======', '.. py:class:: MyService.Waiter.SampleOperationComplete', ' .. py:method:: wait(**kwargs)' ] for line in lines: self.assertIn(line, contents) def test_document_service_no_paginator(self): os.remove(self.paginator_model_file) contents = self.service_documenter.document_service().decode('utf-8') self.assertNotIn('Paginators', contents) def test_document_service_no_waiter(self): os.remove(self.waiter_model_file) contents = self.service_documenter.document_service().decode('utf-8') self.assertNotIn('Waiters', contents)
def test_generate_presigned_url_is_not_documented(self): documenter = ServiceDocumenter('secretsmanager', self._session) docs = documenter.document_service() self.assert_not_contains_line('generate_presigned_url', docs)