pytest.mark.pootle_vfolders

Here are the examples of the python api pytest.mark.pootle_vfolders taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

15 Examples 7

Example 1

Project: pootle Source File: virtualfolder.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_vfolder_calc_priority(settings, store0):
    vf = store0.vfolders.first()
    vf.priority = 5
    vf.save()
    assert store0.calculate_priority() == 5.0
    settings.INSTALLED_APPS.remove("virtualfolder")
    assert store0.calculate_priority() == 1.0
    settings.INSTALLED_APPS.append("virtualfolder")

Example 2

Project: pootle Source File: path_matcher.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_vfolder_path_matcher():
    vfolder = VirtualFolder.objects.create(
        name="avfolder",
        filter_rules="FOO,BAR")
    path_matcher = VirtualFolderPathMatcher(vfolder)
    assert path_matcher.vf == vfolder
    assert path_matcher.tp_path == "/[^/]*/[^/]*/"
    assert isinstance(
        vfolder.path_matcher,
        VirtualFolderPathMatcher)
    # no projects/languages set by default
    assert (
        list(vfolder.path_matcher.languages)
        == list(vfolder.path_matcher.projects)
        == list(vfolder.path_matcher.existing_stores)
        == [])

Example 3

Project: pootle Source File: path_matcher.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_vfolder_path_matcher_get_rule_regex(vfolder0, tp0, vf_rules):
    rule = vf_rules
    assert (
        vfolder0.path_matcher.get_rule_regex(rule)
        == ("^%s%s"
            % (vfolder0.path_matcher.tp_path,
               PathFilter().path_regex(rule))))
    vfolder0.filter_rules = rule
    vfolder0.languages.add(tp0.language)
    vfolder0.projects.add(tp0.project)
    vfolder0.save()
    regex = vfolder0.path_matcher.get_rule_regex(rule)
    assert (
        list(vfolder0.stores.order_by("pk"))
        == list(tp0.stores.filter(pootle_path__regex=regex).order_by("pk")))

Example 4

Project: pootle Source File: path_matcher.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_vfolder_path_matcher_rules(vfolder0):
    vfolder0.filter_rules = "foo,bar"
    assert (
        list(vfolder0.path_matcher.rules)
        == ["foo", "bar"])

    # convert to json field? for now be ws tolerant
    vfolder0.filter_rules = "foo, bar"
    assert (
        list(vfolder0.path_matcher.rules)
        == ["foo", "bar"])

Example 5

Project: pootle Source File: tp.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_views_tp(tp_views, settings):
    test_type, tp, request, response, kwargs = tp_views
    if test_type == "browse":
        _test_browse_view(tp, request, response, kwargs)
    elif test_type == "translate":
        _test_translate_view(tp, request, response, kwargs, settings)

Example 6

Project: pootle Source File: vf.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_views_vf_translate(vfolder_views, settings):
    from tp import _test_translate_view

    test_type, tp, request, response, kwargs = vfolder_views
    _test_translate_view(tp, request, response, kwargs, settings)

Example 7

Project: pootle Source File: virtualfolder.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_vfolder_store_priorities(project0):

    # remove the default vfolders and update units to reset priorities
    VirtualFolder.objects.all().delete()
    assert all(
        priority == 1
        for priority
        in Store.objects.values_list("priority", flat=True))

    vfolder0 = VirtualFolderDBFactory(filter_rules="store0.po", name="FOO")
    vfolder0.priority = 3
    vfolder0.save()
    vfolder0_stores = vfolder0.stores.values_list("pk", flat=True)
    assert all(
        priority == 3
        for priority
        in Store.objects.filter(id__in=vfolder0_stores)
                        .values_list("priority", flat=True))
    assert all(
        priority == 1.0
        for priority
        in Store.objects.exclude(id__in=vfolder0_stores)
                        .values_list("priority", flat=True))

    vfolder0.filter_rules = "store1.po"
    vfolder0.save()
    vfolder0_stores = vfolder0.stores.values_list("pk", flat=True)
    assert all(
        priority == 3
        for priority
        in Store.objects.filter(id__in=vfolder0_stores)
                        .values_list("priority", flat=True))
    assert all(
        priority == 1.0
        for priority
        in Store.objects.exclude(id__in=vfolder0_stores)
                        .values_list("priority", flat=True))

    vfolder1 = VirtualFolderDBFactory(
        filter_rules="store1.po")
    vfolder1.languages.add(*Language.objects.all())
    vfolder1.projects.add(project0)
    vfolder1.priority = 4
    vfolder1.save()
    vfolder1_stores = vfolder1.stores.values_list("pk", flat=True)

    assert all(
        priority == 4.0
        for priority
        in Store.objects.filter(id__in=vfolder1_stores)
                        .values_list("priority", flat=True))

    assert all(
        priority == 3.0
        for priority
        in Store.objects.filter(id__in=vfolder0_stores)
                        .exclude(id__in=vfolder1_stores)
                        .values_list("priority", flat=True))

    assert all(
        priority == 1.0
        for priority
        in Store.objects.exclude(id__in=vfolder0_stores)
                        .exclude(id__in=vfolder1_stores)
                        .values_list("priority", flat=True))

Example 8

Project: pootle Source File: data_tool.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_data_cache_keys(language0, project0, subdir0, vfolder0):
    # language
    assert (
        'pootle_data.%s.%s.%s'
        % (language0.data_tool.cache_key_name,
           language0.code,
           revision.get(Language)(language0).get(key="stats"))
        == language0.data_tool.cache_key)
    # project
    assert (
        'pootle_data.%s.%s.%s'
        % (project0.data_tool.cache_key_name,
           project0.code,
           revision.get(Project)(project0).get(key="stats"))
        == project0.data_tool.cache_key)
    # directory
    assert (
        'pootle_data.%s.%s.%s'
        % (subdir0.data_tool.cache_key_name,
           subdir0.pootle_path,
           revision.get(Directory)(subdir0).get(key="stats"))
        == subdir0.data_tool.cache_key)
    # projectresource
    resource_path = "%s%s" % (project0.pootle_path, subdir0.path)
    projectresource = ProjectResource(Directory.objects.none(), resource_path)
    assert (
        'pootle_data.%s.%s.%s'
        % (projectresource.data_tool.cache_key_name,
           resource_path,
           revision.get(ProjectResource)(projectresource).get(key="stats"))
        == projectresource.data_tool.cache_key)
    # projectset
    projectset = ProjectSet(Project.objects.all())
    assert (
        'pootle_data.%s.%s.%s'
        % (projectset.data_tool.cache_key_name,
           "ALL",
           revision.get(ProjectSet)(projectset).get(key="stats"))
        == projectset.data_tool.cache_key)
    # vfolders
    vfdata = vfolders_data_tool.get(Directory)(subdir0)
    assert (
        'pootle_data.%s.%s.%s'
        % (vfdata.cache_key_name,
           subdir0.pootle_path,
           revision.get(subdir0.__class__)(subdir0).get(key="stats"))
        == vfdata.cache_key)

Example 9

Project: pootle Source File: path_matcher.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_vfolder_path_matcher_languages(language0, language1):
    vfolder = VirtualFolder.objects.create(
        name="avfolder",
        filter_rules="FOO,BAR")
    vfolder.languages.add(language0)
    vfolder.languages.add(language1)
    # no projects set so no stores
    assert list(vfolder.path_matcher.existing_stores) == []
    assert (
        sorted(vfolder.path_matcher.languages)
        == [language0.pk, language1.pk])
    vfolder.all_languages = True
    vfolder.save()
    assert vfolder.path_matcher.languages is None
    assert list(vfolder.path_matcher.projects) == []
    # no projects set so no stores
    assert list(vfolder.path_matcher.existing_stores) == []
    # didnt forget lang preferences
    vfolder.all_languages = False
    vfolder.save()
    assert (
        sorted(vfolder.path_matcher.languages.values_list("code", flat=True))
        == ["language0", "language1"])

Example 10

Project: pootle Source File: path_matcher.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_vfolder_path_matcher_projects(project0, project1):
    vfolder = VirtualFolder.objects.create(
        name="avfolder",
        filter_rules="FOO,BAR")
    vfolder.projects.add(project0)
    vfolder.projects.add(project1)
    # no languages set so no stores
    assert list(vfolder.path_matcher.existing_stores) == []
    assert (
        sorted(vfolder.path_matcher.projects.values_list("code", flat=True))
        == ["project0", "project1"])
    vfolder.all_projects = True
    vfolder.save()
    assert vfolder.path_matcher.projects is None
    assert list(vfolder.path_matcher.languages) == []
    # no languages set so no stores
    assert list(vfolder.path_matcher.existing_stores) == []
    # didnt forget project preferences
    vfolder.all_projects = False
    vfolder.save()
    assert (
        sorted(vfolder.path_matcher.projects.values_list("code", flat=True))
        == ["project0", "project1"])

Example 11

Project: pootle Source File: path_matcher.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_vfolder_path_matcher_all_proj_lang():
    vfolder = VirtualFolder.objects.create(
        name="avfolder",
        all_projects=True,
        all_languages=True,
        filter_rules="*")
    assert (
        list(vfolder.path_matcher.existing_stores.order_by("pk"))
        == list(Store.objects.order_by("pk")))
    vfolder.all_languages = False
    vfolder.save()
    assert (
        list(vfolder.path_matcher.existing_stores.order_by("pk"))
        == [])
    vfolder.all_languages = True
    vfolder.all_projects = False
    vfolder.save()
    assert (
        list(vfolder.path_matcher.existing_stores.order_by("pk"))
        == [])

Example 12

Project: pootle Source File: path_matcher.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_vfolder_path_matcher_some_proj_lang(tp0, language1):
    vfolder = VirtualFolder.objects.create(
        name="avfolder",
        filter_rules="*")
    vfolder.languages.add(tp0.language)
    vfolder.projects.add(tp0.project)
    # m2m handler?
    vfolder.save()
    assert (
        list(vfolder.path_matcher.existing_stores.order_by("pk"))
        == list(tp0.stores.order_by("pk")))
    vfolder.languages.add(language1)
    vfolder.save()
    assert (
        list(vfolder.path_matcher.existing_stores.order_by("pk"))
        == list(
            Store.objects.filter(
                translation_project__project=tp0.project,
                translation_project__language__in=[
                    tp0.language,
                    language1]).order_by("pk")))

Example 13

Project: pootle Source File: vf_data.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_vfolder_data_view(tp0, request_users):
    user = request_users["user"]
    dir0 = tp0.directory
    vf_data = vfolders_data_view.get(dir0.__class__)(dir0, user=user)
    assert isinstance(vf_data, VFoldersDataView)
    assert vf_data.context is dir0
    assert isinstance(vf_data.vfolder_data_tool, DirectoryVFDataTool)
    assert vf_data.vfolder_data_tool.context is dir0
    assert (
        vf_data.all_stats
        == vf_data.vfolder_data_tool.get_stats(user=user))
    assert vf_data.stats["vfolders"] == vf_data.all_stats
    # ordering?
    rows = [
        make_vfolder_dict(dir0, *vf)
        for vf
        in vf_data.all_stats.items()]
    for i, row in enumerate(vf_data.table_items):
        assert rows[i] == row
    expected_table_data = dict(
        vfolders=dict(
            id='vfolders',
            fields=vf_data.table_fields,
            headings=get_table_headings(vf_data.table_fields),
            items=vf_data.table_items))
    assert vf_data.table_data == expected_table_data

Example 14

Project: pootle Source File: vf.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_views_vf_get_units(get_vfolder_units_views):
    (user, vfolder, search_params,
     url_params, response) = get_vfolder_units_views
    result = json.loads(response.content)

    assert "unitGroups" in result
    assert isinstance(result["unitGroups"], list)

    for k in "start", "end", "total":
        assert k in result
        assert isinstance(result[k], int)

    search_params["vfolder"] = vfolder
    if result["unitGroups"]:
        total, start, end, expected_units = calculate_search_results(
            search_params, user)

        assert result["total"] == total
        assert result["start"] == start
        assert result["end"] == end

        for i, group in enumerate(expected_units):
            result_group = result["unitGroups"][i]
            for store, data in group.items():
                result_data = result_group[store]
                assert (
                    [u["id"] for u in result_data["units"]]
                    == [u["id"] for u in data["units"]])

Example 15

Project: pootle Source File: vf.py
@pytest.mark.pootle_vfolders
@pytest.mark.django_db
def test_views_vf_get_units_bad(request, client, vfolder0):

    response = client.get(
        reverse(
            "vfolder-pootle-xhr-units",
            kwargs=dict(vfolder_name="NO_SUCH_VFOLDER")),
        HTTP_X_REQUESTED_WITH='XMLHttpRequest')
    assert response.status_code == 404

    # path not set
    response = client.get(
        reverse(
            "vfolder-pootle-xhr-units",
            kwargs=dict(vfolder_name=vfolder0.name)),
        HTTP_X_REQUESTED_WITH='XMLHttpRequest')
    assert response.status_code == 400

    # path too long
    response = client.get(
        "%s?path=%s"
        % (reverse("vfolder-pootle-xhr-units",
                   kwargs=dict(vfolder_name=vfolder0.name)),
           ("x" * 3000)),
        HTTP_X_REQUESTED_WITH='XMLHttpRequest')
    assert response.status_code == 400

    # unrecognized path
    response = client.get(
        "%s?path=%s"
        % (reverse("vfolder-pootle-xhr-units",
                   kwargs=dict(vfolder_name=vfolder0.name)),
           ("x" * 100)),
        HTTP_X_REQUESTED_WITH='XMLHttpRequest')
    assert response.status_code == 404