Skip to content

Commit f609849

Browse files
author
Frederick Ross
committed
Got index tests working. Grumble. Grr.
1 parent 86a964c commit f609849

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

splunklib/client.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,9 +1475,9 @@ def default(self):
14751475
index = self['_audit']
14761476
return index['defaultDatabase']
14771477

1478-
def delete(self):
1479-
if self.splunk_version[0] >= 5:
1480-
Collection.delete(self.service, self.name)
1478+
def delete(self, name):
1479+
if self.service.splunk_version[0] >= 5:
1480+
Collection.delete(self, name)
14811481
else:
14821482
raise IllegalOperationException("Deleting indexes via the REST API is "
14831483
"not supported before Splunk version 5.")
@@ -1548,8 +1548,6 @@ def clean(self, timeout=60):
15481548
default is 60).
15491549
"""
15501550
self.refresh()
1551-
if self['disabled'] == '0':
1552-
raise IllegalOperationException('Cannot clean an enabled index.')
15531551
tds = self['maxTotalDataSizeMB']
15541552
ftp = self['frozenTimePeriodInSecs']
15551553
self.update(maxTotalDataSizeMB=1, frozenTimePeriodInSecs=1)
@@ -2296,6 +2294,19 @@ def value(self):
22962294
"""Returns the message value."""
22972295
return self[self.name]
22982296

2297+
class ModularInputKind(Entity):
2298+
def __getitem__(self, name):
2299+
args = self['endpoint']['args']
2300+
if name in args:
2301+
return args['item']
2302+
else:
2303+
return Entity.__getitem__(self, name)
2304+
2305+
def update(self, **kwargs):
2306+
"""Raises an error. Modular input kinds are read only."""
2307+
raise IllegalOperationException("Modular input kinds cannot be updated via the REST API.")
2308+
2309+
22992310
class SavedSearch(Entity):
23002311
"""This class represents a saved search."""
23012312
def __init__(self, service, path, **kwargs):

tests/test_index.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,6 @@ def setUp(self):
6363
self.service.restart(timeout=300)
6464
self.index = self.service.indexes[self.index_name]
6565

66-
def test_cannot_clean_enabled(self):
67-
self.assertEqual(self.index['disabled'], '0')
68-
self.assertRaises(client.IllegalOperationException, self.index.clean)
69-
7066
def test_prefresh(self):
7167
index = self.service.indexes[self.index_name]
7268
self.assertEqual(self.index['disabled'], '0') # Index is prefreshed
@@ -81,14 +77,15 @@ def test_submit(self):
8177
self.assertEqual(self.index['totalEventCount'], str(eventCount+1))
8278

8379
def test_submit_and_clean(self):
80+
# This fails on Ace beta because the index cannot be cleaned or deleted when disabled.
8481
self.index.refresh()
8582
originalCount = int(self.index['totalEventCount'])
8683
self.index.submit("Hello again!", sourcetype="Boris", host="meep")
8784
testlib.retry(self.index, 'totalEventCount', str(originalCount+1), step=1)
8885
self.assertEqual(self.index['totalEventCount'], str(originalCount+1))
8986
self.index.disable()
9087
self.index.clean()
91-
testlib.retry(self.index, 'totalEventCount', '0', step=1)
88+
testlib.retry(self.index, 'totalEventCount', '0', step=1, times=60)
9289
self.index.refresh()
9390
self.assertEqual(self.index['totalEventCount'], '0')
9491

tests/testlib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def setUp(self):
169169
import splunklib.client as client
170170
self.opts = parse([], {}, ".splunkrc")
171171
self.service = client.connect(**self.opts.kwargs)
172-
logging.debug("Connected to splunkd version %d", '.'.join(str(x) for x in self.service.splunk_version))
172+
logging.debug("Connected to splunkd version %s", '.'.join(str(x) for x in self.service.splunk_version))
173173

174174
def main():
175175
unittest.main()

0 commit comments

Comments
 (0)