[crawler]
This commit is contained in:
21
tests/test_smoke_unittest.py
Normal file
21
tests/test_smoke_unittest.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import unittest
|
||||
|
||||
from crawler_platform.app.config.loader import load_project_config
|
||||
from crawler_platform.app.core.crawler.fetchers import RequestsFetcher
|
||||
from crawler_platform.app.domains.perfume.extractor import PerfumeRuleBasedExtractor
|
||||
|
||||
|
||||
class SmokeTest(unittest.TestCase):
|
||||
def test_config_fetch_and_extract_without_network(self):
|
||||
config = load_project_config("configs/perfume_subscription.yaml")
|
||||
fetch_result = RequestsFetcher().fetch("tests/fixtures/sample_perfume.html")
|
||||
bundle = PerfumeRuleBasedExtractor().extract(fetch_result.html, config)
|
||||
|
||||
self.assertEqual(config.domain, "perfume")
|
||||
self.assertEqual(fetch_result.status_code, 200)
|
||||
self.assertIn("hasTopNote", {claim.predicate for claim in bundle.claims})
|
||||
self.assertIn("hasPrice", {claim.predicate for claim in bundle.claims})
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user