def testMultipleTeamsOneComponent(self):
     with mock.patch('extract_components.scrape_owners',
                     return_value={
                         '.': {},
                         'dummydir1': {
                             'team': '*****@*****.**',
                             'component': 'Dummy>Component',
                         },
                         'dummydir2': {
                             'team': '*****@*****.**',
                             'component': 'Dummy>Component2',
                         },
                         'dummydir1/innerdir1': {
                             'team': '*****@*****.**',
                             'component': 'Dummy>Component'
                         }
                     }):
         saved_output = StringIO()
         with mock.patch('sys.stdout', saved_output):
             error_code = extract_components.main(['%prog', 'src'])
         self.assertEqual(0, error_code)
         result_minus_readme = json.loads(saved_output.getvalue())
         del result_minus_readme['AAA-README']
         self.assertEqual(
             result_minus_readme, {
                 'component-to-team': {
                     'Dummy>Component': '*****@*****.**',
                     'Dummy>Component2': '*****@*****.**'
                 },
                 'dir-to-component': {
                     'dummydir1': 'Dummy>Component',
                     'dummydir1/innerdir1': 'Dummy>Component',
                     'dummydir2': 'Dummy>Component2'
                 },
                 'dir-to-team': {
                     'dummydir1': '*****@*****.**',
                     'dummydir1/innerdir1':
                     '*****@*****.**',
                     'dummydir2': '*****@*****.**',
                 },
                 'teams-per-component': {
                     'Dummy>Component': [
                         '*****@*****.**',
                         '*****@*****.**'
                     ],
                     'Dummy>Component2': ['*****@*****.**'],
                 }
             })
Ejemplo n.º 2
0
 def testOsTagBreaksDuplication(self):
     with mock.patch('extract_components.scrape_owners',
                     return_value={
                         '.': {},
                         'dummydir1': {
                             'team': '*****@*****.**',
                             'component': 'Dummy>Component',
                         },
                         'dummydir2': {
                             'team': '*****@*****.**',
                             'component': 'Dummy>Component',
                             'os': 'Mac'
                         },
                         'dummydir1/innerdir1': {
                             'team': '*****@*****.**',
                             'component': 'Dummy>Component>Subcomponent'
                         }
                     }):
         saved_output = StringIO()
         with mock.patch('sys.stdout', saved_output):
             error_code = extract_components.main(['%prog', 'src'])
         self.assertEqual(0, error_code)
         result_minus_readme = json.loads(saved_output.getvalue())
         del result_minus_readme['AAA-README']
         self.assertEqual(
             result_minus_readme, {
                 'component-to-team': {
                     'Dummy>Component':
                     '*****@*****.**',
                     'Dummy>Component(Mac)':
                     '*****@*****.**',
                     'Dummy>Component>Subcomponent':
                     '*****@*****.**'
                 },
                 'dir-to-component': {
                     'dummydir1': 'Dummy>Component',
                     'dummydir1/innerdir1': 'Dummy>Component>Subcomponent',
                     'dummydir2': 'Dummy>Component(Mac)'
                 }
             })
Ejemplo n.º 3
0
 def testMultipleTeamsOneComponent(self):
     with mock.patch('extract_components.scrape_owners',
                     return_value={
                         '.': {},
                         'dummydir1': {
                             'team': '*****@*****.**',
                             'component': 'Dummy>Component',
                         },
                         'dummydir2': {
                             'team': '*****@*****.**',
                             'component': 'Dummy>Component',
                         },
                         'dummydir1/innerdir1': {
                             'team': '*****@*****.**',
                             'component': 'Dummy>Component>Subcomponent'
                         }
                     }):
         saved_output = StringIO()
         with mock.patch('sys.stdout', saved_output):
             error_code = extract_components.main(['%prog', '-w', 'src'])
         self.assertNotEqual(0, error_code)
         output = saved_output.getvalue()
         self.assertIn('has more than one team assigned to it', output)
         self.assertIn('Not writing to file', output)
Ejemplo n.º 4
0
 def testVerbose(self):
     saved_output = StringIO()
     with mock.patch('sys.stdout', saved_output):
         extract_components.main(['%prog', '-v'])
     output = saved_output.getvalue()
     self.assertIn('src/OWNERS has no COMPONENT tag', output)