def test_import_build_non_exist_file(self, os_path_exists): uploadpath = koji.pathinfo.work() os_path_exists.return_value = False with self.assertRaises(koji.GenericError) as cm: kojihub.import_build(self.src_filename, [self.filename]) self.assertEqual( "No such file: %s/%s" % (uploadpath, self.src_filename), str(cm.exception))
def test_import_build_completed_build(self, work, get_rpm_header, new_package, context, query, import_rpm, import_rpm_file, rip_rpm_sighdr, add_rpm_sig, get_build, _singleValue, _dml): rip_rpm_sighdr.return_value = (0, 0) processor = mock.MagicMock() processor.executeOne.return_value = None query.return_value = processor context.session.user_id = 99 work.return_value = '/' retval = copy.copy(self.rpm_header_retval) retval.update({ 'filename': 'name-version-release.arch.rpm', 1044: 'name-version-release.src', 1022: 'src', 1106: 1, }) get_rpm_header.return_value = retval kojihub.import_build(self.src_filename, [self.filename]) fields = [ 'task_id', 'extra', 'start_time', 'epoch', 'completion_time', 'state', 'version', 'source', 'volume_id', 'owner', 'release', 'pkg_id', 'id', ] statement = 'INSERT INTO build (%s) VALUES (%s)' % ( ", ".join(fields), ", ".join(['%%(%s)s' % field for field in fields]) ) values = { 'task_id': None, 'extra': None, 'start_time': 'NOW', 'epoch': 'epoch', 'completion_time': 'NOW', 'state': 1, 'version': 'version', 'source': None, 'volume_id': 0, 'owner': 99, 'release': 'release', 'pkg_id': mock.ANY, 'id': mock.ANY, } _dml.assert_called_once_with(statement, values)
def test_import_build_completed_build( self, work, get_rpm_header, new_package, context, query, import_rpm, import_rpm_file, rip_rpm_sighdr, add_rpm_sig, get_build, _singleValue, _dml, new_typed_build, check_volume_policy): rip_rpm_sighdr.return_value = (0, 0) processor = mock.MagicMock() processor.executeOne.return_value = None query.return_value = processor context.session.user_id = 99 work.return_value = '/' check_volume_policy.return_value = {'id': 0, 'name': 'DEFAULT'} retval = copy.copy(self.rpm_header_retval) retval.update({ 'filename': 'name-version-release.arch.rpm', 1044: 'name-version-release.src', 1022: 'src', 1106: 1, }) get_rpm_header.return_value = retval binfo = { 'state': koji.BUILD_STATES['COMPLETE'], 'name': 'name', 'version': 'version', 'release': 'release', 'id': 12345, } # get_build called once to check for existing, # if it doesn't exist, called another time after creating # then 3rd later to get the build info get_build.side_effect = [None, binfo, binfo] kojihub.import_build(self.src_filename, [self.filename]) fields = [ 'task_id', 'extra', 'start_time', 'epoch', 'completion_time', 'state', 'version', 'source', 'volume_id', 'owner', 'release', 'pkg_id', 'id', ] statement = 'INSERT INTO build (%s) VALUES (%s)' % (", ".join( fields), ", ".join(['%%(%s)s' % field for field in fields])) values = { 'task_id': None, 'extra': None, 'start_time': 'NOW', 'epoch': 'epoch', 'completion_time': 'NOW', 'state': 1, 'version': 'version', 'source': None, 'volume_id': 0, 'owner': 99, 'release': 'release', 'pkg_id': mock.ANY, 'id': mock.ANY, } _dml.assert_called_once_with(statement, values)
def test_import_build_completed_build(self, work, get_rpm_header, new_package, context, query, import_rpm, import_rpm_file, rip_rpm_sighdr, add_rpm_sig, get_build, _singleValue, _dml, new_typed_build, check_volume_policy): rip_rpm_sighdr.return_value = (0, 0) processor = mock.MagicMock() processor.executeOne.return_value = None query.return_value = processor context.session.user_id = 99 work.return_value = '/' check_volume_policy.return_value = {'id':0, 'name': 'DEFAULT'} retval = copy.copy(self.rpm_header_retval) retval.update({ 'filename': 'name-version-release.arch.rpm', 1044: 'name-version-release.src', 1022: 'src', 1106: 1, }) get_rpm_header.return_value = retval binfo = { 'state': koji.BUILD_STATES['COMPLETE'], 'name': 'name', 'version': 'version', 'release': 'release', 'id': 12345, } # get_build called once to check for existing, # if it doesn't exist, called another time after creating # then 3rd later to get the build info get_build.side_effect = [None, binfo, binfo] kojihub.import_build(self.src_filename, [self.filename]) fields = [ 'completion_time', 'epoch', 'extra', 'id', 'owner', 'pkg_id', 'release', 'source', 'start_time', 'state', 'task_id', 'version', 'volume_id', ] statement = 'INSERT INTO build (%s) VALUES (%s)' % ( ", ".join(fields), ", ".join(['%%(%s)s' % field for field in fields]) ) values = { 'task_id': None, 'extra': None, 'start_time': 'NOW', 'epoch': 'epoch', 'completion_time': 'NOW', 'state': 1, 'version': 'version', 'source': None, 'volume_id': 0, 'owner': 99, 'release': 'release', 'pkg_id': mock.ANY, 'id': mock.ANY, } _dml.assert_called_once_with(statement, values)
def test_import_build_completed_build( self, work, get_rpm_header, new_package, context, query, import_rpm, import_rpm_file, rip_rpm_sighdr, add_rpm_sig, get_build, _singleValue, _dml, new_typed_build, ): rip_rpm_sighdr.return_value = (0, 0) processor = mock.MagicMock() processor.executeOne.return_value = None query.return_value = processor context.session.user_id = 99 work.return_value = "/" retval = copy.copy(self.rpm_header_retval) retval.update( {"filename": "name-version-release.arch.rpm", 1044: "name-version-release.src", 1022: "src", 1106: 1} ) get_rpm_header.return_value = retval binfo = { "state": koji.BUILD_STATES["COMPLETE"], "name": "name", "version": "version", "release": "release", "id": 12345, } # get_build called once to check for existing, # then later to get the build info get_build.side_effect = [None, binfo] kojihub.import_build(self.src_filename, [self.filename]) fields = [ "task_id", "extra", "start_time", "epoch", "completion_time", "state", "version", "source", "volume_id", "owner", "release", "pkg_id", "id", ] statement = "INSERT INTO build (%s) VALUES (%s)" % ( ", ".join(fields), ", ".join(["%%(%s)s" % field for field in fields]), ) values = { "task_id": None, "extra": None, "start_time": "NOW", "epoch": "epoch", "completion_time": "NOW", "state": 1, "version": "version", "source": None, "volume_id": 0, "owner": 99, "release": "release", "pkg_id": mock.ANY, "id": mock.ANY, } _dml.assert_called_once_with(statement, values)