示例#1
0
def test_open_prereq_revisions(deleted):
    if deleted:
        # Sort prereqs from last to first- delete from end of series back.
        sort = '-revision_sort_code'
    else:
        # Add or move from first to last, so that each "after" is in place.
        sort = 'revision_sort_code'

    with mock.patch('%s._same_series_revisions' % IREV) as ssrevs_mock:
        op_revs = mock.MagicMock()
        ssrevs_mock.return_value.exclude.return_value \
                                .filter.return_value \
                                .filter.return_value \
                                .order_by.return_value = op_revs
        ssrevs_mock.return_value.exclude.return_value \
                                .filter.return_value \
                                .order_by.return_value = op_revs
        rev = IssueRevision()
        rev.id = 1234
        rev.deleted = deleted

        assert rev._open_prereq_revisions() == op_revs
        if deleted:
            ssrevs_mock.return_value.exclude.assert_has_calls([
                mock.call(id__lte=1234),
                mock.call().filter(committed=None),
                mock.call().filter().order_by(sort)])
        else:
            ssrevs_mock.return_value.exclude.assert_has_calls([
                mock.call(id__gte=1234),
                mock.call().filter(committed=None),
                mock.call().filter().filter(issue=None),
                mock.call().filter().filter().order_by(sort)])
示例#2
0
def test_committed_prereq_revisions(deleted):
    # We sort commited reversed from open so that we effectively append
    # to committed as we commit each revision as we walk through open.
    if deleted:
        sort = 'revision_sort_code'
    else:
        sort = '-revision_sort_code'

    with mock.patch('%s._same_series_revisions' % IREV) as ssrevs_mock:
        c_revs = mock.MagicMock()
        ssrevs_mock.return_value.exclude.return_value \
                                .filter.return_value \
                                .order_by.return_value = c_revs
        rev = IssueRevision()
        rev.id = 1234
        rev.deleted = deleted

        assert rev._committed_prereq_revisions() == c_revs
        ssrevs_mock.return_value.exclude.assert_has_calls([
            mock.call(id=1234),
            mock.call().filter(committed=True),
            mock.call().filter().order_by(sort)])