Skip to content

Commit f368efa

Browse files
author
Christopher Rabotin
committed
Fixed __initialized__ issue when using multiple Helpers. Working on Py3
now.
1 parent 57b8d06 commit f368efa

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

influxdb/helper.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ def __new__(cls, *args, **kwargs):
5151
'''
5252
Initializes class attributes for subsequent constructor calls.
5353
'''
54-
if not SeriesHelper.__initialized__:
55-
SeriesHelper.__initialized__ = True
54+
if not cls.__initialized__:
55+
cls.__initialized__ = True
5656
try:
5757
_meta = getattr(cls, 'Meta')
5858
except AttributeError:

tests/influxdb/helper_test.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,28 @@ def testSeveralSeriesNames(self):
6565
self.assertListEqual(rcvd, expectation, 'Invalid JSON body of time series returned from _json_body_ for several series names: {}.'.format(rcvd))
6666
TestSeriesHelper.MySeriesHelper._reset_()
6767
self.assertEqual(TestSeriesHelper.MySeriesHelper._json_body_(), [], 'Resetting helper did not empty datapoints.')
68+
69+
def testInvalidHelpers(self):
70+
'''
71+
Tests errors in invalid helpers.
72+
'''
73+
class MissingMeta(SeriesHelper):
74+
pass
75+
76+
class MissingClient(SeriesHelper):
77+
class Meta:
78+
series_name = 'events.stats.{server_name}'
79+
fields = ['time', 'server_name']
80+
81+
class MissingSeriesName(SeriesHelper):
82+
class Meta:
83+
client = TestSeriesHelper.client
84+
fields = ['time', 'server_name']
85+
86+
class MissingFields(SeriesHelper):
87+
class Meta:
88+
client = TestSeriesHelper.client
89+
series_name = 'events.stats.{server_name}'
90+
91+
for cls in [MissingMeta, MissingClient, MissingFields, MissingSeriesName]:
92+
self.assertRaises(AttributeError, cls, **{'time': 159, 'server_name': 'us.east-1'})

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy