mirror of
https://github.com/remnawave/python-sdk.git
synced 2026-05-13 12:16:42 +00:00
feat: Добавить тесты для HWIDUserController, включая методы получения, добавления и удаления HWID
This commit is contained in:
parent
e45324075d
commit
44dfb1b010
3 changed files with 52 additions and 7 deletions
|
|
@ -1,15 +1,14 @@
|
|||
from typing import Annotated
|
||||
from uuid import UUID
|
||||
|
||||
from rapid_api_client import PydanticBody
|
||||
|
||||
from remnawave_api.models import (
|
||||
HWIDUserResponseDto,
|
||||
HWIDUserResponseDtoList,
|
||||
CreateHWIDUser,
|
||||
HWIDDeleteRequest
|
||||
)
|
||||
from remnawave_api.rapid import AttributeBody, BaseController, post
|
||||
from rapid_api_client import Path, PydanticBody
|
||||
from remnawave_api.rapid import AttributeBody, BaseController, post, get
|
||||
|
||||
|
||||
class HWIDUserController(BaseController):
|
||||
|
|
@ -29,10 +28,10 @@ class HWIDUserController(BaseController):
|
|||
"""Delete a user HWID device"""
|
||||
...
|
||||
|
||||
@post("/hwid/devices/{uuid}", response_class=HWIDUserResponseDto)
|
||||
@get("/hwid/devices/{uuid}", response_class=HWIDUserResponseDtoList)
|
||||
async def get_hwid_user(
|
||||
self,
|
||||
uuid: Annotated[UUID, AttributeBody()],
|
||||
) -> HWIDUserResponseDto:
|
||||
uuid: Annotated[str, Path(description="UUID of the User")],
|
||||
) -> HWIDUserResponseDtoList:
|
||||
"""Get a user HWID device"""
|
||||
...
|
||||
|
|
@ -14,7 +14,6 @@ REMNAWAVE_INBOUND_UUID = os.getenv("REMNAWAVE_INBOUND_UUID")
|
|||
REMNAWAVE_USER_UUID = os.getenv("REMNAWAVE_USER_UUID")
|
||||
REMNAWAVE_SHORT_UUID = os.getenv("REMNAWAVE_SHORT_UUID")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def remnawave() -> RemnawaveSDK:
|
||||
assert REMNAWAVE_TOKEN
|
||||
|
|
@ -42,4 +41,5 @@ async def remnawave() -> RemnawaveSDK:
|
|||
assert sdk.users_bulk_actions is not None
|
||||
assert sdk.users_stats is not None
|
||||
assert sdk.xray_config is not None
|
||||
assert sdk.hwid is not None
|
||||
return sdk
|
||||
|
|
|
|||
46
tests/test_hwid.py
Normal file
46
tests/test_hwid.py
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
import random
|
||||
import uuid
|
||||
|
||||
import pytest
|
||||
|
||||
from remnawave_api.models import (
|
||||
HWIDDeleteRequest,
|
||||
HWIDUserResponseDto,
|
||||
HWIDUserResponseDtoList,
|
||||
CreateHWIDUser
|
||||
)
|
||||
from tests.conftest import REMNAWAVE_USER_UUID
|
||||
|
||||
new_hwid = str(uuid.uuid4())
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_get_hwid_user(remnawave):
|
||||
hwid = await remnawave.hwid.get_hwid_user(uuid=REMNAWAVE_USER_UUID)
|
||||
assert isinstance(hwid, HWIDUserResponseDtoList)
|
||||
assert hwid.response is not None
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_add_hwid_to_user(remnawave):
|
||||
create_request = CreateHWIDUser(
|
||||
hwid=new_hwid,
|
||||
userUuid=REMNAWAVE_USER_UUID,
|
||||
platform="Windows",
|
||||
osVersion="10.0.19042",
|
||||
deviceModel="Surface Pro",
|
||||
userAgent="Mozilla/5.0"
|
||||
)
|
||||
response = await remnawave.hwid.add_hwid_to_users(body=create_request)
|
||||
assert isinstance(response, HWIDUserResponseDtoList)
|
||||
assert any(item.hwid == new_hwid for item in response.response)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_delete_hwid_user(remnawave):
|
||||
delete_request = HWIDDeleteRequest(
|
||||
hwid=new_hwid,
|
||||
userUuid=REMNAWAVE_USER_UUID
|
||||
)
|
||||
response = await remnawave.hwid.delete_hwid_to_user(body=delete_request)
|
||||
assert isinstance(response, HWIDUserResponseDtoList)
|
||||
assert not any(item.hwid == new_hwid for item in response.response)
|
||||
Loading…
Add table
Add a link
Reference in a new issue