def setUp(self): reactor.suggestThreadPoolSize(1) connection_string = os.environ.get("SHORTENER_TEST_CONNECTION_STRING", "sqlite://") self.account = 'test-account' cfg = { 'host_domain': 'http://wtxt.io', 'account': self.account, 'connection_string': connection_string, 'graphite_endpoint': 'tcp:www.example.com:80', 'handlers': [ { 'dump': 'shortener.handlers.dump.Dump' }, ], } self.pool = HTTPConnectionPool(reactor, persistent=False) self.service = ShortenerServiceApp(reactor=reactor, config=cfg) self.tr = DisconnectingStringTransport() endpoint = StringTransportClientEndpoint(reactor, self.tr) self.service.metrics.carbon_client = CarbonClientService(endpoint) self.service.metrics.carbon_client.startService() yield self.service.metrics.carbon_client.connect_d site = Site(self.service.app.resource()) self.listener = reactor.listenTCP(0, site, interface='localhost') self.listener_port = self.listener.getHost().port self._drop_tables() self.conn = yield self.service.engine.connect() self.addCleanup(self.listener.loseConnection) self.addCleanup(self.pool.closeCachedConnections)
class TestCarbonClientService(TestCase): timeout = 1 def setUp(self): self.tr = DisconnectingStringTransport() endpoint = StringTransportClientEndpoint(reactor, self.tr) self.service = CarbonClientService(endpoint) @inlineCallbacks def test_start_stop(self): self.assertEqual(self.service.protocol_instance, None) self.service.startService() proto = yield self.service.connect_d self.assertEqual(self.service.protocol_instance, proto) self.assertNotEqual(proto, None) yield self.service.stopService() self.assertEqual(self.service.protocol_instance, None) @inlineCallbacks def test_send_metric(self): self.service.startService() yield self.service.connect_d self.assertEqual(self.tr.value(), "") self.service.publish_metric("foo", 3, 1394726782) self.assertEqual(self.tr.value(), "foo 3 1394726782\n") @inlineCallbacks def test_send_metric_while_stopped(self): self.assertEqual(self.tr.value(), "") self.service.publish_metric("foo", 3, 1394726782) self.assertEqual(self.tr.value(), "") self.service.startService() yield self.service.connect_d self.assertEqual(self.tr.value(), "foo 3 1394726782\n")
def setUp(self): self.tr = DisconnectingStringTransport() endpoint = StringTransportClientEndpoint(reactor, self.tr) self.service = CarbonClientService(endpoint)