def test_extractCreditCardsFromText_should_return_a_list(self): invalid_types = [None, "", list(), dict()] for invalid_type in invalid_types: with self.subTest(invalid_type=invalid_type): cards = SpiderFootHelpers.extractCreditCardsFromText( invalid_type) self.assertIsInstance(cards, list) cards = SpiderFootHelpers.extractCreditCardsFromText( "spiderfoot4111 1111 1111 1111spiderfoot") self.assertIsInstance(cards, list) self.assertEqual(["4111111111111111"], cards)
def handleEvent(self, event): eventName = event.eventType srcModuleName = event.module eventData = event.data self.debug(f"Received event, {eventName}, from {srcModuleName}") creditCards = SpiderFootHelpers.extractCreditCardsFromText(eventData) for creditCard in set(creditCards): self.info(f"Found credit card number: {creditCard}") evt = SpiderFootEvent("CREDIT_CARD_NUMBER", creditCard, self.__name__, event) if event.moduleDataSource: evt.moduleDataSource = event.moduleDataSource else: evt.moduleDataSource = "Unknown" self.notifyListeners(evt)