def test_point(self): """Checks that the points produced still have the variables given to it""" shipper = gauge_influx.InfluxShipper() dp_name = 'faucet-1' port_name = 'port1.0.1' rcv_time = int(time.time()) stat_name = 'test_stat_name' # max uint64 number stat_val = 2**64 - 1 port_point = shipper.make_port_point(dp_name, port_name, rcv_time, stat_name, stat_val) values = {dp_name, port_name, rcv_time, stat_name} port_vals = set(self.get_values(port_point)) port_vals_stat = port_vals.difference(values) self.assertEqual(len(port_vals_stat), 1) self.assertAlmostEqual(port_vals_stat.pop(), stat_val) tags = {'dp_name': dp_name, 'port_name': port_name} point = shipper.make_point(tags, rcv_time, stat_name, stat_val) point_vals = set(self.get_values(point)) point_vals_stat = point_vals.difference(values) self.assertEqual(len(point_vals_stat), 1) self.assertAlmostEqual(point_vals_stat.pop(), stat_val)
def test_ship_success(self): """Checks that the shipper successsfully connects to a HTTP server when the points are shipped""" server = None try: server = start_server(PretendInflux) shipper = gauge_influx.InfluxShipper() shipper.conf = self.create_config_obj(server.server_port) points = [ { 'measurement': 'test_stat_name', 'fields': { 'value': 1 } }, ] shipper.ship_points(points) except (ConnectionError, ReadTimeout) as err: self.fail("Code threw an exception: {}".format(err)) finally: if server: server.socket.close() server.shutdown()
def test_ship_no_config(self): """Check that no exceptions are thrown when there is no config""" try: shipper = gauge_influx.InfluxShipper() points = [{'measurement': 'test_stat_name', 'fields': {'value': 1}}, ] shipper.ship_points(points) except (ConnectionError, ReadTimeout) as err: self.fail("Code threw an exception: {}".format(err))
def test_ship_connection_err(self): """Checks that even when there is a connection error, there is no exception thrown""" try: shipper = gauge_influx.InfluxShipper() shipper.conf = self.create_config_obj() shipper.logger = mock.Mock() points = [{'measurement': 'test_stat_name', 'fields': {'value': 1}}, ] shipper.ship_points(points) except (ConnectionError, ReadTimeout) as err: self.fail("Code threw an exception: {}".format(err))
def test_point(self): """Checks that the points produced still have the variables given to it""" shipper = gauge_influx.InfluxShipper() dp_name = 'windscale-faucet-1' port_name = 'port1.0.1' rcv_time = int(time.time()) stat_name = 'test_stat_name' #max uint64 number stat_val = math.pow(2, 64) - 1 port_point = shipper.make_port_point(dp_name, port_name, rcv_time, stat_name, stat_val) values = {dp_name, port_name, rcv_time, stat_name, stat_val} port_vals = self.get_values(port_point) self.assertEqual(set(port_vals), values) tags = {'dp_name': dp_name, 'port_name': port_name} point = shipper.make_point(tags, rcv_time, stat_name, stat_val) point_vals = self.get_values(point) self.assertEqual(set(point_vals), values)