Skip to content

Commit b366794

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

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

tests/integration/test_macro.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,58 @@ def test_acl_fails_without_owner(self):
153153
)
154154

155155

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

0 commit comments

Comments
 (0)