예제 #1
0
def _create_qc_events(unit):
    create_instances = [
        QualityCheck(
            name=("Foo%s" % i), category=2, unit=unit)
        for i in range(0, 3)]
    for instance in create_instances:
        create.send(
            QualityCheck,
            instance=instance)
    create_objects = [
        QualityCheck(
            name=("Bar%s" % i),
            category=2,
            unit=unit)
        for i in range(0, 3)]
    create_more_objects = [
        QualityCheck(
            name=("Baz%s" % i),
            category=2,
            unit=unit)
        for i in range(0, 3)]
    create.send(
        QualityCheck,
        objects=create_objects)
    create.send(
        QualityCheck,
        objects=create_more_objects)
    return create_instances + create_objects + create_more_objects
예제 #2
0
파일: utils.py 프로젝트: oc-linux/pootle
def test_unit_lifecycle_unmute_qc(store0, member):
    unit = store0.UnitClass()
    unit.store = store0
    unit.source_f = multistring("Foo")
    unit.save()
    unit_lifecycle = lifecycle.get(Unit)(unit)

    qc = QualityCheck(
        unit=unit,
        name="foo-check",
        message="Check foo!",
        category="Footile")

    with pytest.raises(KeyError):
        unit_lifecycle.sub_unmute_qc()

    with pytest.raises(KeyError):
        unit_lifecycle.sub_unmute_qc(submitter=member)

    with pytest.raises(KeyError):
        unit_lifecycle.sub_unmute_qc(quality_check=qc)

    sub_unmute_qc = unit_lifecycle.sub_unmute_qc(
        quality_check=qc, submitter=member)

    assert sub_unmute_qc.unit == unit
    assert sub_unmute_qc.store == store0
    assert sub_unmute_qc.translation_project == store0.translation_project
    assert sub_unmute_qc.revision == unit.revision
    assert sub_unmute_qc.type == SubmissionTypes.UNMUTE_CHECK
    assert sub_unmute_qc.field == SubmissionFields.NONE
    assert sub_unmute_qc.new_value == ""
    assert sub_unmute_qc.old_value == ""
    assert not sub_unmute_qc.pk
예제 #3
0
    def clone_checks(self, source_store, target_store):
        """Clone checks from source store to target store."""
        fields = ('unit__unitid_hash', 'category', 'name',
                  'false_positive', 'message')
        checks = QualityCheck.objects.filter(
            unit__store=source_store,
            unit__state__gt=OBSOLETE,
        ).values(*fields)
        unitid_hashes = [x['unit__unitid_hash'] for x in checks]
        units = target_store.units.filter(unitid_hash__in=unitid_hashes)
        unit_map = {
            x['unitid_hash']: x['id']
            for x in units.values('id', 'unitid_hash')}

        cloned_checks = []
        for check in checks:
            cloned_checks.append(QualityCheck(
                unit_id=unit_map[check['unit__unitid_hash']],
                category=check['category'],
                name=check['name'],
                false_positive=check['false_positive'],
                message=check['message']))
        create.send(QualityCheck, objects=cloned_checks)