def setUp(self): crawler = CrawlerRunner().create_crawler(Spider) self.spider = crawler._create_spider('foo') self.mw = StatsdMiddleware().from_crawler(crawler) self.mw.spider_opened(self.spider) self.statsd_prefix = "{}.{}.".format(socket.gethostname(), self.spider.name) self.client = udp_client(self.statsd_prefix) self.mw.statsd_client = self.client
def test_init_spider_custom_name(self): hostname = 'captn-fluffington' spider_name = 'test-spider' prefix_pattern = '{hostname}_{name}_dev_' expected_prefix = prefix_pattern.format(hostname=hostname, name=spider_name) settings = {'STATSD_HOSTNAME': hostname, 'STATSD_PREFIX': prefix_pattern} crawler = CrawlerRunner(settings).create_crawler(Spider) spider = crawler._create_spider(spider_name) mw = StatsdMiddleware().from_crawler(crawler) mw.spider_opened(spider) mw.statsd_client = udp_client(expected_prefix) self.assertEqual(mw.statsd_prefix, expected_prefix) req = Request('http://scrapytest.org/') mw.process_request(req, spider) sock_check(mw.statsd_client._sock, 1, 'udp', val='{}.spider_reqs_issued:1|c'.format(expected_prefix))