def setUp(self): super(TestSharedExampleDocumenter, self).setUp() self.documenter = SharedExampleDocumenter()
class TestSharedExampleDocumenter(BaseDocsTest): def setUp(self): super(TestSharedExampleDocumenter, self).setUp() self.documenter = SharedExampleDocumenter() def test_is_input(self): self.add_shape_to_params('foo', 'String') self.documenter.document_shared_example( example={ 'input': { 'foo': 'bar' } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo='bar'", ")" ]) def test_dict_example(self): self.add_shape({ 'bar': { "type": "structure", "members": { "bar": {"shape": "String"} } } }) self.add_shape_to_params('foo', 'bar') self.documenter.document_shared_example( example={ 'input': { 'foo': {'bar': 'baz'} } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo={", " 'bar': 'baz',", " },", ")" ]) def test_list_example(self): self.add_shape({ "foo": { "type": "list", "member": {"shape": "String"} } }) self.add_shape_to_params('foo', 'foo') self.documenter.document_shared_example( example={ 'input': { 'foo': ['bar'] } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo=[", " 'bar',", " ],", ")" ]) def test_unicode_string_example(self): self.add_shape_to_params('foo', 'String') self.documenter.document_shared_example( example={ 'input': { 'foo': u'bar' } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo='bar'", ")" ]) def test_timestamp_example(self): self.add_shape({ 'foo': {'type': 'timestamp'} }) self.add_shape_to_params('foo', 'foo') self.documenter.document_shared_example( example={ 'input': { 'foo': 'Fri, 20 Nov 2015 21:13:12 GMT' } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo=datetime(2015, 11, 20, 21, 13, 12, 4, 324, 0)", ")" ]) def test_map_example(self): self.add_shape({ "baz": {"type": "string"} }) self.add_shape({ 'bar': { "type": "map", "key": {"shape": "baz"}, "value": {"shape": "baz"} } }) self.add_shape_to_params('foo', 'bar') self.documenter.document_shared_example( example={ 'input': { 'foo': {'bar': 'baz'} } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo={", " 'bar': 'baz',", " },", ")" ]) def test_add_comment(self): self.add_shape_to_params('foo', 'String') self.documenter.document_shared_example( example={ 'input': { 'foo': 'bar' }, 'comments': { 'input': { 'foo': 'baz' } } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " # baz", " foo='bar',", ")" ])
class TestSharedExampleDocumenter(BaseDocsTest): def setUp(self): super(TestSharedExampleDocumenter, self).setUp() self.documenter = SharedExampleDocumenter() def test_is_input(self): self.add_shape_to_params('foo', 'String') self.documenter.document_shared_example( example={ 'input': { 'foo': 'bar' } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo='bar'", ")" ]) def test_dict_example(self): self.add_shape({ 'bar': { "type": "structure", "members": { "bar": {"shape": "String"} } } }) self.add_shape_to_params('foo', 'bar') self.documenter.document_shared_example( example={ 'input': { 'foo': {'bar': 'baz'} } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo={", " 'bar': 'baz',", " },", ")" ]) def test_list_example(self): self.add_shape({ "foo": { "type": "list", "member": {"shape": "String"} } }) self.add_shape_to_params('foo', 'foo') self.documenter.document_shared_example( example={ 'input': { 'foo': ['bar'] } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo=[", " 'bar',", " ],", ")" ]) def test_can_handle_no_input_key(self): self.add_shape_to_params('foo', 'String') self.documenter.document_shared_example( example={}, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", ")" ]) def test_unicode_string_example(self): self.add_shape_to_params('foo', 'String') self.documenter.document_shared_example( example={ 'input': { 'foo': u'bar' } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo='bar'", ")" ]) def test_timestamp_example(self): self.add_shape({ 'foo': {'type': 'timestamp'} }) self.add_shape_to_params('foo', 'foo') self.documenter.document_shared_example( example={ 'input': { 'foo': 'Fri, 20 Nov 2015 21:13:12 GMT' } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo=datetime(2015, 11, 20, 21, 13, 12, 4, 324, 0)", ")" ]) def test_map_example(self): self.add_shape({ "baz": {"type": "string"} }) self.add_shape({ 'bar': { "type": "map", "key": {"shape": "baz"}, "value": {"shape": "baz"} } }) self.add_shape_to_params('foo', 'bar') self.documenter.document_shared_example( example={ 'input': { 'foo': {'bar': 'baz'} } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " foo={", " 'bar': 'baz',", " },", ")" ]) def test_add_comment(self): self.add_shape_to_params('foo', 'String') self.documenter.document_shared_example( example={ 'input': { 'foo': 'bar' }, 'comments': { 'input': { 'foo': 'baz' } } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "foo.bar(", " # baz", " foo='bar',", ")" ]) def test_unicode_exammple(self): self.add_shape_to_params('foo', 'String') self.documenter.document_shared_example( example={ 'input': { 'foo': u'\u2713' } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ u"foo.bar(", u" foo='\u2713'", u")" ]) def test_escape_character_example(self): self.add_shape_to_params('foo', 'String') self.documenter.document_shared_example( example={ 'output': { 'foo': 'good\n\rintentions!\n\r' } }, prefix='foo.bar', section=self.doc_structure, operation_model=self.operation_model ) self.assert_contains_lines_in_order([ "Expected Output:", " {", " 'foo': 'good\\n\\rintentions!\\n\\r',", " }", ])