Skip to content

Commit a531eb4

Browse files
Merge pull request #706 from VWS-Python/more-beartype
Use beartype on all commands
2 parents 05ff706 + a8f7f54 commit a531eb4

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ dynamic = [
3333
"version",
3434
]
3535
dependencies = [
36+
"beartype>=0.18.5",
3637
"click",
3738
"pyyaml",
3839
"selenium",
3940
]
4041

4142
optional-dependencies.dev = [
4243
"actionlint-py==1.7.1.15",
43-
"beartype==0.18.5",
4444
"check-manifest==0.49",
4545
"deptry==0.20.0",
4646
"doc8==1.1.1",

src/vws_web_tools/__init__.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import click
1010
import yaml
11+
from beartype import beartype
1112
from selenium import webdriver
1213
from selenium.common.exceptions import WebDriverException
1314
from selenium.webdriver.common.by import By
@@ -18,6 +19,7 @@
1819
from selenium.webdriver.support.wait import WebDriverWait
1920

2021

22+
@beartype
2123
class DatabaseDict(TypedDict):
2224
"""
2325
A dictionary type which represents a database.
@@ -30,6 +32,7 @@ class DatabaseDict(TypedDict):
3032
client_secret_key: str
3133

3234

35+
@beartype
3336
def log_in(
3437
driver: WebDriver,
3538
email_address: str,
@@ -48,9 +51,8 @@ def log_in(
4851
password_input_element.send_keys(Keys.RETURN)
4952

5053

51-
def wait_for_logged_in(
52-
driver: WebDriver,
53-
) -> None: # pragma: no cover
54+
@beartype
55+
def wait_for_logged_in(driver: WebDriver) -> None: # pragma: no cover
5456
"""
5557
Wait for the user to be logged in.
5658
@@ -64,6 +66,7 @@ def wait_for_logged_in(
6466
)
6567

6668

69+
@beartype
6770
def create_license(
6871
driver: WebDriver,
6972
license_name: str,
@@ -116,6 +119,7 @@ def create_license(
116119
agree_terms_checkbox_element.submit()
117120

118121

122+
@beartype
119123
def create_database(
120124
driver: WebDriver,
121125
database_name: str,
@@ -178,6 +182,7 @@ def create_database(
178182
time.sleep(5)
179183

180184

185+
@beartype
181186
def get_database_details(
182187
driver: WebDriver,
183188
database_name: str,
@@ -255,13 +260,15 @@ def get_database_details(
255260
}
256261

257262

263+
@beartype
258264
@click.group(name="vws-web")
259265
def vws_web_tools_group() -> None:
260266
"""
261267
Commands for interacting with VWS.
262268
"""
263269

264270

271+
@beartype
265272
@click.command()
266273
@click.option("--license-name", required=True)
267274
@click.option("--email-address", envvar="VWS_EMAIL_ADDRESS", required=True)
@@ -281,6 +288,7 @@ def create_vws_license(
281288
driver.close()
282289

283290

291+
@beartype
284292
@click.command()
285293
@click.option("--license-name", required=True)
286294
@click.option("--database-name", required=True)
@@ -306,6 +314,7 @@ def create_vws_database(
306314
driver.close()
307315

308316

317+
@beartype
309318
@click.command()
310319
@click.option("--database-name", required=True)
311320
@click.option("--email-address", envvar="VWS_EMAIL_ADDRESS", required=True)

tests/conftest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from beartype import beartype
77

88

9+
@beartype
910
def pytest_collection_modifyitems(items: list[pytest.Item]) -> None:
1011
"""
1112
Apply the beartype decorator to all collected test functions.

0 commit comments

Comments
 (0)