88
99import click
1010import yaml
11+ from beartype import beartype
1112from selenium import webdriver
1213from selenium .common .exceptions import WebDriverException
1314from selenium .webdriver .common .by import By
1819from selenium .webdriver .support .wait import WebDriverWait
1920
2021
22+ @beartype
2123class 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
3336def 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
6770def 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
119123def create_database (
120124 driver : WebDriver ,
121125 database_name : str ,
@@ -178,6 +182,7 @@ def create_database(
178182 time .sleep (5 )
179183
180184
185+ @beartype
181186def 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" )
259265def 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 )
0 commit comments