Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Oct 29, 2024. It is now read-only.

Djeebus issue 231 #234

Merged
merged 6 commits into from
Aug 28, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ install:
- pip install tox
- pip install coveralls
- mkdir influxdb_install
- wget https://s3.amazonaws.com/influxdb/influxdb_0.9.2_amd64.deb
- wget https://s3.amazonaws.com/influxdb/influxdb_0.9.3_amd64.deb
- dpkg -x influxdb_*_amd64.deb influxdb_install
script:
- export INFLUXDB_PYTHON_INFLUXD_PATH=$(pwd)/influxdb_install/opt/influxdb/versions/0.9.2/influxd
- export INFLUXDB_PYTHON_INFLUXD_PATH=$(pwd)/influxdb_install/opt/influxdb/versions/0.9.3/influxd
- travis_wait 30 tox -e $TOX_ENV
after_success:
- if [ "$TOX_ENV" == "coverage" ] ; then coveralls; fi
Expand Down
4 changes: 3 additions & 1 deletion influxdb/line_protocol.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from numbers import Integral

from dateutil.parser import parse
from six import binary_type, text_type
from six import binary_type, text_type, integer_types


def _convert_timestamp(timestamp, precision=None):
Expand Down Expand Up @@ -59,6 +59,8 @@ def _escape_value(value):
"\n", "\\n"
)
)
elif isinstance(value, integer_types):
return str(value) + 'i'
else:
return str(value)

Expand Down
36 changes: 18 additions & 18 deletions influxdb/tests/dataframe_client_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ def test_write_points_from_dataframe(self):
columns=["column_one", "column_two",
"column_three"])
expected = (
b"foo column_one=\"1\",column_three=1.0,column_two=1 0\n"
b"foo column_one=\"2\",column_three=2.0,column_two=2 "
b"foo column_one=\"1\",column_three=1.0,column_two=1i 0\n"
b"foo column_one=\"2\",column_three=2.0,column_two=2i "
b"3600000000000\n"
)

Expand Down Expand Up @@ -71,8 +71,8 @@ def test_write_points_from_dataframe_with_numeric_column_names(self):
index=[now, now + timedelta(hours=1)])

expected = (
b'foo,hello=there 0=\"1\",1=1,2=1.0 0\n'
b'foo,hello=there 0=\"2\",1=2,2=2.0 3600000000000\n'
b'foo,hello=there 0=\"1\",1=1i,2=1.0 0\n'
b'foo,hello=there 0=\"2\",1=2i,2=2.0 3600000000000\n'
)

with requests_mock.Mocker() as m:
Expand All @@ -92,8 +92,8 @@ def test_write_points_from_dataframe_with_period_index(self):
columns=["column_one", "column_two",
"column_three"])
expected = (
b"foo column_one=\"1\",column_three=1.0,column_two=1 0\n"
b"foo column_one=\"2\",column_three=2.0,column_two=2 "
b"foo column_one=\"1\",column_three=1.0,column_two=1i 0\n"
b"foo column_one=\"2\",column_three=2.0,column_two=2i "
b"86400000000000\n"
)

Expand Down Expand Up @@ -125,48 +125,48 @@ def test_write_points_from_dataframe_with_time_precision(self):
cli.write_points(dataframe, measurement, time_precision='h')
self.assertEqual(m.last_request.qs['precision'], ['h'])
self.assertEqual(
b'foo column_one="1",column_three=1.0,column_two=1 0\nfoo '
b'column_one="2",column_three=2.0,column_two=2 1\n',
b'foo column_one="1",column_three=1.0,column_two=1i 0\nfoo '
b'column_one="2",column_three=2.0,column_two=2i 1\n',
m.last_request.body,
)

cli.write_points(dataframe, measurement, time_precision='m')
self.assertEqual(m.last_request.qs['precision'], ['m'])
self.assertEqual(
b'foo column_one="1",column_three=1.0,column_two=1 0\nfoo '
b'column_one="2",column_three=2.0,column_two=2 60\n',
b'foo column_one="1",column_three=1.0,column_two=1i 0\nfoo '
b'column_one="2",column_three=2.0,column_two=2i 60\n',
m.last_request.body,
)

cli.write_points(dataframe, measurement, time_precision='s')
self.assertEqual(m.last_request.qs['precision'], ['s'])
self.assertEqual(
b'foo column_one="1",column_three=1.0,column_two=1 0\nfoo '
b'column_one="2",column_three=2.0,column_two=2 3600\n',
b'foo column_one="1",column_three=1.0,column_two=1i 0\nfoo '
b'column_one="2",column_three=2.0,column_two=2i 3600\n',
m.last_request.body,
)

cli.write_points(dataframe, measurement, time_precision='ms')
self.assertEqual(m.last_request.qs['precision'], ['ms'])
self.assertEqual(
b'foo column_one="1",column_three=1.0,column_two=1 0\nfoo '
b'column_one="2",column_three=2.0,column_two=2 3600000\n',
b'foo column_one="1",column_three=1.0,column_two=1i 0\nfoo '
b'column_one="2",column_three=2.0,column_two=2i 3600000\n',
m.last_request.body,
)

cli.write_points(dataframe, measurement, time_precision='u')
self.assertEqual(m.last_request.qs['precision'], ['u'])
self.assertEqual(
b'foo column_one="1",column_three=1.0,column_two=1 0\nfoo '
b'column_one="2",column_three=2.0,column_two=2 3600000000\n',
b'foo column_one="1",column_three=1.0,column_two=1i 0\nfoo '
b'column_one="2",column_three=2.0,column_two=2i 3600000000\n',
m.last_request.body,
)

cli.write_points(dataframe, measurement, time_precision='n')
self.assertEqual(m.last_request.qs['precision'], ['n'])
self.assertEqual(
b'foo column_one="1",column_three=1.0,column_two=1 0\n'
b'foo column_one="2",column_three=2.0,column_two=2 '
b'foo column_one="1",column_three=1.0,column_two=1i 0\n'
b'foo column_one="2",column_three=2.0,column_two=2i '
b'3600000000000\n',
m.last_request.body,
)
Expand Down
19 changes: 12 additions & 7 deletions influxdb/tests/server_tests/client_test_with_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -303,8 +303,8 @@ def test_write_check_read(self):
self.test_write()
time.sleep(1)
rsp = self.cli.query('SELECT * FROM cpu_load_short', database='db')
self.assertListEqual([{'value': 0.64,
'time': '2009-11-10T23:00:00Z'}],
self.assertListEqual([{'value': 0.64, 'time': '2009-11-10T23:00:00Z',
"host": "server01", "region": "us-west"}],
list(rsp.get_points()))

def test_write_points(self):
Expand All @@ -328,7 +328,8 @@ def test_write_points_check_read(self):

self.assertEqual(
list(rsp),
[[{'value': 0.64, 'time': '2009-11-10T23:00:00Z'}]]
[[{'value': 0.64, 'time': '2009-11-10T23:00:00Z',
"host": "server01", "region": "us-west"}]]
)

rsp2 = list(rsp.get_points())
Expand All @@ -337,7 +338,8 @@ def test_write_points_check_read(self):

self.assertEqual(
pt,
{'time': '2009-11-10T23:00:00Z', 'value': 0.64}
{'time': '2009-11-10T23:00:00Z', 'value': 0.64,
"host": "server01", "region": "us-west"}
)

@unittest.skip("Broken as of 0.9.0")
Expand Down Expand Up @@ -367,15 +369,17 @@ def test_write_multiple_points_different_series(self):
lrsp = list(rsp)

self.assertEqual(
[[{'value': 0.64, 'time': '2009-11-10T23:00:00Z'}]],
[[{'value': 0.64, 'time': '2009-11-10T23:00:00Z',
"host": "server01", "region": "us-west"}]],
lrsp
)

rsp = list(self.cli.query('SELECT * FROM memory'))

self.assertEqual(
rsp,
[[{'value': 33, 'time': '2009-11-10T23:01:35Z'}]]
[[{'value': 33, 'time': '2009-11-10T23:01:35Z',
"host": "server01", "region": "us-west"}]]
)

@unittest.skip("Broken as of 0.9.0")
Expand Down Expand Up @@ -678,6 +682,7 @@ def test_write_points_udp(self):

self.assertEqual(
# this is dummy_points :
[{'value': 0.64, 'time': '2009-11-10T23:00:00Z'}],
[{'value': 0.64, 'time': '2009-11-10T23:00:00Z',
"host": "server01", "region": "us-west"}],
list(rsp['cpu_load_short'])
)
3 changes: 2 additions & 1 deletion influxdb/tests/server_tests/influxdb.conf.template
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

[data]
dir = "{data_dir}"
wal-dir = "{wal_dir}"
retention-auto-create = true
retention-check-enabled = true
retention-check-period = "10m0s"
Expand Down Expand Up @@ -54,7 +55,7 @@
retention-policy = ""
consistency-level = "one"

[udp]
[[udp]]
enabled = {udp_enabled}
bind-address = ":{udp_port}"
database = "db"
Expand Down
13 changes: 13 additions & 0 deletions influxdb/tests/server_tests/influxdb_instance.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,18 @@ def __init__(self,

self.influxd_path = self.find_influxd_path()

errors = 0
while True:
try:
self._start_server(conf_template, udp_enabled)
break
except RuntimeError: # Happens when the ports are already in use.
errors += 1
if errors > 2:
raise e

def _start_server(self, conf_template, udp_enabled):

# create a temporary dir to store all needed files
# for the influxdb server instance :
self.temp_dir_base = tempfile.mkdtemp()
Expand All @@ -51,6 +63,7 @@ def __init__(self,
conf_data = dict(
meta_dir=os.path.join(tempdir, 'meta'),
data_dir=os.path.join(tempdir, 'data'),
wal_dir=os.path.join(tempdir, 'wal'),
cluster_dir=os.path.join(tempdir, 'state'),
handoff_dir=os.path.join(tempdir, 'handoff'),
logs_file=os.path.join(self.temp_dir_base, 'logs.txt'),
Expand Down
3 changes: 2 additions & 1 deletion influxdb/tests/test_line_protocol.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ def test_make_lines(self):
"fields": {
"string_val": "hello!",
"int_val": 1,
"float_val": 1.1,
"none_field": None,
}
}
Expand All @@ -29,7 +30,7 @@ def test_make_lines(self):
self.assertEqual(
line_protocol.make_lines(data),
'test,integer_tag=2,string_tag=hello '
'int_val=1,string_val="hello!"\n'
'float_val=1.1,int_val=1i,string_val="hello!"\n'
)

def test_string_val_newline(self):
Expand Down