Skip to content

Commit 8086732

Browse files
committed
Updated test dependencies
1 parent 62c6258 commit 8086732

File tree

9 files changed

+150
-164
lines changed

9 files changed

+150
-164
lines changed

.github/workflows/main.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
strategy:
1515
matrix:
16-
python-version: [3.9]
16+
python-version: [3.11]
1717

1818
steps:
1919
- uses: actions/checkout@v1

controllers/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def upsert_evc(self, evc: Dict) -> Optional[Dict]:
8888
**evc,
8989
**{"_id": evc["id"]}
9090
}
91-
).dict(exclude={"inserted_at"}, exclude_none=True)
91+
).model_dump(exclude={"inserted_at"}, exclude_none=True)
9292
model.setdefault("queue_id", None)
9393
updated = self.db.evcs.find_one_and_update(
9494
{"_id": evc["id"]},

db/models.py

+63-63
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@
55
from datetime import datetime
66
from typing import Dict, List, Literal, Optional, Union
77

8-
from pydantic import BaseModel, Field, validator
8+
from pydantic import BaseModel, Field, field_validator
99

1010

1111
class DocumentBaseModel(BaseModel):
1212
"""Base model for Mongo documents"""
1313

1414
id: str = Field(None, alias="_id")
15-
inserted_at: Optional[datetime]
16-
updated_at: Optional[datetime]
15+
inserted_at: Optional[datetime] = None
16+
updated_at: Optional[datetime] = None
1717

18-
def dict(self, **kwargs) -> Dict:
18+
def model_dump(self, **kwargs) -> Dict:
1919
"""Return a dictionary representation of the model"""
20-
values = super().dict(**kwargs)
20+
values = super().model_dump(**kwargs)
2121
if "id" in values and values["id"]:
2222
values["_id"] = values["id"]
2323
if "exclude" in kwargs and "_id" in kwargs["exclude"]:
@@ -29,19 +29,19 @@ class CircuitScheduleDoc(BaseModel):
2929
"""EVC circuit schedule model"""
3030

3131
id: str
32-
date: Optional[str]
33-
frequency: Optional[str]
34-
interval: Optional[int]
32+
date: Optional[str] = None
33+
frequency: Optional[str] = None
34+
interval: Optional[int] = None
3535
action: str
3636

3737

3838
class TAGDoc(BaseModel):
3939
"""TAG model"""
4040
tag_type: str
41-
value: Union[int, str, list[list[int]]]
42-
mask_list: Optional[list[str, int]]
41+
value: Union[int, str, List[List[int]]]
42+
mask_list: Optional[List[Union[str, int]]] = None
4343

44-
@validator('value')
44+
@field_validator('value')
4545
def validate_value(cls, value):
4646
"""Validate value when is a string"""
4747
if isinstance(value, list):
@@ -56,56 +56,56 @@ def validate_value(cls, value):
5656

5757
class UNIDoc(BaseModel):
5858
"""UNI model"""
59-
tag: Optional[TAGDoc]
59+
tag: Optional[TAGDoc] = None
6060
interface_id: str
6161

6262

6363
class LinkConstraints(BaseModel):
6464
"""LinkConstraints."""
65-
bandwidth: Optional[float]
66-
ownership: Optional[str]
67-
reliability: Optional[float]
68-
utilization: Optional[float]
69-
delay: Optional[float]
70-
priority: Optional[int]
71-
not_ownership: Optional[List[str]]
65+
bandwidth: Optional[float] = None
66+
ownership: Optional[str] = None
67+
reliability: Optional[float] = None
68+
utilization: Optional[float] = None
69+
delay: Optional[float] = None
70+
priority: Optional[int] = None
71+
not_ownership: Optional[List[str]] = None
7272

7373

7474
class PathConstraints(BaseModel):
7575
"""Pathfinder Constraints."""
76-
spf_attribute: Optional[Literal["hop", "delay", "priority"]]
77-
spf_max_path_cost: Optional[float]
78-
mandatory_metrics: Optional[LinkConstraints]
79-
flexible_metrics: Optional[LinkConstraints]
80-
minimum_flexible_hits: Optional[int]
81-
undesired_links: Optional[List[str]]
76+
spf_attribute: Optional[Literal["hop", "delay", "priority"]] = None
77+
spf_max_path_cost: Optional[float] = None
78+
mandatory_metrics: Optional[LinkConstraints] = None
79+
flexible_metrics: Optional[LinkConstraints] = None
80+
minimum_flexible_hits: Optional[int] = None
81+
undesired_links: Optional[List[str]] = None
8282

8383

8484
class EVCUpdateDoc(DocumentBaseModel):
8585
"""Base model when updating an EVC document"""
86-
uni_a: Optional[UNIDoc]
87-
uni_z: Optional[UNIDoc]
88-
name: Optional[str]
89-
request_time: Optional[datetime]
90-
start_date: Optional[datetime]
91-
end_date: Optional[datetime]
92-
queue_id: Optional[int]
93-
flow_removed_at: Optional[datetime]
94-
execution_rounds: Optional[int]
95-
bandwidth: Optional[int]
96-
primary_path: Optional[List]
97-
backup_path: Optional[List]
98-
primary_links: Optional[List]
99-
backup_links: Optional[List]
100-
dynamic_backup_path: Optional[bool]
101-
primary_constraints: Optional[PathConstraints]
102-
secondary_constraints: Optional[PathConstraints]
103-
owner: Optional[str]
104-
sb_priority: Optional[int]
105-
service_level: Optional[int]
106-
circuit_scheduler: Optional[List[CircuitScheduleDoc]]
107-
metadata: Optional[dict]
108-
enabled: Optional[bool]
86+
uni_a: Optional[UNIDoc] = None
87+
uni_z: Optional[UNIDoc] = None
88+
name: Optional[str] = None
89+
request_time: Optional[datetime] = None
90+
start_date: Optional[datetime] = None
91+
end_date: Optional[datetime] = None
92+
queue_id: Optional[int] = None
93+
flow_removed_at: Optional[datetime] = None
94+
execution_rounds: Optional[int] = None
95+
bandwidth: Optional[int] = None
96+
primary_path: Optional[List] = None
97+
backup_path: Optional[List] = None
98+
primary_links: Optional[List] = None
99+
backup_links: Optional[List] = None
100+
dynamic_backup_path: Optional[bool] = None
101+
primary_constraints: Optional[PathConstraints] = None
102+
secondary_constraints: Optional[PathConstraints] = None
103+
owner: Optional[str] = None
104+
sb_priority: Optional[int] = None
105+
service_level: Optional[int] = None
106+
circuit_scheduler: Optional[List[CircuitScheduleDoc]] = None
107+
metadata: Optional[dict] = None
108+
enabled: Optional[bool] = None
109109

110110

111111
class EVCBaseDoc(DocumentBaseModel):
@@ -114,25 +114,25 @@ class EVCBaseDoc(DocumentBaseModel):
114114
uni_a: UNIDoc
115115
uni_z: UNIDoc
116116
name: str
117-
request_time: Optional[datetime]
118-
start_date: Optional[datetime]
119-
end_date: Optional[datetime]
120-
queue_id: Optional[int]
121-
flow_removed_at: Optional[datetime]
117+
request_time: Optional[datetime] = None
118+
start_date: Optional[datetime] = None
119+
end_date: Optional[datetime] = None
120+
queue_id: Optional[int] = None
121+
flow_removed_at: Optional[datetime] = None
122122
execution_rounds: int = 0
123123
bandwidth: int = 0
124-
primary_path: Optional[List]
125-
backup_path: Optional[List]
126-
current_path: Optional[List]
127-
failover_path: Optional[List]
128-
primary_links: Optional[List]
129-
backup_links: Optional[List]
124+
primary_path: Optional[List] = None
125+
backup_path: Optional[List] = None
126+
current_path: Optional[List] = None
127+
failover_path: Optional[List] = None
128+
primary_links: Optional[List] = None
129+
backup_links: Optional[List] = None
130130
dynamic_backup_path: bool
131-
primary_constraints: Optional[PathConstraints]
132-
secondary_constraints: Optional[PathConstraints]
131+
primary_constraints: Optional[PathConstraints] = None
132+
secondary_constraints: Optional[PathConstraints] = None
133133
creation_time: datetime
134-
owner: Optional[str]
135-
sb_priority: Optional[int]
134+
owner: Optional[str] = None
135+
sb_priority: Optional[int] = None
136136
service_level: int = 0
137137
circuit_scheduler: List[CircuitScheduleDoc]
138138
archived: bool = False

requirements/dev.in

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
#
55
# pip-compile --output-file requirements/dev.txt requirements/dev.in
66
#
7-
-e git+https://github.com/kytos-ng/python-openflow.git#egg=python-openflow
8-
-e git+https://github.com/kytos-ng/kytos.git#egg=kytos[dev]
7+
-e git+https://github.com/kytos-ng/python-openflow.git@upgrade/python#egg=python-openflow
8+
-e git+https://github.com/kytos-ng/kytos.git@upgrade/python#egg=kytos[dev]
99
-e .

requirements/run.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
apscheduler==3.8.0
2-
requests==2.27.0
2+
requests==2.31.0
33
glom==20.11.0

requirements/run.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.9
2+
# This file is autogenerated by pip-compile with Python 3.11
33
# by the following command:
44
#
55
# pip-compile --output-file=requirements/run.txt requirements/run.in
66
#
77
apscheduler==3.8.0
88
# via -r requirements/run.in
9-
attrs==21.4.0
9+
attrs==23.2.0
1010
# via glom
1111
boltons==21.0.0
1212
# via
1313
# face
1414
# glom
15-
certifi==2021.10.8
15+
certifi==2024.2.2
1616
# via requests
17-
charset-normalizer==2.0.10
17+
charset-normalizer==3.3.2
1818
# via requests
1919
face==20.1.1
2020
# via glom
2121
glom==20.11.0
2222
# via -r requirements/run.in
23-
idna==3.3
23+
idna==3.6
2424
# via requests
2525
pytz==2021.3
2626
# via
2727
# apscheduler
2828
# tzlocal
29-
requests==2.27.0
29+
requests==2.31.0
3030
# via -r requirements/run.in
3131
six==1.16.0
3232
# via apscheduler
3333
tzlocal==2.1
3434
# via apscheduler
35-
urllib3==1.26.7
35+
urllib3==1.26.18
3636
# via requests
3737

3838
# The following packages are considered to be unsafe in a requirements file:

tests/unit/test_db_models.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def test_document_base_model_dict(self):
9595
"""test_document_base_model_dict."""
9696
self.evc_dict["_id"] = "some_id"
9797
model = DocumentBaseModel(**self.evc_dict)
98-
assert "_id" not in model.dict(exclude={"_id"})
98+
assert "_id" not in model.model_dump(exclude={"_id"})
9999

100100
def test_tagdoc_value(self):
101101
"""Test TAGDoc value restrictions"""

0 commit comments

Comments
 (0)