Skip to content

Tests: Add test coverage for untested tasks in greedybear/tasks.py #964

@opbot-xd

Description

@opbot-xd

Description

While running the test suite with coverage analysis, I noticed that greedybear/tasks.py currently has a test coverage of roughly ~41%. The current tests in tests/test_tasks.py only cover the extract_all task and its trigger mechanics, leaving the rest of the file untested.

  • We should add test cases to tests/test_tasks.py to mock the underlying job execute() methods and assert that the task routing calls the right functions.
  • greedybear/tasks.py should reach 100% coverage.
Name Stmts Miss Cover Missing Lines
greedybear/admin.py 97 13 86.60% 150, 153, 157, 170-174, 187-191
greedybear/apps.py 3 0 100.00%
greedybear/consts.py 15 0 100.00%
greedybear/cronjobs/abuseipdb_feed.py 58 0 100.00%
greedybear/cronjobs/base.py 14 0 100.00%
greedybear/cronjobs/cleanup.py 29 0 100.00%
greedybear/cronjobs/commands/cluster.py 25 15 40.00% 46-60
greedybear/cronjobs/commands/lsh.py 48 38 20.83% 22, 36-38, 49-51, 72-73, 86-92, 106-116, 130-144
greedybear/cronjobs/extract.py 10 5 50.00% 7-8, 11-13
greedybear/cronjobs/extraction/ioc_processor.py 55 2 96.36% 111-112
greedybear/cronjobs/extraction/pipeline.py 54 0 100.00%
greedybear/cronjobs/extraction/strategies/__init__.py 3 0 100.00%
greedybear/cronjobs/extraction/strategies/base.py 12 0 100.00%
greedybear/cronjobs/extraction/strategies/cowrie.py 148 24 83.78% 38-39, 140-141, 156, 172, 196, 211-233
greedybear/cronjobs/extraction/strategies/factory.py 11 0 100.00%
greedybear/cronjobs/extraction/strategies/generic.py 12 0 100.00%
greedybear/cronjobs/extraction/utils.py 110 4 96.36% 83-85, 266-267
greedybear/cronjobs/firehol.py 38 2 94.74% 71-72
greedybear/cronjobs/mass_scanners.py 44 1 97.73% 95
greedybear/cronjobs/monitor_honeypots.py 16 0 100.00%
greedybear/cronjobs/monitor_logs.py 30 0 100.00%
greedybear/cronjobs/repositories/__init__.py 8 0 100.00%
greedybear/cronjobs/repositories/cowrie_session.py 36 0 100.00%
greedybear/cronjobs/repositories/elastic.py 52 0 100.00%
greedybear/cronjobs/repositories/firehol.py 18 2 88.89% 40-41
greedybear/cronjobs/repositories/ioc.py 73 5 93.15% 66-70
greedybear/cronjobs/repositories/mass_scanner.py 8 0 100.00%
greedybear/cronjobs/repositories/sensor.py 31 0 100.00%
greedybear/cronjobs/repositories/tag.py 23 0 100.00%
greedybear/cronjobs/repositories/tor.py 8 0 100.00%
greedybear/cronjobs/schedules.py 9 0 100.00%
greedybear/cronjobs/scoring/consts.py 4 0 100.00%
greedybear/cronjobs/scoring/ml_model.py 103 22 78.64% 45-53, 63-73, 132, 267
greedybear/cronjobs/scoring/random_forest.py 43 10 76.74% 31, 43-55
greedybear/cronjobs/scoring/scorer.py 10 0 100.00%
greedybear/cronjobs/scoring/scoring_jobs.py 123 43 65.04% 51-61, 70-76, 103-105, 108-110, 117-118, 131, 133, 218-226, 242-250
greedybear/cronjobs/scoring/utils.py 53 1 98.11% 70
greedybear/cronjobs/threatfox_feed.py 87 5 94.25% 145, 150, 158-159, 188
greedybear/cronjobs/tor_exit_nodes.py 35 2 94.29% 37-38
greedybear/cronjobs/whatsmyip.py 33 0 100.00%
greedybear/enums.py 4 0 100.00%
greedybear/management/commands/setup_schedules.py 7 0 100.00%
greedybear/models.py 97 0 100.00%
greedybear/ntfy.py 14 0 100.00%
greedybear/regex.py 3 0 100.00%
greedybear/slack.py 15 10 33.33% 12-24
greedybear/tasks.py 46 27 41.30% 24-26, 30-32, 37-44, 49-52, 57-59, 63-65, 69-71, 75-77, 81-83, 87-89, 93-95
greedybear/urls.py 6 1 83.33% 9
greedybear/utils.py 10 0 100.00%
TOTAL 1791 232 87.05%

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesttestsAdd or improve test cases

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions