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"
|