Home / File/ test_header_number_mismatch.py — fastapi Source File

test_header_number_mismatch.py — fastapi Source File

Architecture documentation for test_header_number_mismatch.py, a python file in the fastapi codebase. 5 imports, 0 dependents.

File python FastAPI Routing 5 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  6033231a_985f_0341_bea5_3837a51762a5["test_header_number_mismatch.py"]
  b3e303a2_3f2d_638d_930c_3a5dcc2f5a42["pathlib"]
  6033231a_985f_0341_bea5_3837a51762a5 --> b3e303a2_3f2d_638d_930c_3a5dcc2f5a42
  5befe8bf_65d1_d058_6b78_4a597a8488e9["pytest"]
  6033231a_985f_0341_bea5_3837a51762a5 --> 5befe8bf_65d1_d058_6b78_4a597a8488e9
  50e86d72_8593_e02d_8fa4_63659153e8bf["typer.testing"]
  6033231a_985f_0341_bea5_3837a51762a5 --> 50e86d72_8593_e02d_8fa4_63659153e8bf
  99e3c039_dae8_2ebf_8149_637bcc119c08["translation_fixer.py"]
  6033231a_985f_0341_bea5_3837a51762a5 --> 99e3c039_dae8_2ebf_8149_637bcc119c08
  f3d7b32d_2379_8b46_1d7c_05f2c6f38a29["cli"]
  6033231a_985f_0341_bea5_3837a51762a5 --> f3d7b32d_2379_8b46_1d7c_05f2c6f38a29
  style 6033231a_985f_0341_bea5_3837a51762a5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from pathlib import Path

import pytest
from typer.testing import CliRunner

from scripts.translation_fixer import cli

data_path = Path(
    "scripts/tests/test_translation_fixer/test_header_permalinks/data"
).absolute()


@pytest.mark.parametrize(
    "copy_test_files",
    [(f"{data_path}/en_doc.md", f"{data_path}/translated_doc_number_gt.md")],
    indirect=True,
)
def test_gt(runner: CliRunner, root_dir: Path, copy_test_files):
    result = runner.invoke(
        cli,
        ["fix-pages", "docs/lang/docs/doc.md"],
    )
    assert result.exit_code == 1

    fixed_content = (root_dir / "docs" / "lang" / "docs" / "doc.md").read_text("utf-8")
    expected_content = Path(f"{data_path}/translated_doc_number_gt.md").read_text(
        "utf-8"
    )

    assert fixed_content == expected_content  # Translated doc remains unchanged
    assert "Error processing docs/lang/docs/doc.md" in result.output
    assert (
        "Number of headers with permalinks does not match the number "
        "in the original document (5 vs 4)"
    ) in result.output


@pytest.mark.parametrize(
    "copy_test_files",
    [(f"{data_path}/en_doc.md", f"{data_path}/translated_doc_number_lt.md")],
    indirect=True,
)
def test_lt(runner: CliRunner, root_dir: Path, copy_test_files):
    result = runner.invoke(
        cli,
        ["fix-pages", "docs/lang/docs/doc.md"],
    )
    assert result.exit_code == 1

    fixed_content = (root_dir / "docs" / "lang" / "docs" / "doc.md").read_text("utf-8")
    expected_content = Path(f"{data_path}/translated_doc_number_lt.md").read_text(
        "utf-8"
    )

    assert fixed_content == expected_content  # Translated doc remains unchanged
    assert "Error processing docs/lang/docs/doc.md" in result.output
    assert (
        "Number of headers with permalinks does not match the number "
        "in the original document (3 vs 4)"
    ) in result.output

Domain

Subdomains

Functions

Dependencies

Frequently Asked Questions

What does test_header_number_mismatch.py do?
test_header_number_mismatch.py is a source file in the fastapi codebase, written in python. It belongs to the FastAPI domain, Routing subdomain.
What functions are defined in test_header_number_mismatch.py?
test_header_number_mismatch.py defines 2 function(s): test_gt, test_lt.
What does test_header_number_mismatch.py depend on?
test_header_number_mismatch.py imports 5 module(s): cli, pathlib, pytest, translation_fixer.py, typer.testing.
Where is test_header_number_mismatch.py in the architecture?
test_header_number_mismatch.py is located at scripts/tests/test_translation_fixer/test_header_permalinks/test_header_number_mismatch.py (domain: FastAPI, subdomain: Routing, directory: scripts/tests/test_translation_fixer/test_header_permalinks).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free