Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion sdk/loadtesting/azure-developer-loadtesting/MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ include azure/developer/loadtesting/py.typed
recursive-include tests *.py
recursive-include samples *.py *.md
include azure/__init__.py
include azure/developer/__init__.py
include azure/developer/__init__.py
6 changes: 6 additions & 0 deletions sdk/loadtesting/azure-developer-loadtesting/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"commit": "f0143019cfea40b0257f746a6d512a83774e375e",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"typespec_src": "specification/loadtestservice/LoadTestService",
"@azure-tools/typespec-python": "0.44.1"
}
133 changes: 133 additions & 0 deletions sdk/loadtesting/azure-developer-loadtesting/apiview-properties.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

from ._configuration import LoadTestAdministrationClientConfiguration, LoadTestRunClientConfiguration
from ._operations import LoadTestAdministrationClientOperationsMixin, LoadTestRunClientOperationsMixin
from ._serialization import Deserializer, Serializer
from ._utils.serialization import Deserializer, Serializer

if TYPE_CHECKING:
from azure.core.credentials import TokenCredential
Expand All @@ -38,6 +38,7 @@ class LoadTestAdministrationClient(LoadTestAdministrationClientOperationsMixin):
def __init__(self, endpoint: str, credential: "TokenCredential", **kwargs: Any) -> None:
_endpoint = "https://{endpoint}"
self._config = LoadTestAdministrationClientConfiguration(endpoint=endpoint, credential=credential, **kwargs)

_policies = kwargs.pop("policies", None)
if _policies is None:
_policies = [
Expand Down Expand Up @@ -114,6 +115,7 @@ class LoadTestRunClient(LoadTestRunClientOperationsMixin):
def __init__(self, endpoint: str, credential: "TokenCredential", **kwargs: Any) -> None:
_endpoint = "https://{endpoint}"
self._config = LoadTestRunClientConfiguration(endpoint=endpoint, credential=credential, **kwargs)

_policies = kwargs.pop("policies", None)
if _policies is None:
_policies = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from collections.abc import MutableMapping
import datetime
from io import IOBase
import json
import sys
from typing import Any, Callable, Dict, IO, Iterable, List, Optional, TypeVar, Union, overload
import urllib.parse

from azure.core import PipelineClient
from azure.core.exceptions import (
ClientAuthenticationError,
HttpResponseError,
Expand All @@ -30,16 +31,13 @@
from azure.core.utils import case_insensitive_dict

from .. import models as _models
from .._model_base import SdkJSONEncoder, _deserialize
from .._serialization import Serializer
from .._configuration import LoadTestAdministrationClientConfiguration, LoadTestRunClientConfiguration
from .._utils.model_base import SdkJSONEncoder, _deserialize
from .._utils.serialization import Serializer
from .._utils.utils import ClientMixinABC
from .._validation import api_version_validation
from .._vendor import LoadTestAdministrationClientMixinABC, LoadTestRunClientMixinABC

if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing import MutableMapping # type: ignore
JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object
JSON = MutableMapping[str, Any]
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]

Expand Down Expand Up @@ -870,6 +868,7 @@ def build_load_test_run_list_test_runs_request( # pylint: disable=name-too-long
execution_to: Optional[datetime.datetime] = None,
status: Optional[str] = None,
maxpagesize: Optional[int] = None,
created_by_types: Optional[List[str]] = None,
**kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
Expand Down Expand Up @@ -897,6 +896,8 @@ def build_load_test_run_list_test_runs_request( # pylint: disable=name-too-long
_params["status"] = _SERIALIZER.query("status", status, "str")
if maxpagesize is not None:
_params["maxpagesize"] = _SERIALIZER.query("maxpagesize", maxpagesize, "int")
if created_by_types is not None:
_params["createdByTypes"] = _SERIALIZER.query("created_by_types", created_by_types, "[str]", div=",")

# Construct headers
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
Expand Down Expand Up @@ -1092,7 +1093,7 @@ def build_load_test_run_stop_test_profile_run_request( # pylint: disable=name-t


class LoadTestAdministrationClientOperationsMixin( # pylint: disable=name-too-long
LoadTestAdministrationClientMixinABC
ClientMixinABC[PipelineClient, LoadTestAdministrationClientConfiguration]
):

@overload
Expand Down Expand Up @@ -1851,7 +1852,7 @@ def prepare_request(next_link=None):

def extract_data(pipeline_response):
deserialized = pipeline_response.http_response.json()
list_of_elem = _deserialize(List[_models.TestFileInfo], deserialized["value"])
list_of_elem = _deserialize(List[_models.TestFileInfo], deserialized.get("value", []))
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.get("nextLink") or None, iter(list_of_elem)
Expand Down Expand Up @@ -1960,7 +1961,7 @@ def prepare_request(next_link=None):

def extract_data(pipeline_response):
deserialized = pipeline_response.http_response.json()
list_of_elem = _deserialize(List[_models.Test], deserialized["value"])
list_of_elem = _deserialize(List[_models.Test], deserialized.get("value", []))
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.get("nextLink") or None, iter(list_of_elem)
Expand Down Expand Up @@ -2556,7 +2557,7 @@ def prepare_request(next_link=None):

def extract_data(pipeline_response):
deserialized = pipeline_response.http_response.json()
list_of_elem = _deserialize(List[_models.TestProfile], deserialized["value"])
list_of_elem = _deserialize(List[_models.TestProfile], deserialized.get("value", []))
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.get("nextLink") or None, iter(list_of_elem)
Expand All @@ -2579,7 +2580,7 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)


class LoadTestRunClientOperationsMixin(LoadTestRunClientMixinABC):
class LoadTestRunClientOperationsMixin(ClientMixinABC[PipelineClient, LoadTestRunClientConfiguration]):

@overload
def _begin_test_run(
Expand Down Expand Up @@ -3399,7 +3400,7 @@ def prepare_request(next_link=None):

def extract_data(pipeline_response):
deserialized = pipeline_response.http_response.json()
list_of_elem = _deserialize(List[str], deserialized["value"])
list_of_elem = _deserialize(List[str], deserialized.get("value", []))
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.get("nextLink") or None, iter(list_of_elem)
Expand Down Expand Up @@ -3788,7 +3789,7 @@ def prepare_request(next_link=None):

def extract_data(pipeline_response):
deserialized = pipeline_response.http_response.json()
list_of_elem = _deserialize(List[_models.TimeSeriesElement], deserialized["value"])
list_of_elem = _deserialize(List[_models.TimeSeriesElement], deserialized.get("value", []))
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.get("nextLink") or None, iter(list_of_elem)
Expand All @@ -3811,6 +3812,9 @@ def get_next(next_link=None):
return ItemPaged(get_next, extract_data)

@distributed_trace
@api_version_validation(
params_added_on={"2024-07-01-preview": ["created_by_types"]},
)
def list_test_runs(
self,
*,
Expand All @@ -3820,6 +3824,7 @@ def list_test_runs(
execution_from: Optional[datetime.datetime] = None,
execution_to: Optional[datetime.datetime] = None,
status: Optional[str] = None,
created_by_types: Optional[List[str]] = None,
**kwargs: Any
) -> Iterable["_models.TestRun"]:
"""Get all test runs for the given filters.
Expand All @@ -3843,6 +3848,9 @@ def list_test_runs(
:paramtype execution_to: ~datetime.datetime
:keyword status: Comma separated list of test run status. Default value is None.
:paramtype status: str
:keyword created_by_types: Comma separated list of type of entities that have created the test
run. Default value is None.
:paramtype created_by_types: list[str]
:return: An iterator like instance of TestRun
:rtype: ~azure.core.paging.ItemPaged[~azure.developer.loadtesting.models.TestRun]
:raises ~azure.core.exceptions.HttpResponseError:
Expand Down Expand Up @@ -3872,6 +3880,7 @@ def prepare_request(next_link=None):
execution_to=execution_to,
status=status,
maxpagesize=maxpagesize,
created_by_types=created_by_types,
api_version=self._config.api_version,
headers=_headers,
params=_params,
Expand Down Expand Up @@ -3903,7 +3912,7 @@ def prepare_request(next_link=None):

def extract_data(pipeline_response):
deserialized = pipeline_response.http_response.json()
list_of_elem = _deserialize(List[_models.TestRun], deserialized["value"])
list_of_elem = _deserialize(List[_models.TestRun], deserialized.get("value", []))
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.get("nextLink") or None, iter(list_of_elem)
Expand Down Expand Up @@ -4345,7 +4354,7 @@ def prepare_request(next_link=None):

def extract_data(pipeline_response):
deserialized = pipeline_response.http_response.json()
list_of_elem = _deserialize(List[_models.TestProfileRun], deserialized["value"])
list_of_elem = _deserialize(List[_models.TestProfileRun], deserialized.get("value", []))
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.get("nextLink") or None, iter(list_of_elem)
Expand Down
Loading