docs: apply fleet-template (16-artifact scaffold)
Adds missing standard artifacts: - README.md (if missing) - AGENTS.md (AI agent contract) - PLAN.md (current sprint) - STATUS.md (where we are) - DEVELOPMENT.md (dev workflow) - DEPLOYMENT.md (deploy procedure) - TESTING.md (test strategy) - DECISIONS.md (ADR index + templates) - .github/CODEOWNERS - .github/workflows/ci.yml Preserves all existing artifacts. Refs: RugMunchMedia/fleet-template
This commit is contained in:
commit
47ba268131
310 changed files with 38429 additions and 0 deletions
47
tests/test_seo_monitor.py
Normal file
47
tests/test_seo_monitor.py
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
"""Tests for SEO content monitor."""
|
||||
|
||||
from seo_monitor import (
|
||||
_count_words,
|
||||
_get_headings,
|
||||
_get_meta_from_html,
|
||||
_get_title_from_html,
|
||||
_has_schema,
|
||||
)
|
||||
|
||||
|
||||
def test_get_title_from_html() -> None:
|
||||
html = "<html><head><title>My SEO Title</title></head><body></body></html>"
|
||||
assert _get_title_from_html(html) == "My SEO Title"
|
||||
|
||||
|
||||
def test_get_meta_from_html() -> None:
|
||||
html = '<meta name="description" content="Test description here" />'
|
||||
desc = _get_meta_from_html(html, "description")
|
||||
assert desc == "Test description here"
|
||||
|
||||
|
||||
def test_count_words() -> None:
|
||||
html = "<p>Hello world this is a test</p>"
|
||||
assert _count_words(html) == 6
|
||||
|
||||
|
||||
def test_get_headings() -> None:
|
||||
from lxml import html as lxml_html
|
||||
|
||||
tree = lxml_html.fromstring(
|
||||
"<html><body><h1>Main Title</h1><h2>Sub One</h2><h2>Sub Two</h2></body></html>"
|
||||
)
|
||||
h1s = _get_headings(tree, "h1")
|
||||
assert h1s == ["Main Title"]
|
||||
h2s = _get_headings(tree, "h2")
|
||||
assert len(h2s) == 2
|
||||
|
||||
|
||||
def test_has_schema() -> None:
|
||||
html = '<script type="application/ld+json">{"@context": "https://schema.org"}</script>'
|
||||
assert _has_schema(html) is True
|
||||
|
||||
|
||||
def test_has_no_schema() -> None:
|
||||
html = "<html><body><p>No schema here</p></body></html>"
|
||||
assert _has_schema(html) is False
|
||||
Loading…
Add table
Add a link
Reference in a new issue