1+ from typing import Generator
2+
13import pytest
24
3- from scaleway .vpc .v2 import VpcV2API
5+ from scaleway .vpc .v2 import VpcV2API , VPC , PrivateNetwork , ListVPCsResponse , ListPrivateNetworksResponse
46from scaleway_core .api import ScalewayException
57from scaleway_core .client import Client
68from scaleway_core .utils import random_name
1315
1416
1517@pytest .fixture (scope = "module" )
16- @scw_vcr .use_cassette
17- def vpc_api ():
18+ @scw_vcr .use_cassette # type: ignore[misc]
19+ def vpc_api () -> tuple [ VpcV2API , str | None , str ] :
1820 client = Client .from_config_file_and_env ()
1921 api = VpcV2API (client )
2022 return api , client .default_project_id , region
2123
2224
2325@pytest .fixture (scope = "module" )
24- @scw_vcr .use_cassette
25- def vpc (vpc_api ) :
26+ @scw_vcr .use_cassette # type: ignore[misc]
27+ def vpc (vpc_api : tuple [ VpcV2API , str , str ]) -> Generator [ VPC , None , None ] :
2628 api , project_id , region = vpc_api
2729 vpc = api .create_vpc (
2830 enable_routing = True ,
@@ -35,19 +37,19 @@ def vpc(vpc_api):
3537
3638
3739@pytest .fixture
38- @scw_vcr .use_cassette
39- def private_networks_to_cleanup (vpc_api ) :
40+ @scw_vcr .use_cassette # type: ignore[misc]
41+ def private_networks_to_cleanup (vpc_api : tuple [ VpcV2API , str , str ]) -> Generator [ list [ PrivateNetwork ], None , None ] :
4042 api , _ , _ = vpc_api
41- items = []
43+ items : list [ PrivateNetwork ] = []
4244 yield items
4345 for pn in items :
4446 api .delete_private_network (private_network_id = pn .id )
4547
4648
47- @scw_vcr .use_cassette
48- def test_vpc_delete (vpc_api ) :
49+ @scw_vcr .use_cassette # type: ignore[misc]
50+ def test_vpc_delete (vpc_api : tuple [ VpcV2API , str , str ]) -> None :
4951 api , project_id , region = vpc_api
50- vpc = api .create_vpc (
52+ vpc : VPC = api .create_vpc (
5153 enable_routing = True ,
5254 region = region ,
5355 project_id = project_id ,
@@ -63,19 +65,19 @@ def test_vpc_delete(vpc_api):
6365 api .get_vpc (vpc_id = vpc .id )
6466
6567
66- @scw_vcr .use_cassette ()
67- def test_vpc_list (vpc_api ) :
68+ @scw_vcr .use_cassette # type: ignore[misc]
69+ def test_vpc_list (vpc_api : tuple [ VpcV2API , str , str ]) -> None :
6870 api , _ , region = vpc_api
69- vpcs = api .list_vp_cs (region = region )
71+ vpcs : ListVPCsResponse = api .list_vp_cs (region = region )
7072 assert isinstance (vpcs .vpcs , list )
7173 assert vpcs .total_count >= created_vpc_count
7274
7375
74- @scw_vcr .use_cassette ()
75- def test_private_network_create (vpc_api , vpc , private_networks_to_cleanup ) :
76+ @scw_vcr .use_cassette # type: ignore[misc]
77+ def test_private_network_create (vpc_api : tuple [ VpcV2API , str , str ], vpc : VPC , private_networks_to_cleanup : list [ PrivateNetwork ]) -> None :
7678 api , project_id , _ = vpc_api
7779 for i in range (created_pn_count ):
78- pn = api .create_private_network (
80+ pn : PrivateNetwork = api .create_private_network (
7981 vpc_id = vpc .id ,
8082 default_route_propagation_enabled = True ,
8183 project_id = project_id ,
@@ -85,32 +87,32 @@ def test_private_network_create(vpc_api, vpc, private_networks_to_cleanup):
8587 assert pn .vpc_id == vpc .id
8688
8789
88- @scw_vcr .use_cassette ()
89- def test_private_network_list (vpc_api ) :
90+ @scw_vcr .use_cassette # type: ignore[misc]
91+ def test_private_network_list (vpc_api : tuple [ VpcV2API , str , str ]) -> None :
9092 api , _ , region = vpc_api
91- networks = api .list_private_networks (region = region )
93+ networks : ListPrivateNetworksResponse = api .list_private_networks (region = region )
9294 assert isinstance (networks .private_networks , list )
9395 assert networks .total_count >= created_pn_count
9496
9597
96- @scw_vcr .use_cassette ()
97- def test_vpc_get (vpc_api , vpc ) :
98+ @scw_vcr .use_cassette # type: ignore[misc]
99+ def test_vpc_get (vpc_api : tuple [ VpcV2API , str , str ], vpc : VPC ) -> None :
98100 api , _ , region = vpc_api
99- fetched = api .get_vpc (vpc_id = vpc .id , region = region )
100- assert fetched is not None
101- assert fetched .id == vpc .id
101+ fetched_vpc : VPC = api .get_vpc (vpc_id = vpc .id , region = region )
102+ assert fetched_vpc is not None
103+ assert fetched_vpc .id == vpc .id
102104
103105
104- @scw_vcr .use_cassette ()
105- def test_vpc_update (vpc_api , vpc ) :
106+ @scw_vcr .use_cassette # type: ignore[misc]
107+ def test_vpc_update (vpc_api : tuple [ VpcV2API , str , str ], vpc : VPC ) -> None :
106108 api , _ , _ = vpc_api
107109 updated = api .update_vpc (vpc_id = vpc .id , tags = tags )
108110 assert updated .tags == tags
109111 assert updated .id == vpc .id
110112
111113
112- @scw_vcr .use_cassette ()
113- def test_vpc_list_all (vpc_api ) :
114+ @scw_vcr .use_cassette # type: ignore[misc]
115+ def test_vpc_list_all (vpc_api : tuple [ VpcV2API , str , str ]) -> None :
114116 api , _ , _ = vpc_api
115117 vpcs = api .list_vp_cs_all ()
116118 assert isinstance (vpcs , list )
0 commit comments