mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
migrate unit_test_acl to pytest
This commit is contained in:
parent
9bb8a45802
commit
5de341081b
2 changed files with 96 additions and 87 deletions
96
tests/pytests/unit/test_acl.py
Normal file
96
tests/pytests/unit/test_acl.py
Normal file
|
@ -0,0 +1,96 @@
|
|||
"""
|
||||
Unit tests for salt.acl.ClientACL
|
||||
"""
|
||||
|
||||
|
||||
import pytest
|
||||
|
||||
from salt import acl
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def configure_loader_modules():
|
||||
return {acl: {}}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def blacklist():
|
||||
return {
|
||||
"users": ["joker", "penguin", "*bad_*", "blocked_.*", "^Homer$"],
|
||||
"modules": ["cmd.run", "test.fib", "rm-rf.*"],
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def whitelist():
|
||||
return {
|
||||
"users": ["testuser", "saltuser"],
|
||||
"modules": ["test.ping", "grains.items"],
|
||||
}
|
||||
|
||||
|
||||
def test_user_is_blacklisted(blacklist):
|
||||
"""
|
||||
test user_is_blacklisted
|
||||
"""
|
||||
client_acl = acl.PublisherACL(blacklist)
|
||||
|
||||
assert client_acl.user_is_blacklisted("joker")
|
||||
assert client_acl.user_is_blacklisted("penguin")
|
||||
assert client_acl.user_is_blacklisted("bad_")
|
||||
assert client_acl.user_is_blacklisted("bad_user")
|
||||
assert client_acl.user_is_blacklisted("bad_*")
|
||||
assert client_acl.user_is_blacklisted("user_bad_")
|
||||
assert client_acl.user_is_blacklisted("blocked_")
|
||||
assert client_acl.user_is_blacklisted("blocked_user")
|
||||
assert client_acl.user_is_blacklisted("blocked_.*")
|
||||
assert client_acl.user_is_blacklisted("Homer")
|
||||
|
||||
assert not client_acl.user_is_blacklisted("batman")
|
||||
assert not client_acl.user_is_blacklisted("robin")
|
||||
assert not client_acl.user_is_blacklisted("bad")
|
||||
assert not client_acl.user_is_blacklisted("blocked")
|
||||
assert not client_acl.user_is_blacklisted("NotHomer")
|
||||
assert not client_acl.user_is_blacklisted("HomerSimpson")
|
||||
|
||||
|
||||
def test_cmd_is_blacklisted(blacklist):
|
||||
"""
|
||||
test cmd_is_blacklisted
|
||||
"""
|
||||
client_acl = acl.PublisherACL(blacklist)
|
||||
|
||||
assert client_acl.cmd_is_blacklisted("cmd.run")
|
||||
assert client_acl.cmd_is_blacklisted("test.fib")
|
||||
assert client_acl.cmd_is_blacklisted("rm-rf.root")
|
||||
|
||||
assert not client_acl.cmd_is_blacklisted("cmd.shell")
|
||||
assert not client_acl.cmd_is_blacklisted("test.versions")
|
||||
assert not client_acl.cmd_is_blacklisted("arm-rf.root")
|
||||
|
||||
assert client_acl.cmd_is_blacklisted(["cmd.run", "state.sls"])
|
||||
assert not client_acl.cmd_is_blacklisted(["state.highstate", "state.sls"])
|
||||
|
||||
|
||||
def test_user_is_whitelisted(whitelist):
|
||||
"""
|
||||
test user_is_whitelisted
|
||||
"""
|
||||
client_acl = acl.PublisherACL(whitelist)
|
||||
|
||||
assert client_acl.user_is_whitelisted("testuser")
|
||||
assert client_acl.user_is_whitelisted("saltuser")
|
||||
assert not client_acl.user_is_whitelisted("three")
|
||||
assert not client_acl.user_is_whitelisted("hans")
|
||||
|
||||
|
||||
def test_cmd_is_whitelisted(whitelist):
|
||||
"""
|
||||
test cmd_is_whitelisted
|
||||
"""
|
||||
client_acl = acl.PublisherACL(whitelist)
|
||||
|
||||
assert client_acl.cmd_is_whitelisted("test.ping")
|
||||
assert client_acl.cmd_is_whitelisted("grains.items")
|
||||
assert not client_acl.cmd_is_whitelisted("cmd.run")
|
||||
assert not client_acl.cmd_is_whitelisted("test.version")
|
|
@ -1,87 +0,0 @@
|
|||
from salt import acl
|
||||
from tests.support.unit import TestCase
|
||||
|
||||
|
||||
class ClientACLTestCase(TestCase):
|
||||
"""
|
||||
Unit tests for salt.acl.ClientACL
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
self.blacklist = {
|
||||
"users": ["joker", "penguin", "*bad_*", "blocked_.*", "^Homer$"],
|
||||
"modules": ["cmd.run", "test.fib", "rm-rf.*"],
|
||||
}
|
||||
self.whitelist = {
|
||||
"users": ["testuser", "saltuser"],
|
||||
"modules": ["test.ping", "grains.items"],
|
||||
}
|
||||
|
||||
def tearDown(self):
|
||||
del self.blacklist
|
||||
del self.whitelist
|
||||
|
||||
def test_user_is_blacklisted(self):
|
||||
"""
|
||||
test user_is_blacklisted
|
||||
"""
|
||||
client_acl = acl.PublisherACL(self.blacklist)
|
||||
|
||||
self.assertTrue(client_acl.user_is_blacklisted("joker"))
|
||||
self.assertTrue(client_acl.user_is_blacklisted("penguin"))
|
||||
self.assertTrue(client_acl.user_is_blacklisted("bad_"))
|
||||
self.assertTrue(client_acl.user_is_blacklisted("bad_user"))
|
||||
self.assertTrue(client_acl.user_is_blacklisted("bad_*"))
|
||||
self.assertTrue(client_acl.user_is_blacklisted("user_bad_"))
|
||||
self.assertTrue(client_acl.user_is_blacklisted("blocked_"))
|
||||
self.assertTrue(client_acl.user_is_blacklisted("blocked_user"))
|
||||
self.assertTrue(client_acl.user_is_blacklisted("blocked_.*"))
|
||||
self.assertTrue(client_acl.user_is_blacklisted("Homer"))
|
||||
|
||||
self.assertFalse(client_acl.user_is_blacklisted("batman"))
|
||||
self.assertFalse(client_acl.user_is_blacklisted("robin"))
|
||||
self.assertFalse(client_acl.user_is_blacklisted("bad"))
|
||||
self.assertFalse(client_acl.user_is_blacklisted("blocked"))
|
||||
self.assertFalse(client_acl.user_is_blacklisted("NotHomer"))
|
||||
self.assertFalse(client_acl.user_is_blacklisted("HomerSimpson"))
|
||||
|
||||
def test_cmd_is_blacklisted(self):
|
||||
"""
|
||||
test cmd_is_blacklisted
|
||||
"""
|
||||
client_acl = acl.PublisherACL(self.blacklist)
|
||||
|
||||
self.assertTrue(client_acl.cmd_is_blacklisted("cmd.run"))
|
||||
self.assertTrue(client_acl.cmd_is_blacklisted("test.fib"))
|
||||
self.assertTrue(client_acl.cmd_is_blacklisted("rm-rf.root"))
|
||||
|
||||
self.assertFalse(client_acl.cmd_is_blacklisted("cmd.shell"))
|
||||
self.assertFalse(client_acl.cmd_is_blacklisted("test.versions"))
|
||||
self.assertFalse(client_acl.cmd_is_blacklisted("arm-rf.root"))
|
||||
|
||||
self.assertTrue(client_acl.cmd_is_blacklisted(["cmd.run", "state.sls"]))
|
||||
self.assertFalse(
|
||||
client_acl.cmd_is_blacklisted(["state.highstate", "state.sls"])
|
||||
)
|
||||
|
||||
def test_user_is_whitelisted(self):
|
||||
"""
|
||||
test user_is_whitelisted
|
||||
"""
|
||||
client_acl = acl.PublisherACL(self.whitelist)
|
||||
|
||||
self.assertTrue(client_acl.user_is_whitelisted("testuser"))
|
||||
self.assertTrue(client_acl.user_is_whitelisted("saltuser"))
|
||||
self.assertFalse(client_acl.user_is_whitelisted("three"))
|
||||
self.assertFalse(client_acl.user_is_whitelisted("hans"))
|
||||
|
||||
def test_cmd_is_whitelisted(self):
|
||||
"""
|
||||
test cmd_is_whitelisted
|
||||
"""
|
||||
client_acl = acl.PublisherACL(self.whitelist)
|
||||
|
||||
self.assertTrue(client_acl.cmd_is_whitelisted("test.ping"))
|
||||
self.assertTrue(client_acl.cmd_is_whitelisted("grains.items"))
|
||||
self.assertFalse(client_acl.cmd_is_whitelisted("cmd.run"))
|
||||
self.assertFalse(client_acl.cmd_is_whitelisted("test.version"))
|
Loading…
Add table
Reference in a new issue