dynamic html load (#63)

* dynamic html load
* split by classes
This commit is contained in:
2022-05-20 22:29:36 +03:00
committed by GitHub
parent 5674b7b388
commit 47de715d7d
72 changed files with 720 additions and 706 deletions

View File

@ -54,7 +54,8 @@ def internal_status(counters: Counters) -> InternalStatus:
Returns:
InternalStatus: internal status test instance
"""
return InternalStatus(architecture="x86_64",
return InternalStatus(status=BuildStatus(),
architecture="x86_64",
packages=counters,
version=version.__version__,
repository="aur-clone")

View File

@ -4,31 +4,6 @@ import time
from ahriman.models.build_status import BuildStatus, BuildStatusEnum
def test_build_status_enum_badges_color() -> None:
"""
status color must be one of shields.io supported
"""
SUPPORTED_COLORS = [
"brightgreen", "green", "yellowgreen", "yellow", "orange", "red", "blue", "lightgrey",
"success", "important", "critical", "informational", "inactive", "blueviolet"
]
for status in BuildStatusEnum:
assert status.badges_color() in SUPPORTED_COLORS
def test_build_status_enum_bootstrap_color() -> None:
"""
status color must be one of bootstrap supported
"""
SUPPORTED_COLORS = [
"primary", "secondary", "success", "danger", "warning", "info", "light", "dark"
]
for status in BuildStatusEnum:
assert status.bootstrap_color() in SUPPORTED_COLORS
def test_build_status_init_1() -> None:
"""
must construct status object from None

View File

@ -6,9 +6,10 @@ def test_from_option(user: User) -> None:
"""
must generate user from options
"""
user.access = UserAccess.Read
assert User.from_option(user.username, user.password) == user
# default is read access
user.access = UserAccess.Write
user.access = UserAccess.Full
assert User.from_option(user.username, user.password) != user
assert User.from_option(user.username, user.password, user.access) == user
@ -72,16 +73,16 @@ def test_verify_access_read(user: User) -> None:
"""
user.access = UserAccess.Read
assert user.verify_access(UserAccess.Read)
assert not user.verify_access(UserAccess.Write)
assert not user.verify_access(UserAccess.Full)
def test_verify_access_write(user: User) -> None:
"""
user with write access must be able to do anything
"""
user.access = UserAccess.Write
user.access = UserAccess.Full
assert user.verify_access(UserAccess.Read)
assert user.verify_access(UserAccess.Write)
assert user.verify_access(UserAccess.Full)
def test_repr(user: User) -> None:

View File

@ -0,0 +1,51 @@
from pytest_mock import MockerFixture
from ahriman.models.user_access import UserAccess
def test_permits_full() -> None:
"""
full access must allow everything
"""
assert UserAccess.Full.permits(UserAccess.Full)
assert UserAccess.Full.permits(UserAccess.Reporter)
assert UserAccess.Full.permits(UserAccess.Read)
assert UserAccess.Full.permits(UserAccess.Unauthorized)
def test_permits_reporter() -> None:
"""
reporter access must allow everything except full
"""
assert not UserAccess.Reporter.permits(UserAccess.Full)
assert UserAccess.Reporter.permits(UserAccess.Reporter)
assert UserAccess.Reporter.permits(UserAccess.Read)
assert UserAccess.Reporter.permits(UserAccess.Unauthorized)
def test_permits_read() -> None:
"""
read access must allow read only and unauthorized
"""
assert not UserAccess.Read.permits(UserAccess.Full)
assert not UserAccess.Read.permits(UserAccess.Reporter)
assert UserAccess.Read.permits(UserAccess.Read)
assert UserAccess.Read.permits(UserAccess.Unauthorized)
def test_permits_unauthorized() -> None:
"""
unauthorized access must only allow unauthorized
"""
assert not UserAccess.Unauthorized.permits(UserAccess.Full)
assert not UserAccess.Unauthorized.permits(UserAccess.Reporter)
assert not UserAccess.Unauthorized.permits(UserAccess.Read)
assert UserAccess.Unauthorized.permits(UserAccess.Unauthorized)
def test_permits_unknown(mocker: MockerFixture) -> None:
"""
must return False in case if input does not match
"""
mocker.patch.object(UserAccess, "_member_names_", ["Read"])
assert not UserAccess.Full.permits(UserAccess.Unauthorized)