def test_name_collision(self): opts = self.opts.kwargs.copy() opts['owner'] = '-' opts['app'] = '-' opts['sharing'] = 'user' service = client.connect(**opts) logging.debug("Namespace for collision testing: %s", service.namespace) saved_searches = service.saved_searches name = testlib.tmpname() query1 = '* earliest=-1m | head 1' query2 = '* earliest=-2m | head 2' namespace1 = client.namespace(app='search', sharing='app') namespace2 = client.namespace(owner='admin', app='search', sharing='user') saved_search2 = saved_searches.create( name, query2, namespace=namespace1) saved_search1 = saved_searches.create( name, query1, namespace=namespace2) self.assertRaises(client.AmbiguousReferenceException, saved_searches.__getitem__, name) search1 = saved_searches[name, namespace1] self.check_saved_search(search1) search1.update(**{'action.email.from': '*****@*****.**'}) search1.refresh() self.assertEqual(search1['action.email.from'], '*****@*****.**') search2 = saved_searches[name, namespace2] search2.update(**{'action.email.from': '*****@*****.**'}) search2.refresh() self.assertEqual(search2['action.email.from'], '*****@*****.**') self.check_saved_search(search2)
def test_name_collision(self): opts = self.opts.kwargs.copy() opts['owner'] = '-' opts['app'] = '-' opts['sharing'] = 'user' service = client.connect(**opts) logging.debug("Namespace for collision testing: %s", service.namespace) saved_searches = service.saved_searches name = testlib.tmpname() query1 = '* earliest=-1m | head 1' query2 = '* earliest=-2m | head 2' namespace1 = client.namespace(app='search', sharing='app') namespace2 = client.namespace(owner='admin', app='search', sharing='user') saved_search2 = saved_searches.create(name, query2, namespace=namespace1) saved_search1 = saved_searches.create(name, query1, namespace=namespace2) self.assertRaises(client.AmbiguousReferenceException, saved_searches.__getitem__, name) search1 = saved_searches[name, namespace1] self.check_saved_search(search1) search1.update(**{'action.email.from': '*****@*****.**'}) search1.refresh() self.assertEqual(search1['action.email.from'], '*****@*****.**') search2 = saved_searches[name, namespace2] search2.update(**{'action.email.from': '*****@*****.**'}) search2.refresh() self.assertEqual(search2['action.email.from'], '*****@*****.**') self.check_saved_search(search2)
def connect(self): while True: try: self.service = client.connect(host=spc['host'], port=spc['port'], username=spc['user'], password=spc['password']) self.results = results self.ns = client.namespace(sharing='user', owner='wall', app='splunkb_templates') break except Exception: log.warn('[ERROR] Can`t connect to Splunk') time.sleep(2)
def test_getitem_with_namespace_sample_in_changelog(self): from splunklib.binding import namespace ns = client.namespace(owner='nobody', app='search') result = self.service.saved_searches['Errors in the last 24 hours', ns]
def test_getitem_with_namespace_sample_in_changelog(self): from splunklib.binding import namespace ns = client.namespace(owner="nobody", app="search") result = self.service.saved_searches["Top five sourcetypes", ns]
def _get_stanza_namespace(stanza): return client.namespace(sharing=stanza.access['sharing'], owner=stanza.access['owner'], app=stanza.access['app'])