Example #1
0
    def test_delete_build_lazy_refs(self, build, context, buildrefs, _delete):
        '''Test that we can handle lazy return from build_references'''
        context.session.assertPerm = mock.MagicMock()
        buildrefs.return_value = {'tags': []}
        binfo = {'id': 'BUILD ID', 'state': koji.BUILD_STATES['COMPLETE']}
        build.return_value = binfo
        kojihub.delete_build(build=binfo, strict=True)

        # no build refs, so we should have called _delete_build
        _delete.assert_called_with(binfo)
Example #2
0
    def test_delete_build_raise_error(self, build, context):
        context.session.assertPerm = mock.MagicMock()
        references = ['tags', 'rpms', 'archives', 'images']
        for ref in references:
            context = mock.MagicMock()
            context.session.return_value = context

            with mock.patch('kojihub.build_references') as refs:
                retval = defaultdict(dict)
                retval[ref] = True
                refs.return_value = retval
                with self.assertRaises(GenericError):
                    kojihub.delete_build(build='', strict=True)
Example #3
0
    def test_delete_build_raise_error(self, build, context):
        context.session.assertPerm = mock.MagicMock()
        references = ['tags', 'rpms', 'archives', 'images']
        for ref in references:
            context = mock.MagicMock()
            context.session.return_value = context

            with mock.patch('kojihub.build_references') as refs:
                retval = defaultdict(dict)
                retval[ref] = True
                refs.return_value = retval
                with self.assertRaises(GenericError):
                    kojihub.delete_build(build='', strict=True)
Example #4
0
    def test_delete_build_return_false(self, build, context):
        context.session.assertPerm = mock.MagicMock()
        references = ['tags', 'rpms', 'archives', 'component_of']
        for ref in references:
            context = mock.MagicMock()
            context.session.return_value = context

            with mock.patch('kojihub.build_references') as refs:
                retval = defaultdict(dict)
                retval[ref] = True
                refs.return_value = retval
                assert kojihub.delete_build(build='', strict=False) is False
Example #5
0
    def test_delete_build_return_false(self, build, context):

        references = ['tags', 'rpms', 'archives', 'images']
        for ref in references:
            context = mock.MagicMock()
            context.session.return_value = context

            with mock.patch('kojihub.build_references') as refs:
                retval = defaultdict(dict)
                retval[ref] = True
                refs.return_value = retval
                assert kojihub.delete_build(build='', strict=False) is False
Example #6
0
    def test_delete_build_check_last_used_raise_error(self, build, context):
        context.session.assertPerm = mock.MagicMock()
        references = ['tags', 'rpms', 'archives', 'images', 'last_used']
        for ref in references:
            context = mock.MagicMock()
            context.session.return_value = context

            with mock.patch('kojihub.build_references') as refs:
                retval = defaultdict(dict)
                if ref == 'last_used':
                    retval[ref] = time.time()+100
                    refs.return_value = retval
                    self.assertFalse(kojihub.delete_build(build='', strict=False))
    def test_delete_build_lazy_refs(self, build, context, buildrefs, _delete,
                                    get_user):
        '''Test that we can handle lazy return from build_references'''
        get_user.return_value = {
            'authtype': 2,
            'id': 1,
            'krb_principal': None,
            'krb_principals': [],
            'name': 'kojiadmin',
            'status': 0,
            'usertype': 0
        }
        context.session.assertPerm = mock.MagicMock()
        buildrefs.return_value = {'tags': []}
        binfo = {
            'id': 'BUILD ID',
            'state': koji.BUILD_STATES['COMPLETE'],
            'nvr': 'test_nvr-3.3-20.el8'
        }
        build.return_value = binfo
        kojihub.delete_build(build=binfo, strict=True)

        # no build refs, so we should have called _delete_build
        _delete.assert_called_with(binfo)