azure-developer-loadtesting 1.0.0__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. azure-developer-loadtesting-1.0.0/CHANGELOG.md +72 -0
  2. azure-developer-loadtesting-1.0.0/LICENSE +21 -0
  3. azure-developer-loadtesting-1.0.0/MANIFEST.in +7 -0
  4. azure-developer-loadtesting-1.0.0/PKG-INFO +281 -0
  5. azure-developer-loadtesting-1.0.0/README.md +258 -0
  6. azure-developer-loadtesting-1.0.0/azure/__init__.py +1 -0
  7. azure-developer-loadtesting-1.0.0/azure/developer/__init__.py +1 -0
  8. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/__init__.py +10 -0
  9. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_client.py +97 -0
  10. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/__init__.py +26 -0
  11. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/_client.py +88 -0
  12. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/_configuration.py +71 -0
  13. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/_patch.py +24 -0
  14. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/_serialization.py +1996 -0
  15. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/_vendor.py +20 -0
  16. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/_version.py +9 -0
  17. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/aio/__init__.py +23 -0
  18. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/aio/_client.py +88 -0
  19. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/aio/_configuration.py +71 -0
  20. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/aio/_patch.py +23 -0
  21. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/aio/_vendor.py +17 -0
  22. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/aio/operations/__init__.py +21 -0
  23. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/aio/operations/_operations.py +6517 -0
  24. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/aio/operations/_patch.py +187 -0
  25. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/operations/__init__.py +21 -0
  26. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/operations/_operations.py +7242 -0
  27. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_generated/operations/_patch.py +195 -0
  28. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/_version.py +6 -0
  29. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/aio/__init__.py +9 -0
  30. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/aio/_client.py +107 -0
  31. azure-developer-loadtesting-1.0.0/azure/developer/loadtesting/py.typed +1 -0
  32. azure-developer-loadtesting-1.0.0/azure_developer_loadtesting.egg-info/PKG-INFO +281 -0
  33. azure-developer-loadtesting-1.0.0/azure_developer_loadtesting.egg-info/SOURCES.txt +52 -0
  34. azure-developer-loadtesting-1.0.0/azure_developer_loadtesting.egg-info/dependency_links.txt +1 -0
  35. azure-developer-loadtesting-1.0.0/azure_developer_loadtesting.egg-info/not-zip-safe +1 -0
  36. azure-developer-loadtesting-1.0.0/azure_developer_loadtesting.egg-info/requires.txt +5 -0
  37. azure-developer-loadtesting-1.0.0/azure_developer_loadtesting.egg-info/top_level.txt +1 -0
  38. azure-developer-loadtesting-1.0.0/pyproject.toml +6 -0
  39. azure-developer-loadtesting-1.0.0/samples/begin_test_run.py +52 -0
  40. azure-developer-loadtesting-1.0.0/samples/create_or_update_app_components.py +57 -0
  41. azure-developer-loadtesting-1.0.0/samples/create_or_update_test_function.py +84 -0
  42. azure-developer-loadtesting-1.0.0/samples/delete_load_test_function.py +46 -0
  43. azure-developer-loadtesting-1.0.0/samples/delete_load_test_run.py +39 -0
  44. azure-developer-loadtesting-1.0.0/samples/get_metrics.py +64 -0
  45. azure-developer-loadtesting-1.0.0/samples/upload_test_file.py +45 -0
  46. azure-developer-loadtesting-1.0.0/setup.cfg +4 -0
  47. azure-developer-loadtesting-1.0.0/setup.py +71 -0
  48. azure-developer-loadtesting-1.0.0/tests/conftest.py +60 -0
  49. azure-developer-loadtesting-1.0.0/tests/test_admin_ops.py +284 -0
  50. azure-developer-loadtesting-1.0.0/tests/test_async_admin_ops.py +286 -0
  51. azure-developer-loadtesting-1.0.0/tests/test_async_run_ops.py +286 -0
  52. azure-developer-loadtesting-1.0.0/tests/test_run_ops.py +289 -0
  53. azure-developer-loadtesting-1.0.0/tests/testcase.py +41 -0
  54. azure-developer-loadtesting-1.0.0/tests/testcase_async.py +26 -0
@@ -0,0 +1,284 @@
1
+ # coding: utf-8
2
+ # -------------------------------------------------------------------------
3
+ # Copyright (c) Microsoft Corporation. All rights reserved.
4
+ # Licensed under the MIT License. See License.txt in the project root for
5
+ # license information.
6
+ # -------------------------------------------------------------------------
7
+ import os
8
+ from pathlib import Path
9
+
10
+ import pytest
11
+ from azure.core.exceptions import HttpResponseError, ResourceNotFoundError
12
+
13
+ from testcase import LoadtestingPowerShellPreparer, LoadtestingTest
14
+ from devtools_testutils import recorded_by_proxy, set_bodiless_matcher, set_custom_default_matcher
15
+
16
+ DISPLAY_NAME = "TestingResourcePyTest"
17
+ NON_EXISTING_RESOURCE = "nonexistingresource"
18
+ class TestLoadTestAdministrationClient(LoadtestingTest):
19
+
20
+ def setup_create_load_test(self, endpoint):
21
+ self.setup_load_test_id = "pytest_setup_load_test_id"
22
+ client = self.create_administration_client(endpoint)
23
+
24
+ client.create_or_update_test(
25
+ self.setup_load_test_id,
26
+ {
27
+ "description": "",
28
+ "displayName": DISPLAY_NAME,
29
+ "loadTestConfig": {
30
+ "engineSize": "m",
31
+ "engineInstances": 1,
32
+ "splitAllCSVs": False,
33
+ },
34
+ "secrets": {},
35
+ "environmentVariables": {},
36
+ "passFailCriteria": {"passFailMetrics": {}},
37
+ "keyvaultReferenceIdentityType": "SystemAssigned",
38
+ "keyvaultReferenceIdentityId": None,
39
+ }
40
+ )
41
+
42
+ def setup_upload_test_file(self, endpoint):
43
+ client = self.create_administration_client(endpoint)
44
+ self.setup_file_name = "sample.jmx"
45
+ client.begin_upload_test_file(self.setup_load_test_id, "sample.jmx", open(os.path.join(Path(__file__).resolve().parent, "sample.jmx"), "rb"))
46
+
47
+ def setup_app_components(self, endpoint, resource_id):
48
+ client = self.create_administration_client(endpoint)
49
+
50
+ client.create_or_update_app_components(
51
+ self.setup_load_test_id,
52
+ {
53
+ "components": {
54
+ resource_id: {
55
+ "resourceId": resource_id,
56
+ "resourceName": "App-Service-Sample-Demo",
57
+ "resourceType": "Microsoft.Web/sites",
58
+ "kind": "web",
59
+ }
60
+ },
61
+ },
62
+ )
63
+ @LoadtestingPowerShellPreparer()
64
+ @recorded_by_proxy
65
+ def test_create_or_update_load_test(self, loadtesting_endpoint, loadtesting_test_id):
66
+ set_bodiless_matcher()
67
+
68
+ client = self.create_administration_client(loadtesting_endpoint)
69
+ result = client.create_or_update_test(
70
+ loadtesting_test_id,
71
+ {
72
+ "description": "",
73
+ "displayName": DISPLAY_NAME,
74
+ "loadTestConfig": {
75
+ "engineSize": "m",
76
+ "engineInstances": 1,
77
+ "splitAllCSVs": False,
78
+ },
79
+ "secrets": {},
80
+ "environmentVariables": {},
81
+ "passFailCriteria": {"passFailMetrics": {}},
82
+ "keyvaultReferenceIdentityType": "SystemAssigned",
83
+ "keyvaultReferenceIdentityId": None,
84
+ },
85
+ )
86
+ assert result is not None
87
+
88
+ with pytest.raises(HttpResponseError):
89
+ client.create_or_update_test(
90
+ loadtesting_test_id,
91
+ {
92
+ "description": "",
93
+ "displayName": DISPLAY_NAME + "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz",
94
+ "loadTestConfig": {
95
+ "engineSize": "m",
96
+ "engineInstances": 1,
97
+ "splitAllCSVs": False,
98
+ },
99
+ "secrets": {},
100
+ "environmentVariables": {},
101
+ "passFailCriteria": {"passFailMetrics": {}},
102
+ "keyvaultReferenceIdentityType": "SystemAssigned",
103
+ "keyvaultReferenceIdentityId": None,
104
+ },
105
+ )
106
+
107
+ @LoadtestingPowerShellPreparer()
108
+ @recorded_by_proxy
109
+ def test_delete_load_test(self, loadtesting_endpoint):
110
+ set_bodiless_matcher()
111
+ self.setup_create_load_test(loadtesting_endpoint)
112
+
113
+ client = self.create_administration_client(loadtesting_endpoint)
114
+ result = client.delete_test(self.setup_load_test_id)
115
+ assert result is None
116
+
117
+ with pytest.raises(ResourceNotFoundError):
118
+ client.delete_test(NON_EXISTING_RESOURCE)
119
+
120
+ @LoadtestingPowerShellPreparer()
121
+ @recorded_by_proxy
122
+ def test_get_load_test(self, loadtesting_endpoint):
123
+ set_bodiless_matcher()
124
+ self.setup_create_load_test(loadtesting_endpoint)
125
+
126
+ client = self.create_administration_client(loadtesting_endpoint)
127
+ result = client.get_test(self.setup_load_test_id)
128
+ assert result is not None
129
+
130
+ with pytest.raises(ResourceNotFoundError):
131
+ client.get_test(NON_EXISTING_RESOURCE)
132
+
133
+ @LoadtestingPowerShellPreparer()
134
+ @recorded_by_proxy
135
+ def test_list_load_tests(self, loadtesting_endpoint):
136
+ set_bodiless_matcher()
137
+ self.setup_create_load_test(loadtesting_endpoint)
138
+
139
+ client = self.create_administration_client(loadtesting_endpoint)
140
+ result = client.list_tests()
141
+ assert result is not None
142
+
143
+
144
+ @LoadtestingPowerShellPreparer()
145
+ @recorded_by_proxy
146
+ def test_get_test_file(self, loadtesting_endpoint):
147
+ set_bodiless_matcher()
148
+ self.setup_create_load_test(loadtesting_endpoint)
149
+ self.setup_upload_test_file(loadtesting_endpoint)
150
+
151
+ client = self.create_administration_client(loadtesting_endpoint)
152
+ result = client.get_test_file(self.setup_load_test_id, self.setup_file_name)
153
+ assert result is not None
154
+
155
+ with pytest.raises(ResourceNotFoundError):
156
+ client.get_test_file(self.setup_load_test_id, "nonexistent.jmx")
157
+
158
+ @LoadtestingPowerShellPreparer()
159
+ @recorded_by_proxy
160
+ def test_delete_test_file(self, loadtesting_endpoint):
161
+ set_bodiless_matcher()
162
+ self.setup_create_load_test(loadtesting_endpoint)
163
+ self.setup_upload_test_file(loadtesting_endpoint)
164
+
165
+ client = self.create_administration_client(loadtesting_endpoint)
166
+ result = client.delete_test_file(self.setup_load_test_id, self.setup_file_name)
167
+ assert result is None
168
+
169
+ with pytest.raises(ResourceNotFoundError):
170
+ client.delete_test_file(self.setup_load_test_id, "nonexistent.jmx")
171
+
172
+
173
+ @LoadtestingPowerShellPreparer()
174
+ @recorded_by_proxy
175
+ def list_test_files(self, loadtesting_endpoint):
176
+ set_bodiless_matcher()
177
+ self.setup_create_load_test(loadtesting_endpoint)
178
+ self.setup_upload_test_file(loadtesting_endpoint)
179
+
180
+ client = self.create_administration_client(loadtesting_endpoint)
181
+ result = client.list_test_files(self.setup_load_test_id)
182
+ assert result is not None
183
+
184
+ with pytest.raises(ResourceNotFoundError):
185
+ client.list_test_files(NON_EXISTING_RESOURCE)
186
+
187
+ @LoadtestingPowerShellPreparer()
188
+ @recorded_by_proxy
189
+ def test_create_or_update_app_components(self, loadtesting_endpoint, loadtesting_test_id, loadtesting_resource_id):
190
+ set_bodiless_matcher()
191
+
192
+ client = self.create_administration_client(loadtesting_endpoint)
193
+ result = client.create_or_update_app_components(
194
+ loadtesting_test_id,
195
+ {
196
+ "components":
197
+ {
198
+ loadtesting_resource_id:
199
+ {
200
+ "resourceId": loadtesting_resource_id,
201
+ "resourceName": "App-Service-Sample-Demo",
202
+ "resourceType": "Microsoft.Web/sites",
203
+ "kind": "web"
204
+ }
205
+ }
206
+ }
207
+ )
208
+ assert result is not None
209
+
210
+ with pytest.raises(ResourceNotFoundError):
211
+ client.create_or_update_app_components(
212
+ NON_EXISTING_RESOURCE,
213
+ {
214
+ "components": {
215
+ loadtesting_resource_id: {
216
+ "resourceId": loadtesting_resource_id,
217
+ "resourceName": "App-Service-Sample-Demo",
218
+ "resourceType": "Microsoft.Web/sites",
219
+ "kind": "web",
220
+ }
221
+ }
222
+ }
223
+ )
224
+
225
+ @LoadtestingPowerShellPreparer()
226
+ @recorded_by_proxy
227
+ def test_get_app_components(self, loadtesting_endpoint, loadtesting_resource_id):
228
+ set_bodiless_matcher()
229
+ self.setup_create_load_test(loadtesting_endpoint)
230
+ self.setup_app_components(loadtesting_endpoint, loadtesting_resource_id)
231
+
232
+ client = self.create_administration_client(loadtesting_endpoint)
233
+ result = client.get_app_components(self.setup_load_test_id)
234
+ assert result is not None
235
+
236
+ with pytest.raises(ResourceNotFoundError):
237
+ client.get_app_components(NON_EXISTING_RESOURCE)
238
+
239
+ @LoadtestingPowerShellPreparer()
240
+ @recorded_by_proxy
241
+ def test_file_upload_poller(self, loadtesting_endpoint):
242
+ set_bodiless_matcher()
243
+ self.setup_create_load_test(loadtesting_endpoint)
244
+
245
+ client = self.create_administration_client(loadtesting_endpoint)
246
+ poller = client.begin_upload_test_file(self.setup_load_test_id, "sample.jmx",
247
+ open(os.path.join(Path(__file__).resolve().parent, "sample.jmx"), "rb"))
248
+
249
+ result = poller.result(1000)
250
+ assert poller.status() is not None
251
+ assert result is not None
252
+ assert poller.done() is True
253
+
254
+ @LoadtestingPowerShellPreparer()
255
+ @recorded_by_proxy
256
+ def test_create_or_update_server_metrics_config(self, loadtesting_endpoint, loadtesting_resource_id, loadtesting_test_id):
257
+ set_bodiless_matcher()
258
+
259
+ client = self.create_administration_client(loadtesting_endpoint)
260
+ result = client.create_or_update_server_metrics_config(
261
+ loadtesting_test_id,
262
+ {
263
+ "metrics": {
264
+ loadtesting_resource_id: {
265
+ "resourceId": loadtesting_resource_id,
266
+ "metricNamespace": "microsoft.insights/components",
267
+ "displayDescription": "sample description",
268
+ "name": "requests/duration",
269
+ "aggregation": "Average",
270
+ "unit": None,
271
+ "resourceType": "microsoft.insights/components"
272
+ }
273
+ }
274
+ }
275
+ )
276
+ assert result is not None
277
+
278
+ @LoadtestingPowerShellPreparer()
279
+ @recorded_by_proxy
280
+ def test_get_server_metrics_config(self, loadtesting_endpoint, loadtesting_test_id):
281
+ set_bodiless_matcher()
282
+ client = self.create_administration_client(loadtesting_endpoint)
283
+ result = client.get_server_metrics_config(loadtesting_test_id)
284
+ assert result is not None
@@ -0,0 +1,286 @@
1
+ # coding: utf-8
2
+ # -------------------------------------------------------------------------
3
+ # Copyright (c) Microsoft Corporation. All rights reserved.
4
+ # Licensed under the MIT License. See License.txt in the project root for
5
+ # license information.
6
+ # -------------------------------------------------------------------------
7
+ import os
8
+ from pathlib import Path
9
+
10
+ import pytest
11
+ from azure.core.exceptions import HttpResponseError, ResourceNotFoundError
12
+
13
+ from testcase import LoadtestingPowerShellPreparer
14
+ from testcase_async import LoadtestingAsyncTest
15
+ from devtools_testutils import set_bodiless_matcher, set_custom_default_matcher
16
+ from devtools_testutils.aio import recorded_by_proxy_async
17
+
18
+ DISPLAY_NAME = "TestingResourcePyTest"
19
+ NON_EXISTING_RESOURCE = "nonexistingresource"
20
+ class TestLoadTestAdministrationClient(LoadtestingAsyncTest):
21
+
22
+ async def setup_create_load_test(self, endpoint):
23
+ self.setup_load_test_id = "pytest_setup_load_test_id"
24
+ client = self.create_administration_client(endpoint)
25
+
26
+ await client.create_or_update_test(
27
+ self.setup_load_test_id,
28
+ {
29
+ "description": "",
30
+ "displayName": DISPLAY_NAME,
31
+ "loadTestConfig": {
32
+ "engineSize": "m",
33
+ "engineInstances": 1,
34
+ "splitAllCSVs": False,
35
+ },
36
+ "secrets": {},
37
+ "environmentVariables": {},
38
+ "passFailCriteria": {"passFailMetrics": {}},
39
+ "keyvaultReferenceIdentityType": "SystemAssigned",
40
+ "keyvaultReferenceIdentityId": None,
41
+ }
42
+ )
43
+
44
+ async def setup_upload_test_file(self, endpoint):
45
+ client = self.create_administration_client(endpoint)
46
+ self.setup_file_name = "sample.jmx"
47
+ await client.begin_upload_test_file(self.setup_load_test_id, "sample.jmx", open(os.path.join(Path(__file__).resolve().parent, "sample.jmx"), "rb"))
48
+
49
+ async def setup_app_components(self, endpoint, resource_id):
50
+ client = self.create_administration_client(endpoint)
51
+
52
+ await client.create_or_update_app_components(
53
+ self.setup_load_test_id,
54
+ {
55
+ "components": {
56
+ resource_id: {
57
+ "resourceId": resource_id,
58
+ "resourceName": "App-Service-Sample-Demo",
59
+ "resourceType": "Microsoft.Web/sites",
60
+ "kind": "web",
61
+ }
62
+ },
63
+ },
64
+ )
65
+ @LoadtestingPowerShellPreparer()
66
+ @recorded_by_proxy_async
67
+ async def test_create_or_update_load_test(self, loadtesting_endpoint, loadtesting_test_id):
68
+ set_bodiless_matcher()
69
+
70
+ client = self.create_administration_client(loadtesting_endpoint)
71
+ result = await client.create_or_update_test(
72
+ loadtesting_test_id,
73
+ {
74
+ "description": "",
75
+ "displayName": DISPLAY_NAME,
76
+ "loadTestConfig": {
77
+ "engineSize": "m",
78
+ "engineInstances": 1,
79
+ "splitAllCSVs": False,
80
+ },
81
+ "secrets": {},
82
+ "environmentVariables": {},
83
+ "passFailCriteria": {"passFailMetrics": {}},
84
+ "keyvaultReferenceIdentityType": "SystemAssigned",
85
+ "keyvaultReferenceIdentityId": None,
86
+ },
87
+ )
88
+ assert result is not None
89
+
90
+ with pytest.raises(HttpResponseError):
91
+ await client.create_or_update_test(
92
+ loadtesting_test_id,
93
+ {
94
+ "description": "",
95
+ "displayName": DISPLAY_NAME + "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz",
96
+ "loadTestConfig": {
97
+ "engineSize": "m",
98
+ "engineInstances": 1,
99
+ "splitAllCSVs": False,
100
+ },
101
+ "secrets": {},
102
+ "environmentVariables": {},
103
+ "passFailCriteria": {"passFailMetrics": {}},
104
+ "keyvaultReferenceIdentityType": "SystemAssigned",
105
+ "keyvaultReferenceIdentityId": None,
106
+ },
107
+ )
108
+
109
+ @LoadtestingPowerShellPreparer()
110
+ @recorded_by_proxy_async
111
+ async def test_delete_load_test(self, loadtesting_endpoint):
112
+ set_bodiless_matcher()
113
+ await self.setup_create_load_test(loadtesting_endpoint)
114
+
115
+ client = self.create_administration_client(loadtesting_endpoint)
116
+ result = await client.delete_test(self.setup_load_test_id)
117
+ assert result is None
118
+
119
+ with pytest.raises(ResourceNotFoundError):
120
+ await client.delete_test(NON_EXISTING_RESOURCE)
121
+
122
+ @LoadtestingPowerShellPreparer()
123
+ @recorded_by_proxy_async
124
+ async def test_get_load_test(self, loadtesting_endpoint):
125
+ set_bodiless_matcher()
126
+ await self.setup_create_load_test(loadtesting_endpoint)
127
+
128
+ client = self.create_administration_client(loadtesting_endpoint)
129
+ result = await client.get_test(self.setup_load_test_id)
130
+ assert result is not None
131
+
132
+ with pytest.raises(ResourceNotFoundError):
133
+ await client.get_test(NON_EXISTING_RESOURCE)
134
+
135
+ @LoadtestingPowerShellPreparer()
136
+ @recorded_by_proxy_async
137
+ async def test_list_load_tests(self, loadtesting_endpoint):
138
+ set_bodiless_matcher()
139
+ await self.setup_create_load_test(loadtesting_endpoint)
140
+
141
+ client = self.create_administration_client(loadtesting_endpoint)
142
+ result = client.list_tests()
143
+ assert result is not None
144
+
145
+
146
+ @LoadtestingPowerShellPreparer()
147
+ @recorded_by_proxy_async
148
+ async def test_get_test_file(self, loadtesting_endpoint):
149
+ set_bodiless_matcher()
150
+ await self.setup_create_load_test(loadtesting_endpoint)
151
+ await self.setup_upload_test_file(loadtesting_endpoint)
152
+
153
+ client = self.create_administration_client(loadtesting_endpoint)
154
+ result = await client.get_test_file(self.setup_load_test_id, self.setup_file_name)
155
+ assert result is not None
156
+
157
+ with pytest.raises(ResourceNotFoundError):
158
+ await client.get_test_file(self.setup_load_test_id, "nonexistent.jmx")
159
+
160
+ @LoadtestingPowerShellPreparer()
161
+ @recorded_by_proxy_async
162
+ async def test_delete_test_file(self, loadtesting_endpoint):
163
+ set_bodiless_matcher()
164
+ await self.setup_create_load_test(loadtesting_endpoint)
165
+ await self.setup_upload_test_file(loadtesting_endpoint)
166
+
167
+ client = self.create_administration_client(loadtesting_endpoint)
168
+ result = await client.delete_test_file(self.setup_load_test_id, self.setup_file_name)
169
+ assert result is None
170
+
171
+ with pytest.raises(ResourceNotFoundError):
172
+ await client.delete_test_file(self.setup_load_test_id, "nonexistent.jmx")
173
+
174
+
175
+ @LoadtestingPowerShellPreparer()
176
+ @recorded_by_proxy_async
177
+ async def list_test_files(self, loadtesting_endpoint):
178
+ set_bodiless_matcher()
179
+ await self.setup_create_load_test(loadtesting_endpoint)
180
+ await self.setup_upload_test_file(loadtesting_endpoint)
181
+
182
+ client = self.create_administration_client(loadtesting_endpoint)
183
+ result = await client.list_test_files(self.setup_load_test_id)
184
+ assert result is not None
185
+
186
+ with pytest.raises(ResourceNotFoundError):
187
+ await client.list_test_files(NON_EXISTING_RESOURCE)
188
+
189
+ @LoadtestingPowerShellPreparer()
190
+ @recorded_by_proxy_async
191
+ async def test_create_or_update_app_components(self, loadtesting_endpoint, loadtesting_test_id, loadtesting_resource_id):
192
+ set_bodiless_matcher()
193
+
194
+ client = self.create_administration_client(loadtesting_endpoint)
195
+ result = await client.create_or_update_app_components(
196
+ loadtesting_test_id,
197
+ {
198
+ "components":
199
+ {
200
+ loadtesting_resource_id:
201
+ {
202
+ "resourceId": loadtesting_resource_id,
203
+ "resourceName": "App-Service-Sample-Demo",
204
+ "resourceType": "Microsoft.Web/sites",
205
+ "kind": "web"
206
+ }
207
+ }
208
+ }
209
+ )
210
+ assert result is not None
211
+
212
+ with pytest.raises(ResourceNotFoundError):
213
+ await client.create_or_update_app_components(
214
+ NON_EXISTING_RESOURCE,
215
+ {
216
+ "components": {
217
+ loadtesting_resource_id: {
218
+ "resourceId": loadtesting_resource_id,
219
+ "resourceName": "App-Service-Sample-Demo",
220
+ "resourceType": "Microsoft.Web/sites",
221
+ "kind": "web",
222
+ }
223
+ }
224
+ }
225
+ )
226
+
227
+ @LoadtestingPowerShellPreparer()
228
+ @recorded_by_proxy_async
229
+ async def test_get_app_components(self, loadtesting_endpoint, loadtesting_resource_id):
230
+ set_bodiless_matcher()
231
+ await self.setup_create_load_test(loadtesting_endpoint)
232
+ await self.setup_app_components(loadtesting_endpoint, loadtesting_resource_id)
233
+
234
+ client = self.create_administration_client(loadtesting_endpoint)
235
+ result = await client.get_app_components(self.setup_load_test_id)
236
+ assert result is not None
237
+
238
+ with pytest.raises(ResourceNotFoundError):
239
+ await client.get_app_components(NON_EXISTING_RESOURCE)
240
+
241
+ @LoadtestingPowerShellPreparer()
242
+ @recorded_by_proxy_async
243
+ async def test_file_upload_poller(self, loadtesting_endpoint):
244
+ set_bodiless_matcher()
245
+ await self.setup_create_load_test(loadtesting_endpoint)
246
+
247
+ client = self.create_administration_client(loadtesting_endpoint)
248
+ poller = await client.begin_upload_test_file(self.setup_load_test_id, "sample.jmx",
249
+ open(os.path.join(Path(__file__).resolve().parent, "sample.jmx"), "rb"))
250
+
251
+ result = await poller.result()
252
+ assert poller.status() is not None
253
+ assert result is not None
254
+ assert poller.done() is True
255
+
256
+ @LoadtestingPowerShellPreparer()
257
+ @recorded_by_proxy_async
258
+ async def test_create_or_update_server_metrics_config(self, loadtesting_endpoint, loadtesting_resource_id, loadtesting_test_id):
259
+ set_bodiless_matcher()
260
+
261
+ client = self.create_administration_client(loadtesting_endpoint)
262
+ result = await client.create_or_update_server_metrics_config(
263
+ loadtesting_test_id,
264
+ {
265
+ "metrics": {
266
+ loadtesting_resource_id: {
267
+ "resourceId": loadtesting_resource_id,
268
+ "metricNamespace": "microsoft.insights/components",
269
+ "displayDescription": "sample description",
270
+ "name": "requests/duration",
271
+ "aggregation": "Average",
272
+ "unit": None,
273
+ "resourceType": "microsoft.insights/components"
274
+ }
275
+ }
276
+ }
277
+ )
278
+ assert result is not None
279
+
280
+ @LoadtestingPowerShellPreparer()
281
+ @recorded_by_proxy_async
282
+ async def test_get_server_metrics_config(self, loadtesting_endpoint, loadtesting_test_id):
283
+ set_bodiless_matcher()
284
+ client = self.create_administration_client(loadtesting_endpoint)
285
+ result = await client.get_server_metrics_config(loadtesting_test_id)
286
+ assert result is not None