File: test_extdoclink_directive.py

package info (click to toggle)
python-globus-sdk 4.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,172 kB
  • sloc: python: 35,227; sh: 44; makefile: 35
file content (80 lines) | stat: -rw-r--r-- 2,357 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import pytest


def test_extdoclink_renders_simple(sphinx_runner):
    etree = sphinx_runner.to_etree(
        """\
        .. extdoclink:: Create Demuddler
            :ref: demuddler/create
        """,
    )

    assert etree.tag == "document"

    paragraph = etree.find("paragraph")
    assert paragraph is not None
    text_parts = list(paragraph.itertext())
    assert "See " in text_parts[0]
    assert "API documentation for details" in text_parts[-1]

    link = paragraph.find("reference")
    assert link is not None
    assert link.text == "Create Demuddler"
    uri = link.get("refuri")
    assert uri is not None
    assert uri == "https://docs.globus.org/api/demuddler/create"


@pytest.mark.parametrize(
    "service, base_url",
    (
        ("groups", "https://groups.api.globus.org/redoc#operation"),
        ("gcs", "https://docs.globus.org/globus-connect-server/v5/api"),
        ("flows", "https://globusonline.github.io/globus-flows#tag"),
        ("compute", "https://compute.api.globus.org/redoc#tag"),
    ),
)
def test_extdoclink_renders_with_custom_service(sphinx_runner, service, base_url):
    etree = sphinx_runner.to_etree(
        f"""\
        .. extdoclink:: Battle Cry
            :ref: theTick/SPOOOON
            :service: {service}
        """,
    )

    assert etree.tag == "document"

    paragraph = etree.find("paragraph")
    assert paragraph is not None
    text_parts = list(paragraph.itertext())
    assert "See " in text_parts[0]
    assert "API documentation for details" in text_parts[-1]

    link = paragraph.find("reference")
    assert link is not None
    assert link.text == "Battle Cry"
    uri = link.get("refuri")
    assert uri is not None
    assert uri == f"{base_url}/theTick/SPOOOON"


def test_extdoclink_renders_with_custom_base_url(sphinx_runner):
    etree = sphinx_runner.to_etree(
        """\
        .. extdoclink:: Battle Cry
            :ref: SPOOOON
            :base_url: https://docs.globus.org/90sNostalgia/TheCity
        """,
    )

    assert etree.tag == "document"

    paragraph = etree.find("paragraph")
    assert paragraph is not None
    link = paragraph.find("reference")
    assert link is not None
    assert link.text == "Battle Cry"
    uri = link.get("refuri")
    assert uri is not None
    assert uri == "https://docs.globus.org/90sNostalgia/TheCity/SPOOOON"