mirror of
https://github.com/microsoft/fabric-cicd.git
synced 2026-11-04 12:02:01 +00:00
## Description The PR includes a Mock Fabric REST API Server, that uses a snapshot of real HTTP calls made against Fabric Control Plane. This allows us to test the CICD project against a blackbox: <img width="510" height="538" alt="test-harness" src="https://github.com/user-attachments/assets/02a66914-4a35-47ea-945e-06aedc77016a" /> --- It also centralizes various runtime behaviors using constants and env-vars (not exhaustive yet to reduce diffs): * Env-vars * Retry params This allows overriding behavior via tests to allow tests to run rapidly. --- Finally, the only functional change made in this PR is to switch over invoking the Fabric endpoint to be duration based, and not attempt based - this helps us handle backpressure in future when we will be using parallel calls. Durations are generally more "human oriented" - because we can control how long we want the end user to wait, as opposed to attempts, which is more inherent to the code (e.g. if we wait a second with no backoff, 5 attempts run out fast - versus, 300 seconds is absolute). ## Linked Issue (REQUIRED) Resolves #738
55 lines
1.5 KiB
TOML
55 lines
1.5 KiB
TOML
line-length = 120
|
|
exclude = ["sample/*", "docs/*"]
|
|
|
|
[lint]
|
|
# https://docs.astral.sh/ruff/rules/
|
|
select = [
|
|
"A", # flake8-builtins
|
|
"ANN", # flake8-annotations-complexity
|
|
"ARG", # flake8-unused-arguments
|
|
"B", # flake8-bugbear
|
|
"D", # pydocstyle
|
|
"EM", # flake8-errmsg
|
|
"F", # Pyflakes
|
|
"I", # isort
|
|
"INP", # flake8-no-pep420
|
|
"N", # pep8-naming
|
|
"PT", # flake8-pytest-style
|
|
"PTH", # flake8-use-pathlib
|
|
"RET", # flake8-return
|
|
"RUF", # Ruff-specific rules
|
|
"SIM", # flake8-simplify
|
|
"UP", # pyupgrade
|
|
]
|
|
ignore = [
|
|
"D203", # No blank lines between a section header and its content
|
|
"D205", # 1 blank line required between summary line and description
|
|
"D212", # Multi-line docstring summary should start at the first line
|
|
"D400", # First line should end with a period
|
|
"D401", # First line should be in imperative mood
|
|
"D415", # First line should end with a period, question mark, or exclamation point
|
|
"ANN003", # Missing type annotation for kwargs
|
|
"RUF100", # Unused noqa directive (version-dependent on ruff and not deterministic)
|
|
]
|
|
|
|
pydocstyle.convention = "google"
|
|
|
|
[lint.per-file-ignores]
|
|
"{tests}/*" = [
|
|
"D", # pydocstyle
|
|
"INP", # flake8-no-pep420
|
|
"ANN", # flake8-annotations-complexity
|
|
]
|
|
|
|
"{devtools}/*" = [
|
|
"D", # pydocstyle
|
|
"INP", # flake8-no-pep420
|
|
"F401", # unused import
|
|
"ANN", # flake8-annotations-complexity
|
|
]
|
|
|
|
[format]
|
|
preview = true
|
|
docstring-code-format = false
|
|
docstring-code-line-length = "dynamic"
|