def param_update_store_test(en_tutorial_po, member, member2, update_store_test_names): test = _setup_store_test(en_tutorial_po, member, member2, UPDATE_STORE_TESTS[update_store_test_names]) update_store(test[0], units=test[1], store_revision=test[2], user=member2, resolve_conflict=test[3]) return test
def _setup_store_test(store, member, member2, test): from pootle_store.models import FILE_WINS, POOTLE_WINS setup = test.get("setup", None) if setup is None: setup = [(DEFAULT_STORE_UNITS_1), (DEFAULT_STORE_UNITS_1 + DEFAULT_STORE_UNITS_2)] for units in setup: store_revision = store.get_max_unit_revision() print "setup store: %s %s" % (store_revision, units) update_store(store, store_revision=store_revision, units=units, user=member) for unit in store.units: comment = ("Set up unit(%s) with store_revision: %s" % (unit.source_f, store_revision)) _create_comment_on_unit(unit, member, comment) store_revision, units_update = test["update_store"] revision_min = store.get_max_unit_revision() units_before = [ unit for unit in store.unit_set.all().order_by("index")] fs_wins = test.get("fs_wins", True) if fs_wins: resolve_conflict = FILE_WINS else: resolve_conflict = POOTLE_WINS if store_revision == "MAX": store_revision = store.get_max_unit_revision() elif store_revision == "MIN": store_revision = revision_min elif store_revision == "MID": revisions = [unit.revision for unit in units_before] store_revision = sum(revisions) / len(revisions) return (store, units_update, store_revision, resolve_conflict, units_before, member, member2)