Example #1
0
  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'))
Example #2
0
  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'))
Example #3
0
  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)
Example #4
0
  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)
Example #5
0
  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'))
Example #6
0
  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'))
Example #7
0
  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'))
Example #8
0
  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'))