| python/pyairflowtester/__init__.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/analyzer.py |
AnalyzerNotImplementedError.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/analyzer.py |
Analyzer.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/analyzer.py |
Analyzer.connect |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/analyzer.py |
Analyzer.analyze_dag_failures |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/analyzer.py |
Analyzer.analyze_task_failures |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/analyzer.py |
Analyzer.detect_hotspots |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/analyzer.py |
Analyzer.analyze_cascade_failures |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/analyzer.py |
Analyzer.get_dbt_test_failures |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/analyzer.py |
Analyzer.detect_flaky_tests |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/analyzer.py |
Analyzer.calculate_blast_radius |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/analyzer.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/cli.py |
main |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/cli.py |
scan |
|
0% |
30 |
30 |
0 |
|
0% |
10 |
0 |
|
0% |
| python/pyairflowtester/cli.py |
score |
|
0% |
20 |
20 |
0 |
|
0% |
2 |
0 |
|
0% |
| python/pyairflowtester/cli.py |
rules |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| python/pyairflowtester/cli.py |
connect |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/cli.py |
serve |
|
0% |
14 |
14 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/cli.py |
_display_violations |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| python/pyairflowtester/cli.py |
(no function) |
|
0% |
46 |
46 |
2 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/__init__.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
OwnershipAnalyzer.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
OwnershipAnalyzer.analyze_owner |
|
100% |
25 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
OwnershipAnalyzer._calculate_team_risk |
|
65% |
17 |
6 |
0 |
|
50% |
14 |
7 |
|
58% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
OwnershipAnalyzer.analyze_all_owners |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
OwnershipAnalyzer.find_critical_ownership_gaps |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SchemaEvolutionTracker.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SchemaEvolutionTracker.add_schema_change |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SchemaEvolutionTracker.detect_breaking_changes |
|
86% |
14 |
2 |
0 |
|
60% |
10 |
2 |
|
75% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SchemaEvolutionTracker.get_evolution_timeline |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SLAValidator.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SLAValidator.set_sla |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SLAValidator.record_performance |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SLAValidator.validate_node |
|
85% |
13 |
2 |
0 |
|
67% |
6 |
2 |
|
79% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SLAValidator._is_compliant |
|
67% |
6 |
2 |
0 |
|
100% |
0 |
0 |
|
67% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SLAValidator.validate_all |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SLAValidator.get_sla_violations |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
SLAValidator.get_missing_slas |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
TestCoverageAnalyzer.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
TestCoverageAnalyzer.assign_tests |
|
100% |
4 |
0 |
0 |
|
75% |
4 |
1 |
|
88% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
TestCoverageAnalyzer.analyze_coverage |
|
100% |
20 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
TestCoverageAnalyzer.analyze_all |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
TestCoverageAnalyzer.get_poorly_tested_nodes |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
TestCoverageAnalyzer.get_critical_test_gaps |
|
78% |
9 |
2 |
0 |
|
50% |
8 |
2 |
|
65% |
| python/pyairflowtester/dependency_intelligence/analytics.py |
(no function) |
|
100% |
68 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
ImpactAnalysisEngine.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
ImpactAnalysisEngine.analyze |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
ImpactAnalysisEngine._calculate_impact_score |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
ImpactAnalysisEngine._group_by_severity |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
ImpactAnalysisEngine._group_by_type |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
ImpactAnalysisEngine._calculate_max_depth |
|
88% |
8 |
1 |
0 |
|
67% |
6 |
2 |
|
79% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
BlastRadiusEngine.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
BlastRadiusEngine.analyze |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
BlastRadiusEngine._calculate_severity_distribution |
|
100% |
6 |
0 |
0 |
|
75% |
4 |
1 |
|
90% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
BlastRadiusEngine._assess_risk_level |
|
57% |
7 |
3 |
0 |
|
50% |
6 |
3 |
|
54% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
BlastRadiusEngine._is_deployable |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
BlastRadiusEngine._calculate_blast_depth |
|
100% |
9 |
0 |
0 |
|
88% |
8 |
1 |
|
94% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
RiskScoringEngine.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
RiskScoringEngine.score_node |
|
88% |
34 |
4 |
0 |
|
67% |
12 |
4 |
|
83% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
RiskScoringEngine._score_to_severity |
|
57% |
7 |
3 |
0 |
|
50% |
6 |
3 |
|
54% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
RiskScoringEngine.score_all_nodes |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
DriftDetectionEngine.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
DriftDetectionEngine.detect_drift |
|
97% |
38 |
1 |
0 |
|
94% |
18 |
1 |
|
96% |
| python/pyairflowtester/dependency_intelligence/analyzers.py |
(no function) |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
CacheStats.hit_rate |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
InMemoryCache.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
InMemoryCache.get |
|
100% |
13 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
InMemoryCache.set |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
InMemoryCache.delete |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cache.py |
InMemoryCache.delete_prefix |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
InMemoryCache.clear |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cache.py |
SqliteCache.__init__ |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
SqliteCache.get |
|
100% |
13 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
SqliteCache.set |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
SqliteCache.delete |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cache.py |
SqliteCache.delete_prefix |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
SqliteCache.clear |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cache.py |
SqliteCache.close |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
TieredCache.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
TieredCache.get |
|
100% |
9 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
TieredCache.set |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
TieredCache.invalidate |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cache.py |
TieredCache.invalidate_prefix |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
TieredCache.register_invalidation_rule |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
TieredCache.emit |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cache.py |
(no function) |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/cli.py |
dependency_cli |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cli.py |
build |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cli.py |
impact |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cli.py |
lineage |
|
0% |
24 |
24 |
0 |
|
0% |
12 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cli.py |
blast_radius |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cli.py |
detect_cycles |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cli.py |
detect_orphans |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cli.py |
risk_score |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cli.py |
register_dependency_cli |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/cli.py |
(no function) |
|
0% |
52 |
52 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine._graph_content_hash |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.invalidate_cache |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.get_upstream_nodes |
|
100% |
20 |
0 |
0 |
|
93% |
14 |
1 |
|
97% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.get_downstream_nodes |
|
100% |
20 |
0 |
0 |
|
93% |
14 |
1 |
|
97% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.get_reach |
|
92% |
12 |
1 |
0 |
|
75% |
8 |
2 |
|
85% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.get_path |
|
94% |
16 |
1 |
0 |
|
83% |
12 |
2 |
|
89% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.detect_cycles |
|
100% |
21 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.detect_cycles.dfs |
|
100% |
13 |
0 |
0 |
|
83% |
6 |
1 |
|
95% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.has_cycle |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.detect_orphans |
|
100% |
10 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.detect_disconnected_components |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.detect_disconnected_components.dfs |
|
86% |
7 |
1 |
0 |
|
83% |
6 |
1 |
|
85% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.get_critical_path |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.get_critical_path.dfs |
|
100% |
9 |
0 |
0 |
|
83% |
6 |
1 |
|
93% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.get_strongly_connected_components |
|
100% |
19 |
0 |
0 |
|
80% |
10 |
2 |
|
93% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.get_strongly_connected_components.strongconnect |
|
100% |
21 |
0 |
0 |
|
90% |
10 |
1 |
|
97% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.get_node_centrality |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.filter_by_type |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.filter_by_owner |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/graph.py |
DependencyGraphEngine.get_stats |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/graph.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
FailurePredictionEngine.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
FailurePredictionEngine.record_failure |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
FailurePredictionEngine.predict_node_failure |
|
86% |
37 |
5 |
0 |
|
75% |
16 |
4 |
|
83% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
FailurePredictionEngine.predict_all_nodes |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
FailurePredictionEngine.get_high_risk_nodes |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
AnomalyDetector.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
AnomalyDetector.detect_all_anomalies |
|
73% |
22 |
6 |
0 |
|
50% |
18 |
3 |
|
62% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
RecommendationEngine.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
RecommendationEngine.generate_recommendations |
|
83% |
23 |
4 |
0 |
|
57% |
14 |
4 |
|
73% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
RecommendationEngine.get_top_recommendations |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
HealthScoreCalculator.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
HealthScoreCalculator.calculate_health_score |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
HealthScoreCalculator._calculate_coverage_score |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
HealthScoreCalculator._calculate_connectivity_score |
|
38% |
8 |
5 |
0 |
|
17% |
6 |
1 |
|
29% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
HealthScoreCalculator._calculate_ownership_score |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
HealthScoreCalculator._calculate_test_score |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
HealthScoreCalculator._calculate_sla_score |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
HealthScoreCalculator._count_issues |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
HealthScoreCalculator.get_health_summary |
|
54% |
13 |
6 |
0 |
|
50% |
6 |
3 |
|
53% |
| python/pyairflowtester/dependency_intelligence/intelligence.py |
(no function) |
|
100% |
63 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/models.py |
Node.__hash__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/models.py |
Node.__eq__ |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/models.py |
Edge.__hash__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/models.py |
Edge.__eq__ |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/models.py |
DependencyGraph.add_node |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/models.py |
DependencyGraph.add_edge |
|
100% |
8 |
0 |
0 |
|
50% |
4 |
2 |
|
83% |
| python/pyairflowtester/dependency_intelligence/models.py |
DependencyGraph.get_node |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/models.py |
DependencyGraph.get_edges_from |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/models.py |
DependencyGraph.get_edges_to |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/models.py |
DependencyGraph.get_node_count_by_type |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/models.py |
DependencyGraph.get_critical_nodes |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/models.py |
DependencyGraph.stats |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/models.py |
(no function) |
|
100% |
108 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
MetricsCollector.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
MetricsCollector.record_metric |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
MetricsCollector.get_metrics_for_node |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
MetricsCollector.calculate_statistics |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
MetricsCollector.cleanup_old_metrics |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/observability.py |
AlertManager.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
AlertManager.set_threshold |
|
100% |
3 |
0 |
0 |
|
50% |
2 |
1 |
|
80% |
| python/pyairflowtester/dependency_intelligence/observability.py |
AlertManager.check_threshold |
|
81% |
16 |
3 |
0 |
|
75% |
12 |
3 |
|
79% |
| python/pyairflowtester/dependency_intelligence/observability.py |
AlertManager.get_active_alerts |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
AlertManager.resolve_alert |
|
100% |
4 |
0 |
0 |
|
50% |
4 |
2 |
|
75% |
| python/pyairflowtester/dependency_intelligence/observability.py |
AlertManager.get_alerts_for_node |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
EventLogger.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
EventLogger.log_execution |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
EventLogger.get_events_for_node |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
EventLogger.get_failure_rate |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
EventLogger.get_average_duration |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| python/pyairflowtester/dependency_intelligence/observability.py |
EventLogger.cleanup_old_events |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/observability.py |
EventLogger.export_events |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/observability.py |
DashboardBuilder.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
DashboardBuilder.build_node_dashboard |
|
90% |
10 |
1 |
0 |
|
50% |
2 |
1 |
|
83% |
| python/pyairflowtester/dependency_intelligence/observability.py |
DashboardBuilder.build_health_dashboard |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
DashboardBuilder._get_top_failing_nodes |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
DashboardBuilder._get_slowest_nodes |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/observability.py |
(no function) |
|
100% |
69 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
AirflowDAGParser.parse_dag_file |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
AirflowDAGParser.parse_dag_code |
|
75% |
12 |
3 |
0 |
|
100% |
0 |
0 |
|
75% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
AirflowDAGParser.parse_dag_code.DAGVisitor.visit_Call |
|
85% |
26 |
4 |
0 |
|
77% |
30 |
7 |
|
80% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
AirflowDAGParser.build_graph |
|
52% |
21 |
10 |
0 |
|
50% |
12 |
4 |
|
52% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
dbtManifestParser.parse_manifest |
|
86% |
37 |
5 |
0 |
|
71% |
24 |
3 |
|
80% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
dbtManifestParser.parse_model_node |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
AirflowDatasetParser.parse_dataset_connections |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
AirflowDatasetParser.parse_dataset_connections.DatasetVisitor.visit_Call |
|
67% |
9 |
3 |
0 |
|
67% |
12 |
2 |
|
67% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
AirflowDatasetParser.build_dataset_graph |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
UnifiedGraphBuilder.build_unified_graph |
|
79% |
14 |
3 |
0 |
|
83% |
6 |
1 |
|
80% |
| python/pyairflowtester/dependency_intelligence/parsers.py |
(no function) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/runtime_import.py |
parse_dag_via_runtime_import |
|
77% |
22 |
5 |
0 |
|
75% |
4 |
1 |
|
77% |
| python/pyairflowtester/dependency_intelligence/runtime_import.py |
parse_dag_file_with_fallback |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/dependency_intelligence/runtime_import.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/models.py |
RuleViolation.to_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/models.py |
RiskScorecard.to_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/models.py |
(no function) |
|
100% |
75 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/report.py |
ReportGenerator.generate |
|
0% |
12 |
12 |
0 |
|
0% |
8 |
0 |
|
0% |
| python/pyairflowtester/report.py |
ReportGenerator.generate_json |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/report.py |
ReportGenerator.generate_html |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| python/pyairflowtester/report.py |
ReportGenerator.generate_markdown |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| python/pyairflowtester/report.py |
ReportGenerator.generate_sarif |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/report.py |
ReportGenerator._severity_to_level |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/report.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/__init__.py |
get_all_rules |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| python/pyairflowtester/rules/__init__.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
BaseRule.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
BaseRule.evaluate |
|
100% |
0 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
ExecutorConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
ExecutorConfigurationRule.evaluate |
|
75% |
8 |
2 |
0 |
|
33% |
6 |
2 |
|
57% |
| python/pyairflowtester/rules/config.py |
AirflowCfgPoolConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
AirflowCfgPoolConfigurationRule.evaluate |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| python/pyairflowtester/rules/config.py |
ConcurrencyConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
ConcurrencyConfigurationRule.evaluate |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| python/pyairflowtester/rules/config.py |
QueueConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
QueueConfigurationRule.evaluate |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| python/pyairflowtester/rules/config.py |
MaxActiveRunsRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
MaxActiveRunsRule.evaluate |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| python/pyairflowtester/rules/config.py |
XComConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
XComConfigurationRule.evaluate |
|
100% |
5 |
0 |
0 |
|
50% |
2 |
1 |
|
86% |
| python/pyairflowtester/rules/config.py |
LogRetentionRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
LogRetentionRule.evaluate |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| python/pyairflowtester/rules/config.py |
EncryptionConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
EncryptionConfigurationRule.evaluate |
|
100% |
5 |
0 |
0 |
|
50% |
2 |
1 |
|
86% |
| python/pyairflowtester/rules/config.py |
TLSConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
TLSConfigurationRule.evaluate |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
RBACConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
RBACConfigurationRule.evaluate |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
SchedulerConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
SchedulerConfigurationRule.evaluate |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| python/pyairflowtester/rules/config.py |
WorkerConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
WorkerConfigurationRule.evaluate |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| python/pyairflowtester/rules/config.py |
LogStorageRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
LogStorageRule.evaluate |
|
100% |
5 |
0 |
0 |
|
50% |
2 |
1 |
|
86% |
| python/pyairflowtester/rules/config.py |
DatabaseBackupRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
DatabaseBackupRule.evaluate |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| python/pyairflowtester/rules/config.py |
DAGFolderConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/config.py |
DAGFolderConfigurationRule.evaluate |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| python/pyairflowtester/rules/config.py |
(no function) |
|
100% |
49 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
BaseRule.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
BaseRule.evaluate |
|
100% |
0 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
CircularDependencyRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
CircularDependencyRule._extract_edges |
|
83% |
12 |
2 |
0 |
|
88% |
8 |
1 |
|
85% |
| python/pyairflowtester/rules/dag.py |
CircularDependencyRule._has_cycle |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
CircularDependencyRule._has_cycle.dfs |
|
100% |
8 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
CircularDependencyRule.evaluate |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
MissingSLARule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
MissingSLARule.evaluate |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
ExpensiveImportsRule.__init__ |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
ExpensiveImportsRule.evaluate |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
ParseTimeRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
ParseTimeRule.evaluate |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/rules/dag.py |
(no function) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
BaseRule.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
BaseRule.evaluate |
|
100% |
0 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
TaskCountRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
TaskCountRule.evaluate |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
CatchupConfigRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
CatchupConfigRule.evaluate |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
SourceCodePoolConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
SourceCodePoolConfigurationRule.evaluate |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
HardcodedConnectionRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
HardcodedConnectionRule.evaluate |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
SecretsInCodeRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
SecretsInCodeRule.evaluate |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
RetryConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
RetryConfigurationRule.evaluate |
|
100% |
8 |
0 |
0 |
|
83% |
6 |
1 |
|
93% |
| python/pyairflowtester/rules/dag_advanced.py |
SensorTimeoutRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
SensorTimeoutRule.evaluate |
|
100% |
8 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
BranchComplexityRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
BranchComplexityRule.evaluate |
|
33% |
9 |
6 |
0 |
|
17% |
6 |
1 |
|
27% |
| python/pyairflowtester/rules/dag_advanced.py |
DocumentationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
DocumentationRule.evaluate |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
AlertingConfigurationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
AlertingConfigurationRule.evaluate |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
OperatorDeprecationRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
OperatorDeprecationRule.evaluate |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/rules/dag_advanced.py |
(no function) |
|
100% |
38 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dbt.py |
BaseRule.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dbt.py |
BaseRule.evaluate |
|
100% |
0 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dbt.py |
MissingTestsRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dbt.py |
MissingTestsRule.evaluate |
|
0% |
25 |
25 |
0 |
|
0% |
26 |
0 |
|
0% |
| python/pyairflowtester/rules/dbt.py |
RedundantTestsRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dbt.py |
RedundantTestsRule.evaluate |
|
0% |
17 |
17 |
0 |
|
0% |
14 |
0 |
|
0% |
| python/pyairflowtester/rules/dbt.py |
UntestedModelRule.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/rules/dbt.py |
UntestedModelRule.evaluate |
|
0% |
24 |
24 |
0 |
|
0% |
20 |
0 |
|
0% |
| python/pyairflowtester/rules/dbt.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scanner.py |
Scanner.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scanner.py |
Scanner.scan_dags |
|
79% |
19 |
4 |
0 |
|
83% |
6 |
1 |
|
80% |
| python/pyairflowtester/scanner.py |
Scanner.scan_config |
|
67% |
15 |
5 |
0 |
|
100% |
2 |
0 |
|
71% |
| python/pyairflowtester/scanner.py |
Scanner._parse_airflow_cfg |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scanner.py |
Scanner._coerce_config_value |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| python/pyairflowtester/scanner.py |
Scanner.scan_dbt |
|
0% |
21 |
21 |
0 |
|
0% |
4 |
0 |
|
0% |
| python/pyairflowtester/scanner.py |
Scanner._get_dag_rules |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scanner.py |
Scanner._get_dbt_rules |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scanner.py |
Scanner._get_config_rules |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scanner.py |
Scanner._get_scorer |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scanner.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scoring.py |
Scorer.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scoring.py |
Scorer.calculate_risk_score |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/scoring.py |
Scorer.aggregate_by_severity |
|
100% |
6 |
0 |
0 |
|
75% |
4 |
1 |
|
90% |
| python/pyairflowtester/scoring.py |
Scorer.categorize_risk |
|
100% |
7 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| python/pyairflowtester/scoring.py |
Scorer.calculate_health_score |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scoring.py |
Scorer.calculate_trend |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| python/pyairflowtester/scoring.py |
Scorer.filter_by_severity |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/scoring.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/web/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/web/app.py |
_render_value |
|
86% |
22 |
3 |
0 |
|
89% |
18 |
2 |
|
88% |
| python/pyairflowtester/web/app.py |
create_app |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/web/app.py |
create_app.list_nodes |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/web/app.py |
create_app.node_dashboard |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| python/pyairflowtester/web/app.py |
create_app.health_dashboard |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| python/pyairflowtester/web/app.py |
build_app_from_sources |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| python/pyairflowtester/web/app.py |
(no function) |
|
100% |
18 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |