def testNonExpandedExamples(self): docs = { 'doc1': { 'name': 'doc1', 'example': {} }, 'doc2': { 'name': 'doc2', 'example': [] }, 'doc3': { 'name': 'doc3', 'example': [{}] } } expected_docs = [ { 'name': 'doc1', 'has_example': True, 'example': '{...}' }, { 'name': 'doc2', 'has_example': True, 'example': '[...]' }, { 'name': 'doc3', 'has_example': True, 'example': '[{...}]' } ] self.assertEqual( expected_docs, manifest_data_source._ListifyAndSortDocs(docs, 'apps'))
def testAnnotate(self): expected_docs = [ { 'level': 'required', 'name': 'doc1', 'children': [ { 'level': 'required', 'name': 'sub2' }, { 'annotations': ['Optional', 'not so important'], 'level': 'optional', 'name': 'sub1', 'is_last': True } ] }, { 'level': 'required', 'name': 'doc2' }, { 'name': 'name', 'level': 'required', 'example': '"My App"', 'has_example': True }, { 'annotations': ['Recommended'], 'level': 'recommended', 'name': 'doc4' }, { 'annotations': ['Pick one (or none)'], 'level': 'only_one', 'name': 'doc3' }, { 'level': 'only_one', 'name': 'doc5' }, { 'annotations': ['Optional'], 'level': 'optional', 'name': 'doc6', 'is_last': True } ] annotated = manifest_data_source._ListifyAndSortDocs( deepcopy(convert_and_annotate_docs), 'App') manifest_data_source._AddLevelAnnotations(annotated) self.assertEqual(expected_docs, annotated)
def testListifyAndSortDocs(self): expected_docs = [ { 'level': 'required', 'name': 'doc1', 'children': [ { 'level': 'required', 'name': 'sub2' }, { 'annotations': ['not so important'], 'level': 'optional', 'name': 'sub1' } ] }, { 'level': 'required', 'name': 'doc2' }, { 'level': 'required', 'example': '"My App"', 'has_example': True, 'name': 'name' }, { 'level': 'recommended', 'name': 'doc4' }, { 'level': 'only_one', 'name': 'doc3' }, { 'level': 'only_one', 'name': 'doc5' }, { 'level': 'optional', 'name': 'doc6' } ] self.assertEqual(expected_docs, manifest_data_source._ListifyAndSortDocs( deepcopy(convert_and_annotate_docs), 'App'))
def testExpandedExamples(self): docs = { 'doc1': { 'name': 'doc1', 'example': { 'big': { 'nested': { 'json_example': ['with', 'more', 'json'] } } } } } expected_docs = [ { 'name': 'doc1', 'children': [ { 'name': 'big', 'children': [ { 'name': 'nested', 'children': [ { 'name': 'json_example', 'example': json.dumps(['with', 'more', 'json']), 'has_example': True } ] } ] } ] } ] self.assertEqual( expected_docs, manifest_data_source._ListifyAndSortDocs(docs, 'apps'))