Exemplo n.º 1
0
 def test_prep_build_exists(self, work, get_build):
     work.return_value = os.path.dirname(__file__)
     get_build.return_value = True
     x = kojihub.CG_Importer()
     x.get_metadata('default.json', 'cg_importer_json')
     with self.assertRaises(GenericError):
         x.prep_build()
Exemplo n.º 2
0
 def test_match_componemt_wrong_component(self):
     x = kojihub.CG_Importer()
     components = [{'type': 'type'}]
     with self.assertRaises(koji.GenericError) as ex:
         x.match_components(components)
     self.assertEqual('No such component type: %s' % components[0]['type'],
                      str(ex.exception))
 def test_get_build(self, work, context, new_build_id, get_build):
     work.return_value = os.path.dirname(__file__)
     cursor = mock.MagicMock()
     context.cnx.cursor.return_value = cursor
     new_build_id.return_value = 42
     get_build.return_value = False
     x = kojihub.CG_Importer()
     x.get_metadata('default.json', 'cg_importer_json')
     x.prep_build()
     x.prepped_outputs = []
     get_build.return_value = {'id': 43, 'package_id': 1,
                               'package_name': 'testpkg',
                               'name': 'testpkg', 'version': '1.0.1e',
                               'release': '42.el7', 'epoch': None,
                               'nvr': 'testpkg-1.0.1-1.fc24',
                               'state': 'complete', 'task_id': 1,
                               'owner_id': 1, 'owner_name': 'jvasallo',
                               'volume_id': 'id-1212', 'volume_name': 'testvolume',
                               'creation_event_id': '', 'creation_time': '',
                               'creation_ts': 424242424242,
                               'start_time': None, 'start_ts': None,
                               'completion_time': None, 'completion_ts': None,
                               'source': 'https://example.com', 'extra': {}
                              }
     new_build_id.return_value = 43
     x.get_build()
     assert x.buildinfo
     assert isinstance(x.buildinfo, dict)
Exemplo n.º 4
0
 def test_get_metadata_is_not_instance(self):
     x = kojihub.CG_Importer()
     metadata = 42
     with self.assertRaises(GenericError) as ex:
         x.get_metadata(metadata, '')
     self.assertEqual(
         'Invalid type for metadata value: %s' % type(metadata),
         str(ex.exception))
 def test_prep_build(self, work, context):
     work.return_value = os.path.dirname(__file__)
     cursor = mock.MagicMock()
     context.cnx.cursor.return_value = cursor
     x = kojihub.CG_Importer()
     x.get_metadata('default.json', 'cg_importer_json')
     x.prep_build()
     assert x.buildinfo
     assert isinstance(x.buildinfo, dict)
Exemplo n.º 6
0
 def test_assert_cg_access(self, work, context):
     work.return_value = os.path.dirname(__file__)
     cursor = mock.MagicMock()
     context.session.user_id = 42
     context.cnx.cursor.return_value = cursor
     cursor.fetchall.return_value = [(1, 'foo'), (2, 'bar')]
     x = kojihub.CG_Importer()
     x.get_metadata('default.json', 'cg_importer_json')
     x.assert_cg_access()
     assert x.cgs
     assert isinstance(x.cgs, set)
Exemplo n.º 7
0
 def test_prep_build(self, work, context, get_user, get_build):
     work.return_value = os.path.dirname(__file__)
     cursor = mock.MagicMock()
     context.cnx.cursor.return_value = cursor
     cursor.fetchall.return_value = [(1, 'foo'), (2, 'bar')]
     get_user.return_value = {'id': 123}
     get_build.return_value = {}
     x = kojihub.CG_Importer()
     x.get_metadata('default.json', 'cg_importer_json')
     x.assert_cg_access()
     x.prep_build()
     assert x.buildinfo
     assert isinstance(x.buildinfo, dict)
Exemplo n.º 8
0
 def test_do_import_no_such_metadata(self, get_metadata):
     x = kojihub.CG_Importer()
     metadata = {
         'metadata_version': 99,
         'build': {
             'name': 'f32-build-n2j8',
             'version': '1.1',
             'release': '1',
             'epoch': 0,
             'owner': 'kojiadmin'
         }
     }
     get_metadata.return_value = metadata
     with self.assertRaises(koji.GenericError) as ex:
         x.do_import(metadata, '/test/dir')
     self.assertEqual(
         'No such metadata version: %s' % metadata['metadata_version'],
         str(ex.exception))
Exemplo n.º 9
0
 def setUp(self):
     self.importer = kojihub.CG_Importer()
     self.archive1 = {
         'id': 99,
         'build_id': 42,
         'checksum': 'e1f95555eae04b8e1ebdc5555c5555f0',
         'checksum_type': 0,
         'filename': 'foo-bar-3.0.jar',
         'size': 42710,
     }
     self.build1 = {
         'id': 79218,
         'nvr': 'foo-3.0-1',
     }
     self.comp1 = {
         'type': 'kojifile',
         'archive_id': self.archive1['id'],
         'nvr': self.build1['nvr'],
         'filename': self.archive1['filename'],
     }
     self.get_archive = mock.patch('kojihub.get_archive').start()
     self.get_build = mock.patch('kojihub.get_build').start()
Exemplo n.º 10
0
    def test_check_build_dir(self, rmtree, lexists, build):
        path = '/random_path/random_dir'
        build.return_value = path

        x = kojihub.CG_Importer()

        # directory exists
        lexists.return_value = True
        with self.assertRaises(koji.GenericError):
            x.check_build_dir(delete=False)
        rmtree.assert_not_called()

        # directory exists + delete
        lexists.return_value = True
        x.check_build_dir(delete=True)
        rmtree.assert_called_once_with(path)

        # directory doesn't exist
        rmtree.reset_mock()
        lexists.return_value = False
        x.check_build_dir()
        rmtree.assert_not_called()
Exemplo n.º 11
0
 def test_get_metadata_is_none(self):
     x = kojihub.CG_Importer()
     with self.assertRaises(GenericError) as ex:
         x.get_metadata(None, '')
     self.assertEqual('No such file: metadata.json', str(ex.exception))
Exemplo n.º 12
0
 def test_import_metadata(self, work, build):
     work.return_value = os.path.dirname(__file__)
     build.return_value = self.TMP_PATH
     x = kojihub.CG_Importer()
     x.get_metadata('default.json', 'cg_importer_json')
     x.import_metadata()
Exemplo n.º 13
0
 def test_get_metadata_is_json_file(self, work):
     work.return_value = os.path.dirname(__file__)
     x = kojihub.CG_Importer()
     x.get_metadata('default.json', 'cg_importer_json')
     assert x.raw_metadata
     assert isinstance(x.raw_metadata, str)
Exemplo n.º 14
0
 def test_get_metadata_missing_json_file(self, work):
     work.return_value = os.path.dirname(__file__)
     x = kojihub.CG_Importer()
     with self.assertRaises(GenericError):
         x.get_metadata('missing.json', 'cg_importer_json')
Exemplo n.º 15
0
 def test_get_metadata_is_none(self):
     x = kojihub.CG_Importer()
     with self.assertRaises(GenericError):
         x.get_metadata(None, '')
Exemplo n.º 16
0
 def test_get_metadata_is_instance(self):
     mock_input_val = {'foo': 'bar'}
     x = kojihub.CG_Importer()
     x.get_metadata(mock_input_val, '')
     assert x.raw_metadata
     assert isinstance(x.raw_metadata, str)
Exemplo n.º 17
0
 def test_basic_instantiation(self):
     kojihub.CG_Importer()  # No exception!