Skip to content

Commit 8c7fd18

Browse files
authored
fix: use default org (#48)
1 parent 81504f9 commit 8c7fd18

File tree

3 files changed

+39
-11
lines changed

3 files changed

+39
-11
lines changed

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
### API
44
1. [#47](https://github.com/influxdata/influxdb-client-python/pull/47): Updated swagger to latest version
55

6+
### Bugs
7+
1. [#48](https://github.com/influxdata/influxdb-client-python/pull/48): InfluxDBClient default org is used by WriteAPI
8+
69
## 1.2.0 [2019-12-06]
710

811
### Features

influxdb_client/client/write_api.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# coding: utf-8
22
import logging
3-
import threading
43
from datetime import timedelta
54
from enum import Enum
65
from random import random
@@ -134,9 +133,9 @@ def __init__(self, influxdb_client, write_options: WriteOptions = WriteOptions()
134133
self._subject = None
135134
self._disposable = None
136135

137-
def write(self, bucket: str, org: str,
136+
def write(self, bucket: str, org: str = None,
138137
record: Union[
139-
str, List['str'], Point, List['Point'], dict, List['dict'], bytes, List['bytes'], Observable],
138+
str, List['str'], Point, List['Point'], dict, List['dict'], bytes, List['bytes'], Observable] = None,
140139
write_precision: WritePrecision = DEFAULT_WRITE_PRECISION) -> None:
141140
"""
142141
Writes time-series data into influxdb.
@@ -148,6 +147,9 @@ def write(self, bucket: str, org: str,
148147
149148
"""
150149

150+
if org is None:
151+
org = self._influxdb_client.org
152+
151153
if self._write_options.write_type is WriteType.batching:
152154
return self._write_batching(bucket, org, record, write_precision)
153155

tests/test_WriteApi.py

+31-8
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ def test_write_line_protocol(self):
2828

2929
record = "h2o_feet,location=coyote_creek level\\ water_level=1.0 1"
3030
self.write_client.write(bucket.name, self.org, record)
31-
self.write_client.flush()
3231

3332
result = self.query_api.query(
3433
"from(bucket:\"" + bucket.name + "\") |> range(start: 1970-01-01T00:00:00.000000001Z) |> last()", self.org)
@@ -42,8 +41,6 @@ def test_write_line_protocol(self):
4241

4342
self.delete_test_bucket(bucket)
4443

45-
#####################################
46-
4744
def test_write_precision(self):
4845
bucket = self.create_test_bucket()
4946

@@ -67,8 +64,6 @@ def test_write_records_list(self):
6764

6865
self.write_client.write(bucket.name, self.org, record_list)
6966

70-
self.write_client.flush()
71-
7267
query = 'from(bucket:"' + bucket.name + '") |> range(start: 1970-01-01T00:00:00.000000001Z)'
7368
print(query)
7469

@@ -104,7 +99,6 @@ def test_write_points_unicode(self):
10499
record_list = [p]
105100

106101
self.write_client.write(bucket.name, self.org, record_list)
107-
self.write_client.flush()
108102

109103
query = 'from(bucket:"' + bucket.name + '") |> range(start: 1970-01-01T00:00:00.000000001Z)'
110104
flux_result = self.client.query_api().query(query)
@@ -142,7 +136,6 @@ def test_write_dictionary(self):
142136
"time": "2009-11-10T23:00:00Z", "fields": {"water_level": 1.0}}
143137

144138
self.write_client.write(_bucket.name, self.org, _point)
145-
self.write_client.flush()
146139

147140
result = self.query_api.query(
148141
"from(bucket:\"" + _bucket.name + "\") |> range(start: 1970-01-01T00:00:00.000000001Z) |> last()", self.org)
@@ -162,7 +155,6 @@ def test_write_bytes(self):
162155
_bytes = "h2o_feet,location=coyote_creek level\\ water_level=1.0 1".encode("utf-8")
163156

164157
self.write_client.write(_bucket.name, self.org, _bytes)
165-
self.write_client.flush()
166158

167159
result = self.query_api.query(
168160
"from(bucket:\"" + _bucket.name + "\") |> range(start: 1970-01-01T00:00:00.000000001Z) |> last()", self.org)
@@ -177,6 +169,37 @@ def test_write_bytes(self):
177169

178170
self.delete_test_bucket(_bucket)
179171

172+
def test_use_default_org(self):
173+
bucket = self.create_test_bucket()
174+
175+
record = "h2o_feet,location=coyote_creek level\\ water_level=1.0 1"
176+
self.write_client.write(bucket.name, record=record)
177+
178+
result = self.query_api.query(
179+
"from(bucket:\"" + bucket.name + "\") |> range(start: 1970-01-01T00:00:00.000000001Z) |> last()", self.org)
180+
181+
self.assertEqual(len(result), 1)
182+
self.assertEqual(result[0].records[0].get_measurement(), "h2o_feet")
183+
self.assertEqual(result[0].records[0].get_value(), 1.0)
184+
self.assertEqual(result[0].records[0].get_field(), "level water_level")
185+
self.assertEqual(result[0].records[0].get_time(),
186+
datetime.datetime(1970, 1, 1, 0, 0, tzinfo=datetime.timezone.utc))
187+
188+
def test_write_empty_data(self):
189+
bucket = self.create_test_bucket()
190+
191+
with self.assertRaises(ApiException) as cm:
192+
self.write_client.write(bucket.name)
193+
exception = cm.exception
194+
195+
self.assertEqual(400, exception.status)
196+
self.assertEqual("Bad Request", exception.reason)
197+
198+
result = self.query_api.query(
199+
"from(bucket:\"" + bucket.name + "\") |> range(start: 1970-01-01T00:00:00.000000001Z) |> last()", self.org)
200+
201+
self.assertEqual(len(result), 0)
202+
180203

181204
class AsynchronousWriteTest(BaseTest):
182205

0 commit comments

Comments
 (0)