feat: Add template tests (#9083)
* add template tests * remove files * adding validate flow build * add validate endpoint and flow execution * Update .github/workflows/template-tests.yml Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update src/backend/base/langflow/utils/template_validation.py Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [autofix.ci] apply automated fixes * change workflow running * add ci * fix test * fix test * delete when push * fix: Exclude template tests from unit test bundle Template tests are already run separately in CI via the test-templates job. This change prevents duplicate execution and eliminates timeout failures in the unit test suite by excluding slow template execution tests. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: Exclude template tests from unit test bundle Template tests are already run separately in CI via the test-templates job. This change prevents duplicate execution and eliminates timeout failures in the unit test suite by excluding slow template execution tests. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: Exclude template tests from unit test bundle Template tests are already run separately in CI via the test-templates job. This change prevents duplicate execution and eliminates timeout failures in the unit test suite by excluding slow template execution tests. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: Remove remaining merge conflict markers 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: Improve validate.py unit tests to eliminate CI failures Fixed 4 failing tests in test_validate.py: - test_code_with_syntax_error: Better error message handling for syntax errors - test_raises_error_for_missing_function: Handle StopIteration along with ValueError - test_creates_simple_class: Use optional constructor parameter to avoid TypeError - test_handles_validation_error: Use proper ValidationError constructor from pydantic_core - test_creates_context_with_langflow_imports: Remove invalid module patching - test_creates_mock_classes_on_import_failure: Use proper import mocking All 50 validate tests now pass consistently, improving CI stability. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * enhance: Add comprehensive edge case tests for template_validation.py Added 6 additional test cases to improve coverage of template_validation.py: - test_validate_stream_exception: Tests Graph.validate_stream() exception handling - test_code_validation_other_exceptions: Tests TypeError/KeyError/AttributeError handling - test_vertices_sorted_without_end_vertex_events: Tests variable usage tracking - test_vertex_count_tracking: Tests vertex_count increment paths - test_empty_lines_in_stream: Tests empty line handling in event streams - test_event_stream_validation_exception: Tests exception handling in _validate_event_stream These tests target the remaining 7 uncovered lines to maximize coverage percentage. Total tests: 40 (all passing) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
parent
b7513e5c6f
commit
d0e4e7d1cc
10 changed files with 1991 additions and 3 deletions
12
Makefile
12
Makefile
|
|
@ -130,7 +130,9 @@ unit_tests: ## run unit tests
|
|||
EXTRA_ARGS="$$EXTRA_ARGS --ff"; \
|
||||
fi; \
|
||||
uv run pytest src/backend/tests/unit \
|
||||
--ignore=src/backend/tests/integration $$EXTRA_ARGS \
|
||||
--ignore=src/backend/tests/integration \
|
||||
--ignore=src/backend/tests/unit/template \
|
||||
$$EXTRA_ARGS \
|
||||
--instafail -ra -m 'not api_key_required' \
|
||||
--durations-path src/backend/tests/.test_durations \
|
||||
--splitting-algorithm least_duration $(args)
|
||||
|
|
@ -161,6 +163,14 @@ tests: ## run unit, integration, coverage tests
|
|||
@echo 'Running Coverage Tests...'
|
||||
make coverage
|
||||
|
||||
######################
|
||||
# TEMPLATE TESTING
|
||||
######################
|
||||
|
||||
template_tests: ## run all starter project template tests
|
||||
@echo 'Running Starter Project Template Tests...'
|
||||
@uv run pytest src/backend/tests/unit/template/test_starter_projects.py -v
|
||||
|
||||
######################
|
||||
# CODE QUALITY
|
||||
######################
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue