feat: use uv instead of poetry for CI, docker and development (#3325)
Co-authored-by: arcbtc <ben@arc.wales>
This commit is contained in:
parent
15984fa49b
commit
5ba06d42d0
88 changed files with 4265 additions and 1303 deletions
|
|
@ -1,6 +1,5 @@
|
|||
import random
|
||||
import string
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
|
@ -14,13 +13,13 @@ class FakeError(Exception):
|
|||
class DbTestModel(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
value: Optional[str] = None
|
||||
value: str | None = None
|
||||
|
||||
|
||||
class DbTestModel2(BaseModel):
|
||||
id: int
|
||||
label: str
|
||||
description: Optional[str] = None
|
||||
description: str | None = None
|
||||
child: DbTestModel
|
||||
child_list: list[DbTestModel]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,30 +1,28 @@
|
|||
from typing import Optional, Union
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class FundingSourceConfig(BaseModel):
|
||||
name: str
|
||||
skip: Optional[bool]
|
||||
skip: bool | None
|
||||
wallet_class: str
|
||||
settings: dict
|
||||
mock_settings: Optional[dict]
|
||||
mock_settings: dict | None
|
||||
|
||||
|
||||
class FunctionMock(BaseModel):
|
||||
uri: Optional[str]
|
||||
query_params: Optional[dict]
|
||||
headers: Optional[dict]
|
||||
method: Optional[str]
|
||||
uri: str | None
|
||||
query_params: dict | None
|
||||
headers: dict | None
|
||||
method: str | None
|
||||
|
||||
|
||||
class TestMock(BaseModel):
|
||||
skip: Optional[bool]
|
||||
description: Optional[str]
|
||||
request_type: Optional[str]
|
||||
request_body: Optional[dict]
|
||||
skip: bool | None
|
||||
description: str | None
|
||||
request_type: str | None
|
||||
request_body: dict | None
|
||||
response_type: str
|
||||
response: Union[str, dict, list]
|
||||
response: str | dict | list
|
||||
|
||||
|
||||
class Mock(FunctionMock, TestMock):
|
||||
|
|
@ -62,13 +60,13 @@ class FunctionData(BaseModel):
|
|||
|
||||
|
||||
class WalletTest(BaseModel):
|
||||
skip: Optional[bool]
|
||||
skip: bool | None
|
||||
function: str
|
||||
description: str
|
||||
funding_source: FundingSourceConfig
|
||||
call_params: Optional[dict] = {}
|
||||
expect: Optional[dict]
|
||||
expect_error: Optional[dict]
|
||||
call_params: dict | None = {}
|
||||
expect: dict | None
|
||||
expect_error: dict | None
|
||||
mocks: list[Mock] = []
|
||||
|
||||
@staticmethod
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
import json
|
||||
from typing import Union
|
||||
from urllib.parse import urlencode
|
||||
|
||||
import pytest
|
||||
|
|
@ -59,7 +58,7 @@ async def test_rest_wallet(httpserver: HTTPServer, test_data: WalletTest):
|
|||
|
||||
|
||||
def _apply_mock(httpserver: HTTPServer, mock: Mock):
|
||||
request_data: dict[str, Union[str, dict, list]] = {}
|
||||
request_data: dict[str, str | dict | list] = {}
|
||||
request_type = getattr(mock.dict(), "request_type", None)
|
||||
# request_type = mock.request_type <--- this des not work for whatever reason!!!
|
||||
|
||||
|
|
@ -81,7 +80,7 @@ def _apply_mock(httpserver: HTTPServer, mock: Mock):
|
|||
**request_data, # type: ignore
|
||||
)
|
||||
|
||||
server_response: Union[str, dict, list, Response] = mock.response
|
||||
server_response: str | dict | list | Response = mock.response
|
||||
response_type = mock.response_type
|
||||
if response_type == "response":
|
||||
assert isinstance(server_response, dict), "server response must be JSON"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
import importlib
|
||||
from typing import Optional
|
||||
from unittest.mock import AsyncMock, Mock
|
||||
|
||||
import pytest
|
||||
|
|
@ -167,7 +166,7 @@ def _mock_field(field):
|
|||
return response
|
||||
|
||||
|
||||
def _eval_dict(data: Optional[dict]) -> Optional[dict]:
|
||||
def _eval_dict(data: dict | None) -> dict | None:
|
||||
fn_prefix = "__eval__:"
|
||||
if not data:
|
||||
return data
|
||||
|
|
@ -190,7 +189,7 @@ def _eval_dict(data: Optional[dict]) -> Optional[dict]:
|
|||
return d
|
||||
|
||||
|
||||
def _dict_to_object(data: Optional[dict]) -> Optional[DataObject]:
|
||||
def _dict_to_object(data: dict | None) -> DataObject | None:
|
||||
if not data:
|
||||
return None
|
||||
# if isinstance(data, list):
|
||||
|
|
@ -213,7 +212,7 @@ def _data_mock(data: dict) -> Mock:
|
|||
return Mock(return_value=_dict_to_object(data))
|
||||
|
||||
|
||||
def _raise(error: Optional[dict]):
|
||||
def _raise(error: dict | None):
|
||||
if not error:
|
||||
return Exception()
|
||||
data = error["data"] if "data" in error else None
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue