From 64166df4c55fdbc9f525aae370eb938a7098f79f Mon Sep 17 00:00:00 2001 From: Alexander Minges Date: Fri, 25 Jul 2025 10:43:20 +0200 Subject: [PATCH] docs: update CHANGELOG with refactoring details - Add comprehensive test suite additions for derivative license logic - Detail all centralized constants (LICENSE_MAP, API_URLS, etc.) - Document test coverage improvement from 61.71% to 63.87% - Include formatting fixes and linting improvements - Reorganize entries by Added/Changed/Fixed categories for clarity --- CHANGELOG.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da40350..5bf2e1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,18 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Comprehensive test suite for derivative license logic in AbstractProcessor +- Unit tests for DERIVATIVE_ALLOWED_LICENSES constant validation +- Helper function create_license_from_map() for consistent test data creation +- Tests for all Creative Commons licenses and their derivative permissions + ### Changed - Centralize ICONS definitions in core/constants.py module to eliminate code duplication -- Centralize additional constants (LICENSE_MAP, API_URLS, etc.) in core/constants.py module -- Remove hardcoded Creative Commons license mappings from processors.py -- Remove hardcoded API URLs for OpenAlex and CrossRef from processing modules -- Replace custom HTTP status code constants with Python's standard `http.HTTPStatus` enum -- Remove hardcoded template strings throughout codebase +- Centralize LICENSE_MAP with Creative Commons and public domain license mappings +- Centralize API_URLS for OpenAlex and CrossRef endpoints +- Centralize DERIVATIVE_ALLOWED_LICENSES set for abstract extraction logic +- Centralize TEMPLATES for consistent string formatting +- Replace custom HTTP_STATUS dict with Python's standard `http.HTTPStatus` enum +- Update AbstractProcessor and MetadataProcessor to use centralized constants +- Improve test coverage from 61.71% to 63.87% ### Fixed - Fix list formatting in API documentation docstrings for better sphinx rendering +- Fix formatting inconsistencies in constants.py (remove double empty lines) +- Fix ruff linting issues with unused mock variables in tests ## [v3.0.1] - 2025-07-25