mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
Merge branch '3.0' into busybox-docker
This commit is contained in:
commit
cfaafedb09
97 files changed
+1086
-850
No files matched your search
@@ -97,6 +97,38 @@ class TestUserRoutes:
|
||||
response = await client.post(app.url_path_for("create_user"), json=new_user)
|
||||
assert response.status_code == status_code
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"attr, value, status_code",
|
||||
(
|
||||
("email", "user@email.com", status.HTTP_200_OK),
|
||||
("email", "user@email.com", status.HTTP_400_BAD_REQUEST),
|
||||
("username", "user2", status.HTTP_400_BAD_REQUEST),
|
||||
("email", "invalid_email@one@two.io", status.HTTP_422_UNPROCESSABLE_ENTITY),
|
||||
("password", "short", status.HTTP_422_UNPROCESSABLE_ENTITY),
|
||||
("username", "user2@#$%^<>", status.HTTP_422_UNPROCESSABLE_ENTITY),
|
||||
("username", "ab", status.HTTP_422_UNPROCESSABLE_ENTITY),
|
||||
("full_name", "John Doe", status.HTTP_200_OK),
|
||||
("password", "password123", status.HTTP_200_OK),
|
||||
("is_active", True, status.HTTP_200_OK),
|
||||
)
|
||||
)
|
||||
async def test_update_user(
|
||||
self,
|
||||
app: FastAPI,
|
||||
client: AsyncClient,
|
||||
db_session: AsyncSession,
|
||||
attr: str,
|
||||
value: str,
|
||||
status_code: int,
|
||||
) -> None:
|
||||
|
||||
user_repo = UsersRepository(db_session)
|
||||
user_in_db = await user_repo.get_user_by_username("user2")
|
||||
update_user = {}
|
||||
update_user[attr] = value
|
||||
response = await client.put(app.url_path_for("update_user", user_id=user_in_db.user_id), json=update_user)
|
||||
assert response.status_code == status_code
|
||||
|
||||
async def test_users_saved_password_is_hashed(
|
||||
self,
|
||||
app: FastAPI,
|
||||
@@ -285,6 +317,46 @@ class TestUserMe:
|
||||
response = await unauthorized_client.get(app.url_path_for("get_logged_in_user"))
|
||||
assert response.status_code == status.HTTP_401_UNAUTHORIZED
|
||||
|
||||
async def test_authenticated_user_can_update_own_data(
|
||||
self,
|
||||
app: FastAPI,
|
||||
authorized_client: AsyncClient,
|
||||
test_user: User,
|
||||
) -> None:
|
||||
|
||||
response = await authorized_client.get(app.url_path_for("get_logged_in_user"))
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
user = User(**response.json())
|
||||
assert user.username == test_user.username
|
||||
assert user.email == test_user.email
|
||||
assert user.user_id == test_user.user_id
|
||||
|
||||
# logged in users can only change their email, full name and password
|
||||
@pytest.mark.parametrize(
|
||||
"attr, value, status_code",
|
||||
(
|
||||
("email", "user42@email.com", status.HTTP_200_OK),
|
||||
("email", "user42@email.com", status.HTTP_400_BAD_REQUEST),
|
||||
("full_name", "John Doe", status.HTTP_200_OK),
|
||||
("password", "password123", status.HTTP_200_OK),
|
||||
)
|
||||
)
|
||||
async def test_authenticated_user_can_update_own_data(
|
||||
self,
|
||||
app: FastAPI,
|
||||
authorized_client: AsyncClient,
|
||||
attr: str,
|
||||
value: str,
|
||||
status_code: int,
|
||||
) -> None:
|
||||
|
||||
update_user = {}
|
||||
update_user[attr] = value
|
||||
response = await authorized_client.put(
|
||||
app.url_path_for("update_logged_in_user"),
|
||||
json=update_user
|
||||
)
|
||||
assert response.status_code == status_code
|
||||
|
||||
class TestSuperAdmin:
|
||||
|
||||
|
||||
@@ -855,21 +855,15 @@ def test_options(linux_platform, vm):
|
||||
assert vm.kvm is False
|
||||
|
||||
vm.options = "-no-kvm"
|
||||
assert vm.options == "-no-kvm"
|
||||
assert vm.options == "-machine accel=tcg"
|
||||
|
||||
vm.options = "-enable-kvm"
|
||||
assert vm.options == "-enable-kvm"
|
||||
|
||||
vm.options = "-icount 12"
|
||||
assert vm.options == "-no-kvm -icount 12"
|
||||
|
||||
vm.options = "-icount 12 -no-kvm"
|
||||
assert vm.options == "-icount 12 -no-kvm"
|
||||
assert vm.options == "-machine accel=kvm"
|
||||
|
||||
|
||||
def test_options_windows(windows_platform, vm):
|
||||
vm.options = "-no-kvm"
|
||||
assert vm.options == ""
|
||||
assert vm.options == "-machine accel=tcg"
|
||||
|
||||
vm.options = "-enable-kvm"
|
||||
assert vm.options == ""
|
||||
@@ -919,7 +913,7 @@ async def test_run_with_kvm_linux_options_no_kvm(linux_platform, vm):
|
||||
|
||||
with patch("os.path.exists", return_value=True) as os_path:
|
||||
vm.manager.config.settings.Qemu.enable_hardware_acceleration = True
|
||||
assert await vm._run_with_hardware_acceleration("qemu-system-x86_64", "-no-kvm") is False
|
||||
assert await vm._run_with_hardware_acceleration("qemu-system-x86_64", "-machine accel=tcg") is False
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
||||
@@ -221,6 +221,7 @@ async def test_json(project, compute):
|
||||
}
|
||||
],
|
||||
"filters": {},
|
||||
"link_style": {},
|
||||
"suspend": False,
|
||||
"link_type": "ethernet",
|
||||
"capturing": False,
|
||||
@@ -250,6 +251,7 @@ async def test_json(project, compute):
|
||||
}
|
||||
}
|
||||
],
|
||||
"link_style": {},
|
||||
"filters": {},
|
||||
"suspend": False
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user