migrate unit_test_acl to pytest

This commit is contained in:
Frode Gundersen 2023-02-13 19:39:10 +00:00 committed by Pedro Algarvio
parent 9bb8a45802
commit 5de341081b
2 changed files with 96 additions and 87 deletions

View 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")

View file

@ -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"))