- Created architecture documentation outlining high-level design, module organization, data flow, security model, performance considerations, testing strategy, and deployment architecture. - Added pyproject.toml for project metadata and dependencies management. - Introduced requirements files for development and production dependencies. - Set up testing configuration with pytest and tox. - Established basic directory structure for source code and tests, including __init__.py files. - Implemented a sample web application (index.html) for drag-and-drop functionality. - Configured VS Code workspace settings for Python development.
65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
"""Minimal test to verify project structure."""
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
|
|
def test_project_structure():
|
|
"""Verify essential project directories exist."""
|
|
root = Path(__file__).parent.parent.parent
|
|
|
|
essential_dirs = [
|
|
"src/webdrop_bridge",
|
|
"tests/unit",
|
|
"tests/integration",
|
|
"build/scripts",
|
|
"docs",
|
|
"webapp",
|
|
]
|
|
|
|
for dir_path in essential_dirs:
|
|
full_path = root / dir_path
|
|
assert full_path.exists(), f"Missing directory: {dir_path}"
|
|
assert full_path.is_dir(), f"Not a directory: {dir_path}"
|
|
|
|
|
|
def test_essential_files():
|
|
"""Verify essential configuration files exist."""
|
|
root = Path(__file__).parent.parent.parent
|
|
|
|
essential_files = [
|
|
"pyproject.toml",
|
|
"setup.py",
|
|
"pytest.ini",
|
|
"tox.ini",
|
|
".env.example",
|
|
"README.md",
|
|
"DEVELOPMENT_PLAN.md",
|
|
"LICENSE",
|
|
]
|
|
|
|
for file_path in essential_files:
|
|
full_path = root / file_path
|
|
assert full_path.exists(), f"Missing file: {file_path}"
|
|
assert full_path.is_file(), f"Not a file: {file_path}"
|
|
|
|
|
|
def test_python_package_structure():
|
|
"""Verify Python package __init__ files exist."""
|
|
root = Path(__file__).parent.parent.parent
|
|
|
|
packages = [
|
|
"src/webdrop_bridge",
|
|
"src/webdrop_bridge/core",
|
|
"src/webdrop_bridge/ui",
|
|
"src/webdrop_bridge/utils",
|
|
"tests",
|
|
]
|
|
|
|
for pkg_path in packages:
|
|
init_file = root / pkg_path / "__init__.py"
|
|
assert init_file.exists(), f"Missing __init__.py in {pkg_path}"
|
|
|
|
|
|
if __name__ == "__main__":
|
|
pytest.main([__file__, "-v"])
|