fix: 校验 PDD 采集商品链接 (#28)
This commit is contained in:
@@ -165,9 +165,34 @@ class PddCollectParserTest(unittest.TestCase):
|
||||
"client-001",
|
||||
)
|
||||
with self.assertRaises(PddCollectError) as raised:
|
||||
service.collect(FakeTask("https://example.com/goods.html"))
|
||||
service.collect(FakeTask("https://mobile.yangkeduo.com/goods.html"))
|
||||
self.assertEqual(raised.exception.code, "PDD_DATA_GOODS_ID_MISSING")
|
||||
|
||||
def test_non_pdd_goods_url_is_rejected_before_opening_device(self):
|
||||
service = PddCollectService(
|
||||
PddDeviceService(lambda _serial: object()),
|
||||
"USB-001",
|
||||
"client-001",
|
||||
)
|
||||
with self.assertRaises(PddCollectError) as raised:
|
||||
service.collect(FakeTask("https://example.com/goods.html?goods_id=123"))
|
||||
self.assertEqual(raised.exception.code, "PDD_DATA_GOODS_URL_INVALID")
|
||||
|
||||
def test_task_goods_id_must_match_url(self):
|
||||
service = PddCollectService(
|
||||
PddDeviceService(lambda _serial: object()),
|
||||
"USB-001",
|
||||
"client-001",
|
||||
)
|
||||
with self.assertRaises(PddCollectError) as raised:
|
||||
service.collect(
|
||||
FakeTask(
|
||||
"https://mobile.yangkeduo.com/goods.html?goods_id=123",
|
||||
goods_id="456",
|
||||
)
|
||||
)
|
||||
self.assertEqual(raised.exception.code, "PDD_DATA_GOODS_ID_MISMATCH")
|
||||
|
||||
def test_page_timeout_has_specific_error_code(self):
|
||||
device = LoadingDevice(self.home_xml, self.spec_xml)
|
||||
ticks = iter((0.0, 2.0))
|
||||
|
||||
Reference in New Issue
Block a user