Skip to content

Commit a084309

Browse files
committed
Add privileges macros test
1 parent b7a2217 commit a084309

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

pyrightconfig.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"venvPath": ".",
3+
"venv": ".venv"
4+
}

tests/integration/test_macro.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,59 @@ def query():
264264
self.assertRaisesRegex(HTTPError, "value must be smaller that value2", query)
265265

266266

267+
class TestPrivileges(testlib.SDKTestCase):
268+
macro_name = "SDKTestMacro"
269+
username = "SDKTestMacroUser".lower()
270+
password = "SDKTestMacroUserPassword!"
271+
272+
def setUp(self):
273+
logging.basicConfig(force=True, level=logging.DEBUG)
274+
testlib.SDKTestCase.setUp(self)
275+
self.cleanUsers()
276+
277+
self.service.users.create(
278+
username=self.username, password=self.password, roles=["user"]
279+
)
280+
281+
self.service.logout()
282+
kwargs = self.opts.kwargs.copy()
283+
kwargs["username"] = self.username
284+
kwargs["password"] = self.password
285+
self.service = client.connect(**kwargs)
286+
287+
self.cleanMacros()
288+
289+
def tearDown(self):
290+
testlib.SDKTestCase.tearDown(self)
291+
self.cleanMacros()
292+
self.service = client.connect(**self.opts.kwargs)
293+
self.cleanUsers()
294+
295+
def cleanUsers(self):
296+
for user in self.service.users:
297+
if user.name == self.username:
298+
self.service.users.delete(self.username)
299+
300+
def cleanMacros(self):
301+
for macro in self.service.macros:
302+
if macro.name == self.macro_name:
303+
self.service.macros.delete(self.macro_name)
304+
305+
def test_create_macro_no_admin(self):
306+
self.service.macros.create(self.macro_name, 'eval test="123"')
307+
308+
stream = self.service.jobs.oneshot(
309+
f"| makeresults count=1 | `{self.macro_name}`",
310+
output_mode="json",
311+
)
312+
313+
result = results.JSONResultsReader(stream)
314+
out = list(result)
315+
316+
self.assertTrue(len(out) == 1)
317+
self.assertEqual(out[0]["test"], "123")
318+
319+
267320
if __name__ == "__main__":
268321
try:
269322
import unittest2 as unittest

0 commit comments

Comments
 (0)