2222from nisystemlink .clients .core ._http_configuration import HttpConfiguration
2323
2424
25+ @pytest .fixture
26+ def create_asset (client : AssetManagementClient ):
27+ """Fixture to return a factory that creates assets."""
28+ responses : List [CreateAssetsPartialSuccessResponse ] = []
29+
30+ def _create_assets (
31+ new_assets : CreateAssetRequest ,
32+ ) -> CreateAssetsPartialSuccessResponse :
33+ response = client .create_assets (assets = new_assets )
34+ responses .append (response )
35+ return response
36+
37+ yield _create_assets
38+
39+ created_assets : List [Asset ] = []
40+ for response in responses :
41+ if response .assets :
42+ created_assets = created_assets + response .assets
43+ client .delete_assets (ids = [asset .id for asset in created_assets ])
44+
45+
2546@pytest .fixture (scope = "class" )
26- def create_assets_request () -> List [CreateAssetRequest ]:
27- """Fixture to create an CreateAssetRequest object."""
28- assets = [
47+ def client (enterprise_config : HttpConfiguration ) -> AssetManagementClient :
48+ """Fixture to create a AssetManagementClient instance"""
49+ return AssetManagementClient (enterprise_config )
50+
51+
52+ @pytest .mark .integration
53+ @pytest .mark .enterprise
54+ class TestAssetManagement :
55+
56+ _create_assets_request = [
2957 CreateAssetRequest (
3058 model_name = "python integration test 1" ,
3159 serial_number = "01BB8" ,
@@ -68,49 +96,13 @@ def create_assets_request() -> List[CreateAssetRequest]:
6896 partNumber = "A1234" ,
6997 )
7098 ]
71-
72- return assets
73-
74-
75- @pytest .fixture
76- def create_asset (client : AssetManagementClient ):
77- """Fixture to return a factory that creates assets."""
78- responses : List [CreateAssetsPartialSuccessResponse ] = []
79-
80- def _create_assets (
81- new_assets : CreateAssetRequest ,
82- ) -> CreateAssetsPartialSuccessResponse :
83- response = client .create_assets (assets = new_assets )
84- responses .append (response )
85- return response
86-
87- yield _create_assets
88-
89- created_assets : List [Asset ] = []
90- for response in responses :
91- if response .assets :
92- created_assets = created_assets + response .assets
93- client .delete_assets (ids = [asset .id for asset in created_assets ])
94-
95-
96- @pytest .fixture (scope = "class" )
97- def client (enterprise_config : HttpConfiguration ) -> AssetManagementClient :
98- """Fixture to create a AssetManagementClient instance"""
99- return AssetManagementClient (enterprise_config )
100-
101-
102- @pytest .mark .integration
103- @pytest .mark .enterprise
104- class TestAssetManagement :
99+ """CreateAssetRequest object"""
105100
106101 def test__create_asset__returns_created_asset (
107- self ,
108- client : AssetManagementClient ,
109- create_asset ,
110- create_assets_request : List [CreateAssetRequest ],
102+ self , client : AssetManagementClient , create_asset
111103 ):
112- create_assets_request [0 ].model_number = 101
113- create_response = create_asset (create_assets_request )
104+ self . _create_assets_request [0 ].model_number = 101
105+ create_response = create_asset (self . _create_assets_request )
114106
115107 asset_id = (
116108 create_response .assets [0 ].id
@@ -126,14 +118,10 @@ def test__create_asset__returns_created_asset(
126118 asset_id = assets [0 ].id
127119 assert asset_id is not None
128120
129- def test__delete_asset__returns_deleted_asset (
130- self ,
131- client : AssetManagementClient ,
132- create_assets_request : List [CreateAssetRequest ],
133- ):
134- create_assets_request [0 ].model_number = 102
121+ def test__delete_asset__returns_deleted_asset (self , client : AssetManagementClient ):
122+ self ._create_assets_request [0 ].model_number = 102
135123 create_response : CreateAssetsPartialSuccessResponse = client .create_assets (
136- assets = create_assets_request
124+ assets = self . _create_assets_request
137125 )
138126 asset_id = (
139127 create_response .assets [0 ].id
@@ -151,13 +139,10 @@ def test__delete_asset__returns_deleted_asset(
151139 assert delete_response .ids [0 ] == asset_id
152140
153141 def test__query_assets_with_take_value__returns_specific_number_of_assets (
154- self ,
155- client : AssetManagementClient ,
156- create_asset ,
157- create_assets_request : List [CreateAssetRequest ],
142+ self , client : AssetManagementClient , create_asset
158143 ):
159- create_assets_request [0 ].model_number = 103
160- create_assets_response = create_asset (create_assets_request )
144+ self . _create_assets_request [0 ].model_number = 103
145+ create_assets_response = create_asset (self . _create_assets_request )
161146
162147 assert create_assets_response is not None
163148 assert len (create_assets_response .assets ) == 1
0 commit comments