Skip to content

Commit e39c1fb

Browse files
committed
Add privileges macros test
1 parent baf19dc commit e39c1fb

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

tests/integration/test_macro.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import logging
2020

2121
import splunklib.client as client
22+
from splunklib import results
2223

2324
import pytest
2425

@@ -153,6 +154,58 @@ def test_acl_fails_without_owner(self):
153154
)
154155

155156

157+
class TestPrivileges(testlib.SDKTestCase):
158+
macro_name = "SDKTestMacro"
159+
username = "SDKTestMacroUser".lower()
160+
password = "SDKTestMacroUserPassword!"
161+
162+
def setUp(self):
163+
testlib.SDKTestCase.setUp(self)
164+
self.cleanUsers()
165+
166+
self.service.users.create(
167+
username=self.username, password=self.password, roles=["user"]
168+
)
169+
170+
self.service.logout()
171+
kwargs = self.opts.kwargs.copy()
172+
kwargs["username"] = self.username
173+
kwargs["password"] = self.password
174+
self.service = client.connect(**kwargs)
175+
176+
self.cleanMacros()
177+
178+
def tearDown(self):
179+
testlib.SDKTestCase.setUp(self)
180+
self.cleanMacros()
181+
self.service = client.connect(**self.opts.kwargs)
182+
self.cleanUsers()
183+
184+
def cleanUsers(self):
185+
for user in self.service.users:
186+
if user.name == self.username:
187+
self.service.users.delete(self.username)
188+
189+
def cleanMacros(self):
190+
for macro in self.service.macros:
191+
if macro.name == self.macro_name:
192+
self.service.macros.delete(self.macro_name)
193+
194+
def test_create_macro_no_admin(self):
195+
self.service.macros.create(self.macro_name, 'eval test="123"')
196+
197+
stream = self.service.jobs.oneshot(
198+
f"| makeresults count=1 | `{self.macro_name}`",
199+
output_mode="json",
200+
)
201+
202+
result = results.JSONResultsReader(stream)
203+
out = list(result)
204+
205+
self.assertTrue(len(out) == 1)
206+
self.assertEqual(out[0]["test"], "123")
207+
208+
156209
if __name__ == "__main__":
157210
try:
158211
import unittest2 as unittest

0 commit comments

Comments
 (0)