0551d28f61
- Introduced new test files for device and media service operations using real camera responses. - Implemented tests for GetDeviceInformation, GetMediaServiceCapabilities, and user management functions. - Enhanced documentation with a detailed testing flow and coverage reports. - Added JSON test reports for tracking operation success and response times. - Updated the README and other documentation to reflect new testing capabilities and structure.
4.6 KiB
4.6 KiB
File Organization
This document describes the organization of files in the ONVIF Go library project.
Directory Structure
onvif-go/
├── docs/ # Documentation
│ ├── api/ # API documentation
│ │ ├── DEVICE_API_STATUS.md
│ │ ├── DEVICE_API_QUICKREF.md
│ │ ├── CERTIFICATE_WIFI_SUMMARY.md
│ │ ├── STORAGE_API_SUMMARY.md
│ │ └── ADDITIONAL_APIS_SUMMARY.md
│ ├── implementation/ # Implementation details
│ │ ├── IMPLEMENTATION_COMPLETE.md
│ │ ├── IMPLEMENTATION_STATUS.md
│ │ ├── MEDIA_WSDL_OPERATIONS_ANALYSIS.md
│ │ └── MEDIA_OPERATIONS_ANALYSIS.md
│ ├── testing/ # Testing documentation
│ │ ├── COMPREHENSIVE_TEST_SUMMARY.md
│ │ ├── CAMERA_TEST_REPORT.md
│ │ ├── CAMERA_TESTING_FLOW.md
│ │ ├── DEVICE_API_TEST_COVERAGE.md
│ │ └── COVERAGE_SETUP.md
│ ├── README.md # Documentation index
│ ├── ARCHITECTURE.md
│ ├── PROJECT_SUMMARY.md
│ ├── PROJECT_STRUCTURE.md
│ └── ... (other docs)
│
├── test-reports/ # Test reports (JSON)
│ ├── README.md
│ └── camera_test_report_*.json
│
├── examples/ # Example programs
│ ├── test-real-camera-all/ # Comprehensive camera testing
│ ├── device-info/
│ ├── discovery/
│ └── ... (other examples)
│
├── testdata/ # Test data
│ └── captures/ # Captured SOAP responses
│
├── cmd/ # Command-line tools
│ ├── onvif-cli/
│ ├── onvif-diagnostics/
│ └── ...
│
├── server/ # ONVIF server implementation
│
├── discovery/ # Discovery functionality
│
├── internal/ # Internal packages
│ └── soap/ # SOAP client
│
├── testing/ # Testing utilities
│
├── *.go # Core library files
├── *_test.go # Test files
├── README.md # Main README
├── CHANGELOG.md # Version history
├── CONTRIBUTING.md # Contribution guidelines
├── BUILDING.md # Build instructions
└── LICENSE # License file
File Categories
Root Directory
- Core library files (
*.go) - Main implementation files - Test files (
*_test.go) - Unit and integration tests - Essential documentation - README.md, CHANGELOG.md, CONTRIBUTING.md, BUILDING.md, LICENSE
Documentation (docs/)
- API Documentation (
docs/api/) - API reference and status documents - Implementation Details (
docs/implementation/) - Implementation analysis and status - Testing Documentation (
docs/testing/) - Test reports and coverage information - General Documentation (
docs/) - Architecture, guides, and other documentation
Test Reports (test-reports/)
- JSON files containing test results from real camera testing
- Automatically generated by
examples/test-real-camera-all/main.go - Named with pattern:
camera_test_report_{Manufacturer}_{Model}_{Timestamp}.json
Examples (examples/)
- Example programs demonstrating library usage
- Organized by functionality (discovery, device-info, PTZ, etc.)
Test Data (testdata/)
- Captured SOAP responses from real cameras
- Used for unit testing without camera connectivity
File Naming Conventions
Documentation Files
- UPPERCASE_WITH_UNDERSCORES.md - Main documentation files
- README.md - Directory indexes
Test Files
- {module}_test.go - Standard Go test files
- {module}_real_camera_test.go - Tests using real camera data
Report Files
- camera_test_report_{manufacturer}{model}{timestamp}.json - Test reports
Maintenance
Adding New Documentation
- API Documentation →
docs/api/ - Implementation Details →
docs/implementation/ - Testing Documentation →
docs/testing/ - General Documentation →
docs/
Generating Test Reports
Run examples/test-real-camera-all/main.go - reports are automatically saved to test-reports/
Updating Documentation Index
Update docs/README.md when adding new documentation files.
Last Updated: December 2, 2025