diff options
Diffstat (limited to 'tests/carbon_tests')
-rw-r--r-- | tests/carbon_tests/__init__.py | 8 | ||||
-rw-r--r-- | tests/carbon_tests/emitter_test.py | 72 | ||||
-rw-r--r-- | tests/carbon_tests/json_to_carbon_test.py | 116 |
3 files changed, 0 insertions, 196 deletions
diff --git a/tests/carbon_tests/__init__.py b/tests/carbon_tests/__init__.py deleted file mode 100644 index 73334c7..0000000 --- a/tests/carbon_tests/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################## -# Copyright (c) 2015 EMC and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## diff --git a/tests/carbon_tests/emitter_test.py b/tests/carbon_tests/emitter_test.py deleted file mode 100644 index 7f61049..0000000 --- a/tests/carbon_tests/emitter_test.py +++ /dev/null @@ -1,72 +0,0 @@ -############################################################################## -# Copyright (c) 2015 EMC and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## - -import SocketServer -import json -from storperf.carbon import converter -from storperf.carbon.emitter import CarbonMetricTransmitter -import threading -from time import sleep, strptime -import unittest - -import mock - - -class MetricsHandler(SocketServer.BaseRequestHandler): - - def handle(self): - # Echo the back to the client - CarbonMetricTransmitterTest.response = self.request.recv(1024) - return - - -class MetricsServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer): - pass - - -class CarbonMetricTransmitterTest(unittest.TestCase): - listen_port = 0 - response = None - - def setUp(self): - - address = ('localhost', 0) - server = MetricsServer(address, MetricsHandler) - ip, self.listen_port = server.server_address - - t = threading.Thread(target=server.serve_forever) - t.setDaemon(True) - t.start() - - @mock.patch("time.gmtime") - def test_transmit_metrics(self, mock_time): - - mock_time.return_value = strptime("30 Nov 00", "%d %b %y") - - testconv = converter.Converter() - json_object = json.loads( - """{"timestamp" : "975542400", "key":"value" }""") - result = testconv.convert_json_to_flat(json_object, "host.run-name") - - emitter = CarbonMetricTransmitter() - emitter.carbon_port = self.listen_port - emitter.transmit_metrics(result) - - count = 0 - - while (CarbonMetricTransmitterTest.response is None and count < 10): - count += 1 - sleep(0.1) - - self.assertEqual("host.run-name.key value 975542400\n", - CarbonMetricTransmitterTest.response, - CarbonMetricTransmitterTest.response) - -if __name__ == '__main__': - unittest.main() diff --git a/tests/carbon_tests/json_to_carbon_test.py b/tests/carbon_tests/json_to_carbon_test.py deleted file mode 100644 index 523ff77..0000000 --- a/tests/carbon_tests/json_to_carbon_test.py +++ /dev/null @@ -1,116 +0,0 @@ -############################################################################## -# Copyright (c) 2015 EMC and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## - -from storperf.carbon.converter import Converter -import json -import unittest - - -class JSONToCarbonTest(unittest.TestCase): - - single_json_text_element = """{ "key" : "value" }""" - single_json_numeric_element = """{ "key" : 123 }""" - single_json_key_with_spaces = """{ "key with spaces" : "value" }""" - single_json_value_with_spaces = """{ "key" : "value with spaces" }""" - json_map_name_with_spaces = \ - """{ "map with spaces" : { "key" : "value" } }""" - json_list_name_with_spaces = \ - """{ "list with spaces" : [{ "key" : "value" }] }""" - - simple_fio_json = """ -{ - "fio version" : "fio-2.2.10", - "timestamp" : 1444144664, - "time" : "Tue Oct 6 11:17:44 2015", - "jobs" : [ - { - "jobname" : "random-read", - "groupid" : 0, - "error" : 0, - "eta" : 0, - "elapsed" : 26, - "read" : { - "io_bytes" : 7116, - "bw" : 275, - "iops" : 68.99, - "runtime" : 25788, - "total_ios" : 1779, - "short_ios" : 0, - "drop_ios" : 0, - "slat" : { - "min" : 0, - "max" : 0, - "mean" : 0.00, - "stddev" : 0.00 - } - } - }] -} -""" - - def setUp(self): - pass - - def test_to_string(self): - testconv = Converter() - json_object = json.loads(self.simple_fio_json) - result = testconv.convert_json_to_flat(json_object, "host.run-name") - self.assertEqual("7116", result[ - "host.run-name.jobs.1.read.io_bytes"], - result["host.run-name.jobs.1.read.io_bytes"]) - - def test_single_text_element_no_prefix(self): - testconv = Converter() - result = testconv.convert_json_to_flat( - json.loads(self.single_json_text_element)) - - self.assertEqual("value", result["key"], result["key"]) - - def test_single_numeric_element_no_prefix(self): - testconv = Converter() - result = testconv.convert_json_to_flat( - json.loads(self.single_json_numeric_element)) - - self.assertEqual("123", result["key"], result["key"]) - - def test_single_text_key_space_element_no_prefix(self): - testconv = Converter() - result = testconv.convert_json_to_flat( - json.loads(self.single_json_key_with_spaces)) - - self.assertEqual( - "value", result["key_with_spaces"], result["key_with_spaces"]) - - def test_single_text_value_space_element_no_prefix(self): - testconv = Converter() - result = testconv.convert_json_to_flat( - json.loads(self.single_json_value_with_spaces)) - - self.assertEqual("value_with_spaces", result["key"], result["key"]) - - def test_map_name_with_space_no_prefix(self): - testconv = Converter() - result = testconv.convert_json_to_flat( - json.loads(self.json_map_name_with_spaces)) - - self.assertEqual( - "value", result["map_with_spaces.key"], - result["map_with_spaces.key"]) - - def test_list_name_with_space_no_prefix(self): - testconv = Converter() - result = testconv.convert_json_to_flat( - json.loads(self.json_list_name_with_spaces)) - - self.assertEqual( - "value", result["list_with_spaces.1.key"], - result["list_with_spaces.1.key"]) - -if __name__ == '__main__': - unittest.main() |