diff --git a/.swagger/cloud-swagger.json b/.swagger/cloud-swagger.json index ae600114..d8636027 100644 --- a/.swagger/cloud-swagger.json +++ b/.swagger/cloud-swagger.json @@ -6222,7 +6222,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExternalIssueApiFieldSuggestionReply" + "$ref": "#/components/schemas/ExternalIssueApiFieldSuggestionIReply" } } } @@ -14916,7 +14916,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProjectShortApiResultReply" + "$ref": "#/components/schemas/ProjectShortApiResultIReply" } } } @@ -15496,99 +15496,6 @@ } } }, - "/api/v2/search/globalSearch": { - "post": { - "tags": [ - "Search" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/GlobalSearchRequest" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GlobalSearchResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ValidationProblemDetails" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - } - }, - "deprecated": true - } - }, "/api/v2/sections/{id}": { "get": { "tags": [ @@ -19577,7 +19484,7 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/GetXlsxTestPointsByTestPlanModel" + "$ref": "#/components/schemas/GetXlsxTestPointsByTestPlanApiModel" } ] } @@ -25179,17 +25086,17 @@ "content": { "text/plain": { "schema": { - "$ref": "#/components/schemas/TestStatusApiResultReply" + "$ref": "#/components/schemas/TestStatusApiResultIReply" } }, "application/json": { "schema": { - "$ref": "#/components/schemas/TestStatusApiResultReply" + "$ref": "#/components/schemas/TestStatusApiResultIReply" } }, "text/json": { "schema": { - "$ref": "#/components/schemas/TestStatusApiResultReply" + "$ref": "#/components/schemas/TestStatusApiResultIReply" } } } @@ -28648,7 +28555,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WorkflowShortApiResultReply" + "$ref": "#/components/schemas/WorkflowShortApiResultIReply" } } } @@ -29110,7 +29017,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WorkflowProjectApiResultReply" + "$ref": "#/components/schemas/WorkflowProjectApiResultIReply" } } } @@ -32953,6 +32860,76 @@ }, "additionalProperties": false }, + "AIServiceModelApiResultGroup": { + "required": [ + "data", + "key", + "totalCount" + ], + "type": "object", + "properties": { + "key": { + "allOf": [ + { + "$ref": "#/components/schemas/GroupKey" + } + ] + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AIServiceModelApiResult" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "AIServiceModelApiResultGroupedReply": { + "required": [ + "groups", + "totalCount" + ], + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AIServiceModelApiResultGroup" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "AIServiceModelApiResultIReply": { + "required": [ + "totalCount" + ], + "type": "object", + "oneOf": [ + { + "$ref": "#/components/schemas/AIServiceModelApiResultReply" + }, + { + "$ref": "#/components/schemas/AIServiceModelApiResultGroupedReply" + } + ], + "properties": { + "totalCount": { + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "additionalProperties": false + }, "AIServiceModelApiResultReply": { "required": [ "data", @@ -34091,6 +34068,7 @@ } ], "description": "Specifies an autotest outcome of the last test result to search for", + "format": "Enumeration", "nullable": true }, "lastTestResultStatusCodes": { @@ -34706,8 +34684,10 @@ }, "AutoTestProjectSettingsApiModel": { "required": [ + "archiveOutdatedTestRunsEnabled", "rerunAttemptsCount", "rerunEnabled", + "testRunsArchiveLimitEnabled", "workItemUpdatingFields" ], "type": "object", @@ -34756,18 +34736,46 @@ } ], "description": "Autotest to work item updating fields" + }, + "archiveOutdatedTestRunsEnabled": { + "type": "boolean", + "description": "Indicates whether archiving of outdated test runs is enabled for the project." + }, + "testRunsArchiveLimitEnabled": { + "type": "boolean", + "description": "Indicates whether a limit is enforced on the number of archived test runs." + }, + "testRunsRetentionPeriodDays": { + "maximum": 1000, + "minimum": 0, + "type": "integer", + "description": " The retention period in days for test runs. After this period,\noutdated test runs may be archived based on project settings", + "format": "int32", + "default": 180 + }, + "maxActiveTestRunsCount": { + "maximum": 10000, + "minimum": 0, + "type": "integer", + "description": "Maximum number of active test runs to keep. When this limit is exceeded,\nolder test runs are automatically archived", + "format": "int32", + "default": 500 } }, "additionalProperties": false }, "AutoTestProjectSettingsApiResult": { "required": [ + "archiveOutdatedTestRunsEnabled", "flakyStabilityPercentage", "flakyTestRunCount", "isFlakyAuto", + "maxActiveTestRunsCount", "projectId", "rerunAttemptsCount", "rerunEnabled", + "testRunsArchiveLimitEnabled", + "testRunsRetentionPeriodDays", "workItemUpdatingEnabled", "workItemUpdatingFields" ], @@ -34812,6 +34820,24 @@ } ], "description": "Autotest to work item updating fields" + }, + "archiveOutdatedTestRunsEnabled": { + "type": "boolean", + "description": "Indicates whether archiving of outdated test runs is enabled for the project." + }, + "testRunsArchiveLimitEnabled": { + "type": "boolean", + "description": "Indicates whether a limit is enforced on the number of archived test runs." + }, + "testRunsRetentionPeriodDays": { + "type": "integer", + "description": " The retention period in days for test runs. After this period,\noutdated test runs may be archived based on project settings", + "format": "int32" + }, + "maxActiveTestRunsCount": { + "type": "integer", + "description": "Maximum number of active test runs to keep. When this limit is exceeded,\nolder test runs are automatically archived", + "format": "int32" } }, "additionalProperties": false @@ -36673,7 +36699,8 @@ "$ref": "#/components/schemas/FailureCategory" } ], - "description": "Category type" + "description": "Category type", + "format": "Enumeration" }, "failureClassRegexes": { "type": "array", @@ -36826,7 +36853,8 @@ "$ref": "#/components/schemas/FailureCategory" } ], - "description": "Category type" + "description": "Category type", + "format": "Enumeration" }, "failureClassRegexes": { "type": "array", @@ -37207,7 +37235,8 @@ "$ref": "#/components/schemas/TestStatusApiType" } ], - "description": "Type of the status" + "description": "Type of the status", + "format": "Enumeration" }, "code": { "maxLength": 100, @@ -37264,7 +37293,8 @@ "$ref": "#/components/schemas/WorkItemEntityTypeApiModel" } ], - "description": "Type of entity associated with this work item" + "description": "Type of entity associated with this work item", + "format": "Enumeration" }, "duration": { "maximum": 86400000, @@ -37279,7 +37309,8 @@ "$ref": "#/components/schemas/WorkItemStateApiModel" } ], - "description": "Current state of the work item" + "description": "Current state of the work item", + "format": "Enumeration" }, "priority": { "allOf": [ @@ -37287,7 +37318,8 @@ "$ref": "#/components/schemas/WorkItemPriorityApiModel" } ], - "description": "Priority level assigned to the work item" + "description": "Priority level assigned to the work item", + "format": "Enumeration" }, "attributes": { "type": "object", @@ -37463,8 +37495,10 @@ "isEnabled", "isGlobal", "isRequired", + "isSystem", "name", "options", + "targets", "type" ], "type": "object", @@ -37508,6 +37542,17 @@ "isGlobal": { "type": "boolean", "description": "Indicates if the attribute is available across all projects" + }, + "isSystem": { + "type": "boolean", + "description": "Indicates if the attribute is system" + }, + "targets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Collection of the attribute targets\n\n\nDefines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans)" } }, "additionalProperties": false @@ -37599,8 +37644,10 @@ "isEnabled", "isGlobal", "isRequired", + "isSystem", "name", "options", + "targets", "type" ], "type": "object", @@ -37610,6 +37657,13 @@ "description": "Unique ID of the attribute", "format": "uuid" }, + "targets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Collection of the attribute targets\n\n\nDefines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans)" + }, "options": { "type": "array", "items": { @@ -37629,6 +37683,10 @@ "type": "boolean", "description": "Indicates if the attribute is deleted" }, + "isSystem": { + "type": "boolean", + "description": "Indicates if the attribute is system" + }, "name": { "maxLength": 255, "minLength": 0, @@ -37754,7 +37812,8 @@ "$ref": "#/components/schemas/CustomAttributeTypesEnum" } ], - "description": "Type of attribute" + "description": "Type of attribute", + "format": "Enumeration" }, "name": { "maxLength": 255, @@ -37808,7 +37867,8 @@ "$ref": "#/components/schemas/CustomAttributeTypesEnum" } ], - "description": "Type of the attribute" + "description": "Type of the attribute", + "format": "Enumeration" }, "isDeleted": { "type": "boolean", @@ -37894,8 +37954,10 @@ "isEnabled", "isGlobal", "isRequired", + "isSystem", "name", "options", + "targets", "testPlanUsage", "type", "workItemUsage" @@ -37919,6 +37981,13 @@ "description": "Unique ID of the attribute", "format": "uuid" }, + "targets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Collection of the attribute targets\n\n\nDefines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans)" + }, "options": { "type": "array", "items": { @@ -37938,6 +38007,10 @@ "type": "boolean", "description": "Indicates if the attribute is deleted" }, + "isSystem": { + "type": "boolean", + "description": "Indicates if the attribute is system" + }, "name": { "maxLength": 255, "minLength": 0, @@ -38531,6 +38604,76 @@ }, "additionalProperties": false }, + "ExternalIssueApiFieldSuggestionGroup": { + "required": [ + "data", + "key", + "totalCount" + ], + "type": "object", + "properties": { + "key": { + "allOf": [ + { + "$ref": "#/components/schemas/GroupKey" + } + ] + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExternalIssueApiFieldSuggestion" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ExternalIssueApiFieldSuggestionGroupedReply": { + "required": [ + "groups", + "totalCount" + ], + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExternalIssueApiFieldSuggestionGroup" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ExternalIssueApiFieldSuggestionIReply": { + "required": [ + "totalCount" + ], + "type": "object", + "oneOf": [ + { + "$ref": "#/components/schemas/ExternalIssueApiFieldSuggestionReply" + }, + { + "$ref": "#/components/schemas/ExternalIssueApiFieldSuggestionGroupedReply" + } + ], + "properties": { + "totalCount": { + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "additionalProperties": false + }, "ExternalIssueApiFieldSuggestionReply": { "required": [ "data", @@ -39470,7 +39613,7 @@ }, "additionalProperties": false }, - "GetXlsxTestPointsByTestPlanModel": { + "GetXlsxTestPointsByTestPlanApiModel": { "required": [ "includeAuthor", "includeAutomated", @@ -39484,7 +39627,8 @@ "includeSection", "includeSourceType", "includeStatus", - "includeTags" + "includeTags", + "order" ], "type": "object", "properties": { @@ -39535,13 +39679,28 @@ }, "nullable": true }, + "filter": { + "allOf": [ + { + "$ref": "#/components/schemas/TestPlanTestPointsSearchApiModel" + } + ], + "nullable": true + }, + "order": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Order" + } + }, "configurationIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, - "nullable": true + "nullable": true, + "deprecated": true } }, "additionalProperties": false @@ -39583,7 +39742,8 @@ "$ref": "#/components/schemas/CustomAttributeTypesEnum" } ], - "description": "Type of attribute" + "description": "Type of attribute", + "format": "Enumeration" } }, "additionalProperties": false @@ -39621,85 +39781,35 @@ }, "additionalProperties": false }, - "GlobalSearchItemResult": { + "Group": { "required": [ - "name", - "projectGlobalId", - "resourceId", - "resourceType" + "field" ], "type": "object", "properties": { - "resourceType": { + "field": { "type": "string" }, - "resourceId": { + "displayField": { "type": "string", - "format": "uuid" - }, - "globalId": { - "type": "integer", - "format": "int64", "nullable": true - }, - "name": { - "type": "string" - }, - "projectGlobalId": { - "type": "integer", - "format": "int64" } }, "additionalProperties": false }, - "GlobalSearchRequest": { + "GroupKey": { "required": [ - "query", - "skip", - "take" + "value" ], "type": "object", "properties": { - "query": { - "type": "string" - }, - "resourceType": { + "value": { "type": "string", "nullable": true }, - "take": { - "type": "integer", - "format": "int32" - }, - "skip": { - "type": "integer", - "format": "int32" - } - }, - "additionalProperties": false - }, - "GlobalSearchResponse": { - "required": [ - "availableResourceTypes", - "moreResultsAvailable", - "results" - ], - "type": "object", - "properties": { - "results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GlobalSearchItemResult" - } - }, - "moreResultsAvailable": { - "type": "boolean" - }, - "availableResourceTypes": { - "type": "array", - "items": { - "type": "string" - } + "displayValue": { + "type": "string", + "nullable": true } }, "additionalProperties": false @@ -39775,6 +39885,10 @@ ], "additionalProperties": false }, + "IJsonMapProvider": { + "type": "object", + "additionalProperties": false + }, "ImageResizeType": { "enum": [ "Crop", @@ -39784,10 +39898,19 @@ }, "Inquiry": { "required": [ + "jsonMapProvider", "order" ], "type": "object", "properties": { + "group": { + "allOf": [ + { + "$ref": "#/components/schemas/Group" + } + ], + "nullable": true + }, "filter": { "allOf": [ { @@ -41594,6 +41717,76 @@ }, "additionalProperties": false }, + "ProjectShortApiResultGroup": { + "required": [ + "data", + "key", + "totalCount" + ], + "type": "object", + "properties": { + "key": { + "allOf": [ + { + "$ref": "#/components/schemas/GroupKey" + } + ] + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectShortApiResult" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ProjectShortApiResultGroupedReply": { + "required": [ + "groups", + "totalCount" + ], + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectShortApiResultGroup" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "ProjectShortApiResultIReply": { + "required": [ + "totalCount" + ], + "type": "object", + "oneOf": [ + { + "$ref": "#/components/schemas/ProjectShortApiResultReply" + }, + { + "$ref": "#/components/schemas/ProjectShortApiResultGroupedReply" + } + ], + "properties": { + "totalCount": { + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "additionalProperties": false + }, "ProjectShortApiResultReply": { "required": [ "data", @@ -49502,6 +49695,76 @@ }, "additionalProperties": false }, + "TestStatusApiResultGroup": { + "required": [ + "data", + "key", + "totalCount" + ], + "type": "object", + "properties": { + "key": { + "allOf": [ + { + "$ref": "#/components/schemas/GroupKey" + } + ] + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TestStatusApiResult" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "TestStatusApiResultGroupedReply": { + "required": [ + "groups", + "totalCount" + ], + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TestStatusApiResultGroup" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "TestStatusApiResultIReply": { + "required": [ + "totalCount" + ], + "type": "object", + "oneOf": [ + { + "$ref": "#/components/schemas/TestStatusApiResultReply" + }, + { + "$ref": "#/components/schemas/TestStatusApiResultGroupedReply" + } + ], + "properties": { + "totalCount": { + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "additionalProperties": false + }, "TestStatusApiResultReply": { "required": [ "data", @@ -50382,7 +50645,8 @@ "$ref": "#/components/schemas/FailureCategory" } ], - "description": "Category type" + "description": "Category type", + "format": "Enumeration" }, "failureClassRegexes": { "type": "array", @@ -50428,7 +50692,8 @@ "$ref": "#/components/schemas/FailureCategory" } ], - "description": "Category type" + "description": "Category type", + "format": "Enumeration" }, "failureClassRegexes": { "type": "array", @@ -50908,7 +51173,8 @@ "$ref": "#/components/schemas/WorkItemStateApiModel" } ], - "description": "Current state of the work item" + "description": "Current state of the work item", + "format": "Enumeration" }, "priority": { "allOf": [ @@ -50916,7 +51182,8 @@ "$ref": "#/components/schemas/WorkItemPriorityApiModel" } ], - "description": "Priority level assigned to the work item" + "description": "Priority level assigned to the work item", + "format": "Enumeration" }, "attributes": { "type": "object", @@ -51347,7 +51614,8 @@ "$ref": "#/components/schemas/WebHookEventTypeModel" } ], - "description": "Type of event which triggers the webhook" + "description": "Type of event which triggers the webhook", + "format": "Enumeration" }, "description": { "type": "string", @@ -51365,7 +51633,8 @@ "$ref": "#/components/schemas/RequestTypeModel" } ], - "description": "Request method of the webhook" + "description": "Request method of the webhook", + "format": "Enumeration" }, "shouldSendBody": { "type": "boolean", @@ -51428,7 +51697,8 @@ "$ref": "#/components/schemas/RequestTypeModel" } ], - "description": "Request method of the webhook" + "description": "Request method of the webhook", + "format": "Enumeration" }, "url": { "minLength": 1, @@ -53010,7 +53280,8 @@ { "$ref": "#/components/schemas/WorkItemGroupType" } - ] + ], + "format": "Enumeration" }, "customAttributeId": { "type": "string", @@ -53627,7 +53898,8 @@ { "$ref": "#/components/schemas/WorkItemTypeModel" } - ] + ], + "format": "Enumeration" }, "isAutomated": { "title": "Flag that defines if workitem is automated", @@ -53747,21 +54019,24 @@ { "$ref": "#/components/schemas/WorkItemStates" } - ] + ], + "format": "Enumeration" }, "priority": { "allOf": [ { "$ref": "#/components/schemas/WorkItemPriorityModel" } - ] + ], + "format": "Enumeration" }, "sourceType": { "allOf": [ { "$ref": "#/components/schemas/WorkItemSourceTypeModel" } - ] + ], + "format": "Enumeration" }, "steps": { "title": "Collection of workitem steps", @@ -54921,6 +55196,76 @@ }, "additionalProperties": false }, + "WorkflowProjectApiResultGroup": { + "required": [ + "data", + "key", + "totalCount" + ], + "type": "object", + "properties": { + "key": { + "allOf": [ + { + "$ref": "#/components/schemas/GroupKey" + } + ] + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkflowProjectApiResult" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "WorkflowProjectApiResultGroupedReply": { + "required": [ + "groups", + "totalCount" + ], + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkflowProjectApiResultGroup" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "WorkflowProjectApiResultIReply": { + "required": [ + "totalCount" + ], + "type": "object", + "oneOf": [ + { + "$ref": "#/components/schemas/WorkflowProjectApiResultReply" + }, + { + "$ref": "#/components/schemas/WorkflowProjectApiResultGroupedReply" + } + ], + "properties": { + "totalCount": { + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "additionalProperties": false + }, "WorkflowProjectApiResultReply": { "required": [ "data", @@ -54994,6 +55339,76 @@ }, "additionalProperties": false }, + "WorkflowShortApiResultGroup": { + "required": [ + "data", + "key", + "totalCount" + ], + "type": "object", + "properties": { + "key": { + "allOf": [ + { + "$ref": "#/components/schemas/GroupKey" + } + ] + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkflowShortApiResult" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "WorkflowShortApiResultGroupedReply": { + "required": [ + "groups", + "totalCount" + ], + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkflowShortApiResultGroup" + } + }, + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "WorkflowShortApiResultIReply": { + "required": [ + "totalCount" + ], + "type": "object", + "oneOf": [ + { + "$ref": "#/components/schemas/WorkflowShortApiResultReply" + }, + { + "$ref": "#/components/schemas/WorkflowShortApiResultGroupedReply" + } + ], + "properties": { + "totalCount": { + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "additionalProperties": false + }, "WorkflowShortApiResultReply": { "required": [ "data", @@ -55174,9 +55589,6 @@ { "name": "Projects" }, - { - "name": "Search" - }, { "name": "Sections" }, diff --git a/README.md b/README.md index 39234d0d..9077a4d9 100644 --- a/README.md +++ b/README.md @@ -220,7 +220,6 @@ Class | Method | HTTP request | Description *ProjectsApi* | [**get_test_plans_by_project_id**](docs/ProjectsApi.md#get_test_plans_by_project_id) | **GET** /api/v2/projects/{id}/testPlans | Get project test plans *ProjectsApi* | [**get_test_runs_by_project_id**](docs/ProjectsApi.md#get_test_runs_by_project_id) | **GET** /api/v2/projects/{id}/testRuns | Get project test runs *ProjectsApi* | [**update_project**](docs/ProjectsApi.md#update_project) | **PUT** /api/v2/projects | Update project -*SearchApi* | [**api_v2_search_global_search_post**](docs/SearchApi.md#api_v2_search_global_search_post) | **POST** /api/v2/search/globalSearch | *SectionsApi* | [**api_v2_sections_id_patch**](docs/SectionsApi.md#api_v2_sections_id_patch) | **PATCH** /api/v2/sections/{id} | Patch section *SectionsApi* | [**create_section**](docs/SectionsApi.md#create_section) | **POST** /api/v2/sections | Create section *SectionsApi* | [**delete_section**](docs/SectionsApi.md#delete_section) | **DELETE** /api/v2/sections/{id} | Delete section @@ -390,6 +389,10 @@ Class | Method | HTTP request | Description ## Documentation For Models - [AIServiceModelApiResult](docs/AIServiceModelApiResult.md) + - [AIServiceModelApiResultGroup](docs/AIServiceModelApiResultGroup.md) + - [AIServiceModelApiResultGroupKey](docs/AIServiceModelApiResultGroupKey.md) + - [AIServiceModelApiResultGroupedReply](docs/AIServiceModelApiResultGroupedReply.md) + - [AIServiceModelApiResultIReply](docs/AIServiceModelApiResultIReply.md) - [AIServiceModelApiResultReply](docs/AIServiceModelApiResultReply.md) - [ActionUpdate](docs/ActionUpdate.md) - [ApiExternalServiceCategory](docs/ApiExternalServiceCategory.md) @@ -425,7 +428,6 @@ Class | Method | HTTP request | Description - [ApiV2ProjectsRestoreBulkPostRequest](docs/ApiV2ProjectsRestoreBulkPostRequest.md) - [ApiV2ProjectsSearchPostRequest](docs/ApiV2ProjectsSearchPostRequest.md) - [ApiV2ProjectsShortsPostRequest](docs/ApiV2ProjectsShortsPostRequest.md) - - [ApiV2SearchGlobalSearchPostRequest](docs/ApiV2SearchGlobalSearchPostRequest.md) - [ApiV2TagsDeleteRequest](docs/ApiV2TagsDeleteRequest.md) - [ApiV2TagsPostRequest](docs/ApiV2TagsPostRequest.md) - [ApiV2TagsPutRequest](docs/ApiV2TagsPutRequest.md) @@ -635,6 +637,9 @@ Class | Method | HTTP request | Description - [ExternalIssueApiField](docs/ExternalIssueApiField.md) - [ExternalIssueApiFieldSuggestion](docs/ExternalIssueApiFieldSuggestion.md) - [ExternalIssueApiFieldSuggestionExternalService](docs/ExternalIssueApiFieldSuggestionExternalService.md) + - [ExternalIssueApiFieldSuggestionGroup](docs/ExternalIssueApiFieldSuggestionGroup.md) + - [ExternalIssueApiFieldSuggestionGroupedReply](docs/ExternalIssueApiFieldSuggestionGroupedReply.md) + - [ExternalIssueApiFieldSuggestionIReply](docs/ExternalIssueApiFieldSuggestionIReply.md) - [ExternalIssueApiFieldSuggestionReply](docs/ExternalIssueApiFieldSuggestionReply.md) - [ExternalIssueApiMetadata](docs/ExternalIssueApiMetadata.md) - [ExternalIssueApiMetadataPriority](docs/ExternalIssueApiMetadataPriority.md) @@ -676,12 +681,11 @@ Class | Method | HTTP request | Description - [GetExternalIssueSuggestionsApiModel](docs/GetExternalIssueSuggestionsApiModel.md) - [GetExternalIssueSuggestionsApiModelInquiry](docs/GetExternalIssueSuggestionsApiModelInquiry.md) - [GetShortProjectsApiModel](docs/GetShortProjectsApiModel.md) - - [GetXlsxTestPointsByTestPlanModel](docs/GetXlsxTestPointsByTestPlanModel.md) + - [GetXlsxTestPointsByTestPlanApiModel](docs/GetXlsxTestPointsByTestPlanApiModel.md) - [GlobalCustomAttributePostModel](docs/GlobalCustomAttributePostModel.md) - [GlobalCustomAttributeUpdateModel](docs/GlobalCustomAttributeUpdateModel.md) - - [GlobalSearchItemResult](docs/GlobalSearchItemResult.md) - - [GlobalSearchRequest](docs/GlobalSearchRequest.md) - - [GlobalSearchResponse](docs/GlobalSearchResponse.md) + - [Group](docs/Group.md) + - [GroupKey](docs/GroupKey.md) - [GuidChangedFieldViewModel](docs/GuidChangedFieldViewModel.md) - [GuidExtractionModel](docs/GuidExtractionModel.md) - [GuidNullableChangedFieldViewModel](docs/GuidNullableChangedFieldViewModel.md) @@ -756,6 +760,9 @@ Class | Method | HTTP request | Description - [ProjectNameApiResult](docs/ProjectNameApiResult.md) - [ProjectSelectModel](docs/ProjectSelectModel.md) - [ProjectShortApiResult](docs/ProjectShortApiResult.md) + - [ProjectShortApiResultGroup](docs/ProjectShortApiResultGroup.md) + - [ProjectShortApiResultGroupedReply](docs/ProjectShortApiResultGroupedReply.md) + - [ProjectShortApiResultIReply](docs/ProjectShortApiResultIReply.md) - [ProjectShortApiResultReply](docs/ProjectShortApiResultReply.md) - [ProjectShortestModel](docs/ProjectShortestModel.md) - [ProjectTestPlansFilterModel](docs/ProjectTestPlansFilterModel.md) @@ -967,6 +974,9 @@ Class | Method | HTTP request | Description - [TestRunTestResultsSelectModelTestResultIdsExtractionModel](docs/TestRunTestResultsSelectModelTestResultIdsExtractionModel.md) - [TestRunV2ApiResult](docs/TestRunV2ApiResult.md) - [TestStatusApiResult](docs/TestStatusApiResult.md) + - [TestStatusApiResultGroup](docs/TestStatusApiResultGroup.md) + - [TestStatusApiResultGroupedReply](docs/TestStatusApiResultGroupedReply.md) + - [TestStatusApiResultIReply](docs/TestStatusApiResultIReply.md) - [TestStatusApiResultReply](docs/TestStatusApiResultReply.md) - [TestStatusApiType](docs/TestStatusApiType.md) - [TestStatusModel](docs/TestStatusModel.md) @@ -1126,8 +1136,14 @@ Class | Method | HTTP request | Description - [WorkflowExistsByNameApiResult](docs/WorkflowExistsByNameApiResult.md) - [WorkflowProjectApiResult](docs/WorkflowProjectApiResult.md) - [WorkflowProjectApiResultApiCollectionPreview](docs/WorkflowProjectApiResultApiCollectionPreview.md) + - [WorkflowProjectApiResultGroup](docs/WorkflowProjectApiResultGroup.md) + - [WorkflowProjectApiResultGroupedReply](docs/WorkflowProjectApiResultGroupedReply.md) + - [WorkflowProjectApiResultIReply](docs/WorkflowProjectApiResultIReply.md) - [WorkflowProjectApiResultReply](docs/WorkflowProjectApiResultReply.md) - [WorkflowShortApiResult](docs/WorkflowShortApiResult.md) + - [WorkflowShortApiResultGroup](docs/WorkflowShortApiResultGroup.md) + - [WorkflowShortApiResultGroupedReply](docs/WorkflowShortApiResultGroupedReply.md) + - [WorkflowShortApiResultIReply](docs/WorkflowShortApiResultIReply.md) - [WorkflowShortApiResultProjects](docs/WorkflowShortApiResultProjects.md) - [WorkflowShortApiResultReply](docs/WorkflowShortApiResultReply.md) - [WorkflowStatusApiModel](docs/WorkflowStatusApiModel.md) diff --git a/docs/AIServiceModelApiResultGroup.md b/docs/AIServiceModelApiResultGroup.md new file mode 100644 index 00000000..f9fa4121 --- /dev/null +++ b/docs/AIServiceModelApiResultGroup.md @@ -0,0 +1,13 @@ +# AIServiceModelApiResultGroup + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | [**AIServiceModelApiResultGroupKey**](AIServiceModelApiResultGroupKey.md) | | +**data** | [**[AIServiceModelApiResult]**](AIServiceModelApiResult.md) | | +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2SearchGlobalSearchPostRequest.md b/docs/AIServiceModelApiResultGroupKey.md similarity index 72% rename from docs/ApiV2SearchGlobalSearchPostRequest.md rename to docs/AIServiceModelApiResultGroupKey.md index 92dd0fea..5fa48cec 100644 --- a/docs/ApiV2SearchGlobalSearchPostRequest.md +++ b/docs/AIServiceModelApiResultGroupKey.md @@ -1,13 +1,11 @@ -# ApiV2SearchGlobalSearchPostRequest +# AIServiceModelApiResultGroupKey ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**query** | **str** | | -**take** | **int** | | -**skip** | **int** | | -**resource_type** | **str, none_type** | | [optional] +**value** | **str, none_type** | | +**display_value** | **str, none_type** | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GlobalSearchResponse.md b/docs/AIServiceModelApiResultGroupedReply.md similarity index 58% rename from docs/GlobalSearchResponse.md rename to docs/AIServiceModelApiResultGroupedReply.md index 20962ad4..57b379aa 100644 --- a/docs/GlobalSearchResponse.md +++ b/docs/AIServiceModelApiResultGroupedReply.md @@ -1,12 +1,11 @@ -# GlobalSearchResponse +# AIServiceModelApiResultGroupedReply ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**[GlobalSearchItemResult]**](GlobalSearchItemResult.md) | | -**more_results_available** | **bool** | | -**available_resource_types** | **[str]** | | +**groups** | [**[AIServiceModelApiResultGroup]**](AIServiceModelApiResultGroup.md) | | +**total_count** | **int** | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AIServiceModelApiResultIReply.md b/docs/AIServiceModelApiResultIReply.md new file mode 100644 index 00000000..74b3ba0b --- /dev/null +++ b/docs/AIServiceModelApiResultIReply.md @@ -0,0 +1,13 @@ +# AIServiceModelApiResultIReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | [readonly] +**data** | [**[AIServiceModelApiResult]**](AIServiceModelApiResult.md) | | +**groups** | [**[AIServiceModelApiResultGroup]**](AIServiceModelApiResultGroup.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsProjectIdSettingsAutotestsPostRequest.md b/docs/ApiV2ProjectsProjectIdSettingsAutotestsPostRequest.md index 6d1b2bb0..94771dde 100644 --- a/docs/ApiV2ProjectsProjectIdSettingsAutotestsPostRequest.md +++ b/docs/ApiV2ProjectsProjectIdSettingsAutotestsPostRequest.md @@ -7,10 +7,14 @@ Name | Type | Description | Notes **rerun_enabled** | **bool** | Auto rerun enabled | **rerun_attempts_count** | **int** | Auto rerun attempt count | **work_item_updating_fields** | [**AutoTestProjectSettingsApiModelWorkItemUpdatingFields**](AutoTestProjectSettingsApiModelWorkItemUpdatingFields.md) | | +**archive_outdated_test_runs_enabled** | **bool** | Indicates whether archiving of outdated test runs is enabled for the project. | +**test_runs_archive_limit_enabled** | **bool** | Indicates whether a limit is enforced on the number of archived test runs. | **is_flaky_auto** | **bool** | Indicates if the status \"Flaky/Stable\" sets automatically | [optional] if omitted the server will use the default value of False **flaky_stability_percentage** | **int** | Stability percentage for autotest flaky computing | [optional] if omitted the server will use the default value of 100 **flaky_test_run_count** | **int** | Last test run count for autotest flaky computing | [optional] if omitted the server will use the default value of 100 **work_item_updating_enabled** | **bool** | Autotest to work item updating enabled | [optional] if omitted the server will use the default value of False +**test_runs_retention_period_days** | **int** | The retention period in days for test runs. After this period, outdated test runs may be archived based on project settings | [optional] if omitted the server will use the default value of 180 +**max_active_test_runs_count** | **int** | Maximum number of active test runs to keep. When this limit is exceeded, older test runs are automatically archived | [optional] if omitted the server will use the default value of 500 **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/ApiV2TestPlansIdExportTestPointsXlsxPostRequest.md b/docs/ApiV2TestPlansIdExportTestPointsXlsxPostRequest.md index 1587c606..fc84e02b 100644 --- a/docs/ApiV2TestPlansIdExportTestPointsXlsxPostRequest.md +++ b/docs/ApiV2TestPlansIdExportTestPointsXlsxPostRequest.md @@ -17,7 +17,9 @@ Name | Type | Description | Notes **include_modified_by** | **bool** | | **include_tags** | **bool** | | **include_iterations** | **bool** | | +**order** | [**[Order]**](Order.md) | | **custom_attributes_ids** | **[str], none_type** | | [optional] +**filter** | [**TestPlanTestPointsSearchApiModel**](TestPlanTestPointsSearchApiModel.md) | | [optional] **configuration_ids** | **[str], none_type** | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/docs/AutoTestProjectSettingsApiModel.md b/docs/AutoTestProjectSettingsApiModel.md index 5cb2d44a..fb78bc35 100644 --- a/docs/AutoTestProjectSettingsApiModel.md +++ b/docs/AutoTestProjectSettingsApiModel.md @@ -7,10 +7,14 @@ Name | Type | Description | Notes **rerun_enabled** | **bool** | Auto rerun enabled | **rerun_attempts_count** | **int** | Auto rerun attempt count | **work_item_updating_fields** | [**AutoTestProjectSettingsApiModelWorkItemUpdatingFields**](AutoTestProjectSettingsApiModelWorkItemUpdatingFields.md) | | +**archive_outdated_test_runs_enabled** | **bool** | Indicates whether archiving of outdated test runs is enabled for the project. | +**test_runs_archive_limit_enabled** | **bool** | Indicates whether a limit is enforced on the number of archived test runs. | **is_flaky_auto** | **bool** | Indicates if the status \"Flaky/Stable\" sets automatically | [optional] if omitted the server will use the default value of False **flaky_stability_percentage** | **int** | Stability percentage for autotest flaky computing | [optional] if omitted the server will use the default value of 100 **flaky_test_run_count** | **int** | Last test run count for autotest flaky computing | [optional] if omitted the server will use the default value of 100 **work_item_updating_enabled** | **bool** | Autotest to work item updating enabled | [optional] if omitted the server will use the default value of False +**test_runs_retention_period_days** | **int** | The retention period in days for test runs. After this period, outdated test runs may be archived based on project settings | [optional] if omitted the server will use the default value of 180 +**max_active_test_runs_count** | **int** | Maximum number of active test runs to keep. When this limit is exceeded, older test runs are automatically archived | [optional] if omitted the server will use the default value of 500 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AutoTestProjectSettingsApiResult.md b/docs/AutoTestProjectSettingsApiResult.md index 18770d71..3f2b7c1a 100644 --- a/docs/AutoTestProjectSettingsApiResult.md +++ b/docs/AutoTestProjectSettingsApiResult.md @@ -12,6 +12,10 @@ Name | Type | Description | Notes **rerun_attempts_count** | **int** | Auto rerun attempt count | **work_item_updating_enabled** | **bool** | Autotest to work item updating enabled | **work_item_updating_fields** | [**AutoTestProjectSettingsApiResultWorkItemUpdatingFields**](AutoTestProjectSettingsApiResultWorkItemUpdatingFields.md) | | +**archive_outdated_test_runs_enabled** | **bool** | Indicates whether archiving of outdated test runs is enabled for the project. | +**test_runs_archive_limit_enabled** | **bool** | Indicates whether a limit is enforced on the number of archived test runs. | +**test_runs_retention_period_days** | **int** | The retention period in days for test runs. After this period, outdated test runs may be archived based on project settings | +**max_active_test_runs_count** | **int** | Maximum number of active test runs to keep. When this limit is exceeded, older test runs are automatically archived | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CustomAttributeApiResult.md b/docs/CustomAttributeApiResult.md index 9695c0a8..f6cc5a7c 100644 --- a/docs/CustomAttributeApiResult.md +++ b/docs/CustomAttributeApiResult.md @@ -12,6 +12,8 @@ Name | Type | Description | Notes **is_enabled** | **bool** | Indicates if the attribute is enabled | **is_required** | **bool** | Indicates if the attribute value is mandatory to specify | **is_global** | **bool** | Indicates if the attribute is available across all projects | +**is_system** | **bool** | Indicates if the attribute is system | +**targets** | **[str]** | Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CustomAttributeModel.md b/docs/CustomAttributeModel.md index 641303e7..2e4a22e5 100644 --- a/docs/CustomAttributeModel.md +++ b/docs/CustomAttributeModel.md @@ -5,9 +5,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | Unique ID of the attribute | +**targets** | **[str]** | Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) | **options** | [**[CustomAttributeOptionModel]**](CustomAttributeOptionModel.md) | Collection of the attribute options Available for attributes of type `options` and `multiple options` only | **type** | [**CustomAttributeTypesEnum**](CustomAttributeTypesEnum.md) | | **is_deleted** | **bool** | Indicates if the attribute is deleted | +**is_system** | **bool** | Indicates if the attribute is system | **name** | **str** | Name of the attribute | **is_enabled** | **bool** | Indicates if the attribute is enabled | **is_required** | **bool** | Indicates if the attribute value is mandatory to specify | diff --git a/docs/CustomAttributeSearchResponseModel.md b/docs/CustomAttributeSearchResponseModel.md index ade93b14..26a2f0f0 100644 --- a/docs/CustomAttributeSearchResponseModel.md +++ b/docs/CustomAttributeSearchResponseModel.md @@ -7,9 +7,11 @@ Name | Type | Description | Notes **work_item_usage** | [**[ProjectShortestModel]**](ProjectShortestModel.md) | | **test_plan_usage** | [**[ProjectShortestModel]**](ProjectShortestModel.md) | | **id** | **str** | Unique ID of the attribute | +**targets** | **[str]** | Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) | **options** | [**[CustomAttributeOptionModel]**](CustomAttributeOptionModel.md) | Collection of the attribute options Available for attributes of type `options` and `multiple options` only | **type** | [**CustomAttributeTypesEnum**](CustomAttributeTypesEnum.md) | | **is_deleted** | **bool** | Indicates if the attribute is deleted | +**is_system** | **bool** | Indicates if the attribute is system | **name** | **str** | Name of the attribute | **is_enabled** | **bool** | Indicates if the attribute is enabled | **is_required** | **bool** | Indicates if the attribute value is mandatory to specify | diff --git a/docs/ExternalIssueApiFieldSuggestionGroup.md b/docs/ExternalIssueApiFieldSuggestionGroup.md new file mode 100644 index 00000000..2c3867ef --- /dev/null +++ b/docs/ExternalIssueApiFieldSuggestionGroup.md @@ -0,0 +1,13 @@ +# ExternalIssueApiFieldSuggestionGroup + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | [**AIServiceModelApiResultGroupKey**](AIServiceModelApiResultGroupKey.md) | | +**data** | [**[ExternalIssueApiFieldSuggestion]**](ExternalIssueApiFieldSuggestion.md) | | +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GlobalSearchItemResult.md b/docs/ExternalIssueApiFieldSuggestionGroupedReply.md similarity index 57% rename from docs/GlobalSearchItemResult.md rename to docs/ExternalIssueApiFieldSuggestionGroupedReply.md index 48579c84..94e5673b 100644 --- a/docs/GlobalSearchItemResult.md +++ b/docs/ExternalIssueApiFieldSuggestionGroupedReply.md @@ -1,14 +1,11 @@ -# GlobalSearchItemResult +# ExternalIssueApiFieldSuggestionGroupedReply ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**resource_type** | **str** | | -**resource_id** | **str** | | -**name** | **str** | | -**project_global_id** | **int** | | -**global_id** | **int, none_type** | | [optional] +**groups** | [**[ExternalIssueApiFieldSuggestionGroup]**](ExternalIssueApiFieldSuggestionGroup.md) | | +**total_count** | **int** | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/ExternalIssueApiFieldSuggestionIReply.md b/docs/ExternalIssueApiFieldSuggestionIReply.md new file mode 100644 index 00000000..06090a60 --- /dev/null +++ b/docs/ExternalIssueApiFieldSuggestionIReply.md @@ -0,0 +1,13 @@ +# ExternalIssueApiFieldSuggestionIReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | [readonly] +**data** | [**[ExternalIssueApiFieldSuggestion]**](ExternalIssueApiFieldSuggestion.md) | | +**groups** | [**[ExternalIssueApiFieldSuggestionGroup]**](ExternalIssueApiFieldSuggestionGroup.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ExternalIssuesApi.md b/docs/ExternalIssuesApi.md index 60ced31a..ce91a2a3 100644 --- a/docs/ExternalIssuesApi.md +++ b/docs/ExternalIssuesApi.md @@ -8,7 +8,7 @@ Method | HTTP request | Description # **api_v2_external_issues_suggestions_post** -> ExternalIssueApiFieldSuggestionReply api_v2_external_issues_suggestions_post() +> ExternalIssueApiFieldSuggestionIReply api_v2_external_issues_suggestions_post() Returns list of suggestions from available external issues @@ -23,7 +23,7 @@ import testit_api_client from testit_api_client.api import external_issues_api from testit_api_client.model.problem_details import ProblemDetails from testit_api_client.model.api_v2_external_issues_suggestions_post_request import ApiV2ExternalIssuesSuggestionsPostRequest -from testit_api_client.model.external_issue_api_field_suggestion_reply import ExternalIssueApiFieldSuggestionReply +from testit_api_client.model.external_issue_api_field_suggestion_i_reply import ExternalIssueApiFieldSuggestionIReply from testit_api_client.model.validation_problem_details import ValidationProblemDetails from pprint import pprint # Defining the host is optional and defaults to http://localhost @@ -74,7 +74,7 @@ Name | Type | Description | Notes ### Return type -[**ExternalIssueApiFieldSuggestionReply**](ExternalIssueApiFieldSuggestionReply.md) +[**ExternalIssueApiFieldSuggestionIReply**](ExternalIssueApiFieldSuggestionIReply.md) ### Authorization diff --git a/docs/FailureCategoryGroupSearchApiModelInquiry.md b/docs/FailureCategoryGroupSearchApiModelInquiry.md index ba7f8f23..4bf2a123 100644 --- a/docs/FailureCategoryGroupSearchApiModelInquiry.md +++ b/docs/FailureCategoryGroupSearchApiModelInquiry.md @@ -6,6 +6,7 @@ Inquiry details Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **order** | [**[Order]**](Order.md) | | +**group** | [**Group**](Group.md) | | [optional] **filter** | [**CompositeFilter**](CompositeFilter.md) | | [optional] **page** | [**Page**](Page.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/docs/GetExternalIssueSuggestionsApiModelInquiry.md b/docs/GetExternalIssueSuggestionsApiModelInquiry.md index 24cd389d..03454939 100644 --- a/docs/GetExternalIssueSuggestionsApiModelInquiry.md +++ b/docs/GetExternalIssueSuggestionsApiModelInquiry.md @@ -6,6 +6,7 @@ Inquiry Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **order** | [**[Order]**](Order.md) | | +**group** | [**Group**](Group.md) | | [optional] **filter** | [**CompositeFilter**](CompositeFilter.md) | | [optional] **page** | [**Page**](Page.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/docs/GetXlsxTestPointsByTestPlanModel.md b/docs/GetXlsxTestPointsByTestPlanApiModel.md similarity index 82% rename from docs/GetXlsxTestPointsByTestPlanModel.md rename to docs/GetXlsxTestPointsByTestPlanApiModel.md index b39a1120..5c69bdd3 100644 --- a/docs/GetXlsxTestPointsByTestPlanModel.md +++ b/docs/GetXlsxTestPointsByTestPlanApiModel.md @@ -1,4 +1,4 @@ -# GetXlsxTestPointsByTestPlanModel +# GetXlsxTestPointsByTestPlanApiModel ## Properties @@ -17,7 +17,9 @@ Name | Type | Description | Notes **include_modified_by** | **bool** | | **include_tags** | **bool** | | **include_iterations** | **bool** | | +**order** | [**[Order]**](Order.md) | | **custom_attributes_ids** | **[str], none_type** | | [optional] +**filter** | [**TestPlanTestPointsSearchApiModel**](TestPlanTestPointsSearchApiModel.md) | | [optional] **configuration_ids** | **[str], none_type** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GlobalSearchRequest.md b/docs/Group.md similarity index 64% rename from docs/GlobalSearchRequest.md rename to docs/Group.md index d95ce29d..6fcdf0ab 100644 --- a/docs/GlobalSearchRequest.md +++ b/docs/Group.md @@ -1,13 +1,11 @@ -# GlobalSearchRequest +# Group ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**query** | **str** | | -**take** | **int** | | -**skip** | **int** | | -**resource_type** | **str, none_type** | | [optional] +**field** | **str** | | +**display_field** | **str, none_type** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GroupKey.md b/docs/GroupKey.md new file mode 100644 index 00000000..6bb52c1b --- /dev/null +++ b/docs/GroupKey.md @@ -0,0 +1,12 @@ +# GroupKey + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **str, none_type** | | +**display_value** | **str, none_type** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Inquiry.md b/docs/Inquiry.md index e45d7f91..6c075ca9 100644 --- a/docs/Inquiry.md +++ b/docs/Inquiry.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **order** | [**[Order]**](Order.md) | | +**group** | [**Group**](Group.md) | | [optional] **filter** | [**CompositeFilter**](CompositeFilter.md) | | [optional] **page** | [**Page**](Page.md) | | [optional] diff --git a/docs/ProjectShortApiResultGroup.md b/docs/ProjectShortApiResultGroup.md new file mode 100644 index 00000000..fc6d00f8 --- /dev/null +++ b/docs/ProjectShortApiResultGroup.md @@ -0,0 +1,13 @@ +# ProjectShortApiResultGroup + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | [**AIServiceModelApiResultGroupKey**](AIServiceModelApiResultGroupKey.md) | | +**data** | [**[ProjectShortApiResult]**](ProjectShortApiResult.md) | | +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProjectShortApiResultGroupedReply.md b/docs/ProjectShortApiResultGroupedReply.md new file mode 100644 index 00000000..9bcb073d --- /dev/null +++ b/docs/ProjectShortApiResultGroupedReply.md @@ -0,0 +1,12 @@ +# ProjectShortApiResultGroupedReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**groups** | [**[ProjectShortApiResultGroup]**](ProjectShortApiResultGroup.md) | | +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProjectShortApiResultIReply.md b/docs/ProjectShortApiResultIReply.md new file mode 100644 index 00000000..7480b8f4 --- /dev/null +++ b/docs/ProjectShortApiResultIReply.md @@ -0,0 +1,13 @@ +# ProjectShortApiResultIReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | [readonly] +**data** | [**[ProjectShortApiResult]**](ProjectShortApiResult.md) | | +**groups** | [**[ProjectShortApiResultGroup]**](ProjectShortApiResultGroup.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProjectsApi.md b/docs/ProjectsApi.md index efafe251..c957114e 100644 --- a/docs/ProjectsApi.md +++ b/docs/ProjectsApi.md @@ -1582,7 +1582,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **api_v2_projects_shorts_post** -> ProjectShortApiResultReply api_v2_projects_shorts_post() +> ProjectShortApiResultIReply api_v2_projects_shorts_post() Get projects short models @@ -1597,7 +1597,7 @@ Get projects short models import time import testit_api_client from testit_api_client.api import projects_api -from testit_api_client.model.project_short_api_result_reply import ProjectShortApiResultReply +from testit_api_client.model.project_short_api_result_i_reply import ProjectShortApiResultIReply from testit_api_client.model.api_v2_projects_shorts_post_request import ApiV2ProjectsShortsPostRequest from testit_api_client.model.problem_details import ProblemDetails from testit_api_client.model.validation_problem_details import ValidationProblemDetails @@ -1650,7 +1650,7 @@ Name | Type | Description | Notes ### Return type -[**ProjectShortApiResultReply**](ProjectShortApiResultReply.md) +[**ProjectShortApiResultIReply**](ProjectShortApiResultIReply.md) ### Authorization diff --git a/docs/SearchApi.md b/docs/SearchApi.md deleted file mode 100644 index a95b4629..00000000 --- a/docs/SearchApi.md +++ /dev/null @@ -1,101 +0,0 @@ -# testit_api_client.SearchApi - -All URIs are relative to *http://localhost* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**api_v2_search_global_search_post**](SearchApi.md#api_v2_search_global_search_post) | **POST** /api/v2/search/globalSearch | - - -# **api_v2_search_global_search_post** -> GlobalSearchResponse api_v2_search_global_search_post() - - - -### Example - -* Api Key Authentication (PrivateToken): -* Api Key Authentication (Identity.Application): - -```python -import time -import testit_api_client -from testit_api_client.api import search_api -from testit_api_client.model.global_search_response import GlobalSearchResponse -from testit_api_client.model.problem_details import ProblemDetails -from testit_api_client.model.api_v2_search_global_search_post_request import ApiV2SearchGlobalSearchPostRequest -from testit_api_client.model.validation_problem_details import ValidationProblemDetails -from pprint import pprint -# Defining the host is optional and defaults to http://localhost -# See configuration.py for a list of all supported configuration parameters. -configuration = testit_api_client.Configuration( - host = "http://localhost" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: PrivateToken -configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['PrivateToken'] = 'Bearer' - -# Configure API key authorization: Identity.Application -configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['Identity.Application'] = 'Bearer' - -# Enter a context with an instance of the API client -with testit_api_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = search_api.SearchApi(api_client) - api_v2_search_global_search_post_request = ApiV2SearchGlobalSearchPostRequest(None) # ApiV2SearchGlobalSearchPostRequest | (optional) - - # example passing only required values which don't have defaults set - # and optional values - try: - api_response = api_instance.api_v2_search_global_search_post(api_v2_search_global_search_post_request=api_v2_search_global_search_post_request) - pprint(api_response) - except testit_api_client.ApiException as e: - print("Exception when calling SearchApi->api_v2_search_global_search_post: %s\n" % e) -``` - - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **api_v2_search_global_search_post_request** | [**ApiV2SearchGlobalSearchPostRequest**](ApiV2SearchGlobalSearchPostRequest.md)| | [optional] - -### Return type - -[**GlobalSearchResponse**](GlobalSearchResponse.md) - -### Authorization - -[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | OK | - | -**400** | Bad Request | - | -**401** | Unauthorized | - | -**403** | Forbidden | - | -**404** | Not Found | - | -**409** | Conflict | - | -**422** | Unprocessable Entity | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/docs/TestStatusApiResultGroup.md b/docs/TestStatusApiResultGroup.md new file mode 100644 index 00000000..b4fde5ea --- /dev/null +++ b/docs/TestStatusApiResultGroup.md @@ -0,0 +1,13 @@ +# TestStatusApiResultGroup + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | [**AIServiceModelApiResultGroupKey**](AIServiceModelApiResultGroupKey.md) | | +**data** | [**[TestStatusApiResult]**](TestStatusApiResult.md) | | +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TestStatusApiResultGroupedReply.md b/docs/TestStatusApiResultGroupedReply.md new file mode 100644 index 00000000..17f3a501 --- /dev/null +++ b/docs/TestStatusApiResultGroupedReply.md @@ -0,0 +1,12 @@ +# TestStatusApiResultGroupedReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**groups** | [**[TestStatusApiResultGroup]**](TestStatusApiResultGroup.md) | | +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TestStatusApiResultIReply.md b/docs/TestStatusApiResultIReply.md new file mode 100644 index 00000000..9f22309f --- /dev/null +++ b/docs/TestStatusApiResultIReply.md @@ -0,0 +1,13 @@ +# TestStatusApiResultIReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | [readonly] +**data** | [**[TestStatusApiResult]**](TestStatusApiResult.md) | | +**groups** | [**[TestStatusApiResultGroup]**](TestStatusApiResultGroup.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TestStatusesApi.md b/docs/TestStatusesApi.md index 08c9c04c..890f8385 100644 --- a/docs/TestStatusesApi.md +++ b/docs/TestStatusesApi.md @@ -560,7 +560,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **api_v2_test_statuses_search_post** -> TestStatusApiResultReply api_v2_test_statuses_search_post() +> TestStatusApiResultIReply api_v2_test_statuses_search_post() @@ -574,8 +574,8 @@ import time import testit_api_client from testit_api_client.api import test_statuses_api from testit_api_client.model.api_v2_test_statuses_search_post_request import ApiV2TestStatusesSearchPostRequest +from testit_api_client.model.test_status_api_result_i_reply import TestStatusApiResultIReply from testit_api_client.model.problem_details import ProblemDetails -from testit_api_client.model.test_status_api_result_reply import TestStatusApiResultReply from testit_api_client.model.validation_problem_details import ValidationProblemDetails from pprint import pprint # Defining the host is optional and defaults to http://localhost @@ -625,7 +625,7 @@ Name | Type | Description | Notes ### Return type -[**TestStatusApiResultReply**](TestStatusApiResultReply.md) +[**TestStatusApiResultIReply**](TestStatusApiResultIReply.md) ### Authorization diff --git a/docs/WorkflowProjectApiResultGroup.md b/docs/WorkflowProjectApiResultGroup.md new file mode 100644 index 00000000..d1e7e2bb --- /dev/null +++ b/docs/WorkflowProjectApiResultGroup.md @@ -0,0 +1,13 @@ +# WorkflowProjectApiResultGroup + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | [**AIServiceModelApiResultGroupKey**](AIServiceModelApiResultGroupKey.md) | | +**data** | [**[WorkflowProjectApiResult]**](WorkflowProjectApiResult.md) | | +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WorkflowProjectApiResultGroupedReply.md b/docs/WorkflowProjectApiResultGroupedReply.md new file mode 100644 index 00000000..c4cc9053 --- /dev/null +++ b/docs/WorkflowProjectApiResultGroupedReply.md @@ -0,0 +1,12 @@ +# WorkflowProjectApiResultGroupedReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**groups** | [**[WorkflowProjectApiResultGroup]**](WorkflowProjectApiResultGroup.md) | | +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WorkflowProjectApiResultIReply.md b/docs/WorkflowProjectApiResultIReply.md new file mode 100644 index 00000000..c0843c94 --- /dev/null +++ b/docs/WorkflowProjectApiResultIReply.md @@ -0,0 +1,13 @@ +# WorkflowProjectApiResultIReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | [readonly] +**data** | [**[WorkflowProjectApiResult]**](WorkflowProjectApiResult.md) | | +**groups** | [**[WorkflowProjectApiResultGroup]**](WorkflowProjectApiResultGroup.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WorkflowShortApiResultGroup.md b/docs/WorkflowShortApiResultGroup.md new file mode 100644 index 00000000..974be841 --- /dev/null +++ b/docs/WorkflowShortApiResultGroup.md @@ -0,0 +1,13 @@ +# WorkflowShortApiResultGroup + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | [**AIServiceModelApiResultGroupKey**](AIServiceModelApiResultGroupKey.md) | | +**data** | [**[WorkflowShortApiResult]**](WorkflowShortApiResult.md) | | +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WorkflowShortApiResultGroupedReply.md b/docs/WorkflowShortApiResultGroupedReply.md new file mode 100644 index 00000000..fc882824 --- /dev/null +++ b/docs/WorkflowShortApiResultGroupedReply.md @@ -0,0 +1,12 @@ +# WorkflowShortApiResultGroupedReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**groups** | [**[WorkflowShortApiResultGroup]**](WorkflowShortApiResultGroup.md) | | +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WorkflowShortApiResultIReply.md b/docs/WorkflowShortApiResultIReply.md new file mode 100644 index 00000000..93214f89 --- /dev/null +++ b/docs/WorkflowShortApiResultIReply.md @@ -0,0 +1,13 @@ +# WorkflowShortApiResultIReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | [readonly] +**data** | [**[WorkflowShortApiResult]**](WorkflowShortApiResult.md) | | +**groups** | [**[WorkflowShortApiResultGroup]**](WorkflowShortApiResultGroup.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WorkflowsApi.md b/docs/WorkflowsApi.md index d88c4a0d..069151d3 100644 --- a/docs/WorkflowsApi.md +++ b/docs/WorkflowsApi.md @@ -300,7 +300,7 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **api_v2_workflows_id_projects_search_post** -> WorkflowProjectApiResultReply api_v2_workflows_id_projects_search_post(id) +> WorkflowProjectApiResultIReply api_v2_workflows_id_projects_search_post(id) @@ -314,7 +314,7 @@ import time import testit_api_client from testit_api_client.api import workflows_api from testit_api_client.model.problem_details import ProblemDetails -from testit_api_client.model.workflow_project_api_result_reply import WorkflowProjectApiResultReply +from testit_api_client.model.workflow_project_api_result_i_reply import WorkflowProjectApiResultIReply from testit_api_client.model.api_v2_workflows_id_projects_search_post_request import ApiV2WorkflowsIdProjectsSearchPostRequest from testit_api_client.model.validation_problem_details import ValidationProblemDetails from pprint import pprint @@ -374,7 +374,7 @@ Name | Type | Description | Notes ### Return type -[**WorkflowProjectApiResultReply**](WorkflowProjectApiResultReply.md) +[**WorkflowProjectApiResultIReply**](WorkflowProjectApiResultIReply.md) ### Authorization @@ -681,7 +681,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **api_v2_workflows_search_post** -> WorkflowShortApiResultReply api_v2_workflows_search_post() +> WorkflowShortApiResultIReply api_v2_workflows_search_post() @@ -696,7 +696,7 @@ import testit_api_client from testit_api_client.api import workflows_api from testit_api_client.model.api_v2_workflows_search_post_request import ApiV2WorkflowsSearchPostRequest from testit_api_client.model.problem_details import ProblemDetails -from testit_api_client.model.workflow_short_api_result_reply import WorkflowShortApiResultReply +from testit_api_client.model.workflow_short_api_result_i_reply import WorkflowShortApiResultIReply from testit_api_client.model.validation_problem_details import ValidationProblemDetails from pprint import pprint # Defining the host is optional and defaults to http://localhost @@ -746,7 +746,7 @@ Name | Type | Description | Notes ### Return type -[**WorkflowShortApiResultReply**](WorkflowShortApiResultReply.md) +[**WorkflowShortApiResultIReply**](WorkflowShortApiResultIReply.md) ### Authorization diff --git a/genConfig.yml b/genConfig.yml index 12fbff5b..ab626dea 100644 --- a/genConfig.yml +++ b/genConfig.yml @@ -1,4 +1,4 @@ packageName: "testit_api_client" packageUrl: "https://pypi.org/project/testit-api-client/" -packageVersion: 7.5.10 +packageVersion: 7.5.11 projectName: "testit-api-client" diff --git a/run.sh b/run.sh index 3c042579..523f54bb 100644 --- a/run.sh +++ b/run.sh @@ -2,7 +2,7 @@ # Настройка переменных FILE_NAME="cloud-swagger.json" -NEW_VERSION="7.5.10 +NEW_VERSION="7.5.11" GENERATOR="openapi-generator-cli-6.6.0.jar" if [ ! -f ".swagger/$FILE_NAME" ]; then diff --git a/setup.py b/setup.py index 95d97592..3f7ecc91 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ NAME = "testit-api-client" -VERSION = "7.5.10" +VERSION = "7.5.11" PYTHON_REQUIRES = ">=3.7" REQUIRES = [ diff --git a/src/testit_api_client/__init__.py b/src/testit_api_client/__init__.py index e8833c5a..2e3d5476 100644 --- a/src/testit_api_client/__init__.py +++ b/src/testit_api_client/__init__.py @@ -10,7 +10,7 @@ """ -__version__ = "7.5.10" +__version__ = "7.5.11" # import ApiClient from testit_api_client.api_client import ApiClient diff --git a/src/testit_api_client/api/external_issues_api.py b/src/testit_api_client/api/external_issues_api.py index 2bd558b4..e1f4ad80 100644 --- a/src/testit_api_client/api/external_issues_api.py +++ b/src/testit_api_client/api/external_issues_api.py @@ -22,7 +22,7 @@ validate_and_convert_types ) from testit_api_client.model.api_v2_external_issues_suggestions_post_request import ApiV2ExternalIssuesSuggestionsPostRequest -from testit_api_client.model.external_issue_api_field_suggestion_reply import ExternalIssueApiFieldSuggestionReply +from testit_api_client.model.external_issue_api_field_suggestion_i_reply import ExternalIssueApiFieldSuggestionIReply from testit_api_client.model.problem_details import ProblemDetails from testit_api_client.model.validation_problem_details import ValidationProblemDetails @@ -40,7 +40,7 @@ def __init__(self, api_client=None): self.api_client = api_client self.api_v2_external_issues_suggestions_post_endpoint = _Endpoint( settings={ - 'response_type': (ExternalIssueApiFieldSuggestionReply,), + 'response_type': (ExternalIssueApiFieldSuggestionIReply,), 'auth': [ 'PrivateToken', 'Identity.Application' @@ -137,7 +137,7 @@ def api_v2_external_issues_suggestions_post( async_req (bool): execute request asynchronously Returns: - ExternalIssueApiFieldSuggestionReply + ExternalIssueApiFieldSuggestionIReply If the method is called asynchronously, returns the request thread. """ diff --git a/src/testit_api_client/api/projects_api.py b/src/testit_api_client/api/projects_api.py index ac84208b..a9cbe717 100644 --- a/src/testit_api_client/api/projects_api.py +++ b/src/testit_api_client/api/projects_api.py @@ -33,7 +33,7 @@ from testit_api_client.model.operation import Operation from testit_api_client.model.problem_details import ProblemDetails from testit_api_client.model.project_api_result import ProjectApiResult -from testit_api_client.model.project_short_api_result_reply import ProjectShortApiResultReply +from testit_api_client.model.project_short_api_result_i_reply import ProjectShortApiResultIReply from testit_api_client.model.test_plan_model import TestPlanModel from testit_api_client.model.test_run_api_result import TestRunApiResult from testit_api_client.model.test_run_v2_api_result import TestRunV2ApiResult @@ -1005,7 +1005,7 @@ def __init__(self, api_client=None): ) self.api_v2_projects_shorts_post_endpoint = _Endpoint( settings={ - 'response_type': (ProjectShortApiResultReply,), + 'response_type': (ProjectShortApiResultIReply,), 'auth': [ 'PrivateToken', 'Identity.Application' @@ -2942,7 +2942,7 @@ def api_v2_projects_shorts_post( async_req (bool): execute request asynchronously Returns: - ProjectShortApiResultReply + ProjectShortApiResultIReply If the method is called asynchronously, returns the request thread. """ diff --git a/src/testit_api_client/api/search_api.py b/src/testit_api_client/api/search_api.py deleted file mode 100644 index d5fbd7af..00000000 --- a/src/testit_api_client/api/search_api.py +++ /dev/null @@ -1,170 +0,0 @@ -""" - API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 - - The version of the OpenAPI document: v2.0 - Generated by: https://openapi-generator.tech -""" - - -import re # noqa: F401 -import sys # noqa: F401 - -from testit_api_client.api_client import ApiClient, Endpoint as _Endpoint -from testit_api_client.model_utils import ( # noqa: F401 - check_allowed_values, - check_validations, - date, - datetime, - file_type, - none_type, - validate_and_convert_types -) -from testit_api_client.model.api_v2_search_global_search_post_request import ApiV2SearchGlobalSearchPostRequest -from testit_api_client.model.global_search_response import GlobalSearchResponse -from testit_api_client.model.problem_details import ProblemDetails -from testit_api_client.model.validation_problem_details import ValidationProblemDetails - - -class SearchApi(object): - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None): - if api_client is None: - api_client = ApiClient() - self.api_client = api_client - self.api_v2_search_global_search_post_endpoint = _Endpoint( - settings={ - 'response_type': (GlobalSearchResponse,), - 'auth': [ - 'PrivateToken', - 'Identity.Application' - ], - 'endpoint_path': '/api/v2/search/globalSearch', - 'operation_id': 'api_v2_search_global_search_post', - 'http_method': 'POST', - 'servers': None, - }, - params_map={ - 'all': [ - 'api_v2_search_global_search_post_request', - ], - 'required': [], - 'nullable': [ - ], - 'enum': [ - ], - 'validation': [ - ] - }, - root_map={ - 'validations': { - }, - 'allowed_values': { - }, - 'openapi_types': { - 'api_v2_search_global_search_post_request': - (ApiV2SearchGlobalSearchPostRequest,), - }, - 'attribute_map': { - }, - 'location_map': { - 'api_v2_search_global_search_post_request': 'body', - }, - 'collection_format_map': { - } - }, - headers_map={ - 'accept': [ - 'application/json' - ], - 'content_type': [ - 'application/json' - ] - }, - api_client=api_client - ) - - def api_v2_search_global_search_post( - self, - **kwargs - ): - """api_v2_search_global_search_post # noqa: E501 - - This method makes a synchronous HTTP request by default. To make an - asynchronous HTTP request, please pass async_req=True - - >>> thread = api.api_v2_search_global_search_post(async_req=True) - >>> result = thread.get() - - - Keyword Args: - api_v2_search_global_search_post_request (ApiV2SearchGlobalSearchPostRequest): [optional] - _return_http_data_only (bool): response data without head status - code and headers. Default is True. - _preload_content (bool): if False, the urllib3.HTTPResponse object - will be returned without reading/decoding response data. - Default is True. - _request_timeout (int/float/tuple): timeout setting for this request. If - one number provided, it will be total request timeout. It can also - be a pair (tuple) of (connection, read) timeouts. - Default is None. - _check_input_type (bool): specifies if type checking - should be done one the data sent to the server. - Default is True. - _check_return_type (bool): specifies if type checking - should be done one the data received from the server. - Default is True. - _spec_property_naming (bool): True if the variable names in the input data - are serialized names, as specified in the OpenAPI document. - False if the variable names in the input data - are pythonic names, e.g. snake case (default) - _content_type (str/None): force body content-type. - Default is None and content-type will be predicted by allowed - content-types and body. - _host_index (int/None): specifies the index of the server - that we want to use. - Default is read from the configuration. - _request_auths (list): set to override the auth_settings for an a single - request; this effectively ignores the authentication - in the spec for a single request. - Default is None - async_req (bool): execute request asynchronously - - Returns: - GlobalSearchResponse - If the method is called asynchronously, returns the request - thread. - """ - kwargs['async_req'] = kwargs.get( - 'async_req', False - ) - kwargs['_return_http_data_only'] = kwargs.get( - '_return_http_data_only', True - ) - kwargs['_preload_content'] = kwargs.get( - '_preload_content', True - ) - kwargs['_request_timeout'] = kwargs.get( - '_request_timeout', None - ) - kwargs['_check_input_type'] = kwargs.get( - '_check_input_type', True - ) - kwargs['_check_return_type'] = kwargs.get( - '_check_return_type', True - ) - kwargs['_spec_property_naming'] = kwargs.get( - '_spec_property_naming', False - ) - kwargs['_content_type'] = kwargs.get( - '_content_type') - kwargs['_host_index'] = kwargs.get('_host_index') - kwargs['_request_auths'] = kwargs.get('_request_auths', None) - return self.api_v2_search_global_search_post_endpoint.call_with_http_info(**kwargs) - diff --git a/src/testit_api_client/api/test_statuses_api.py b/src/testit_api_client/api/test_statuses_api.py index 2d7a95c0..776d13f2 100644 --- a/src/testit_api_client/api/test_statuses_api.py +++ b/src/testit_api_client/api/test_statuses_api.py @@ -26,7 +26,7 @@ from testit_api_client.model.api_v2_test_statuses_search_post_request import ApiV2TestStatusesSearchPostRequest from testit_api_client.model.problem_details import ProblemDetails from testit_api_client.model.test_status_api_result import TestStatusApiResult -from testit_api_client.model.test_status_api_result_reply import TestStatusApiResultReply +from testit_api_client.model.test_status_api_result_i_reply import TestStatusApiResultIReply from testit_api_client.model.validation_problem_details import ValidationProblemDetails @@ -374,7 +374,7 @@ def __init__(self, api_client=None): ) self.api_v2_test_statuses_search_post_endpoint = _Endpoint( settings={ - 'response_type': (TestStatusApiResultReply,), + 'response_type': (TestStatusApiResultIReply,), 'auth': [ 'PrivateToken', 'Identity.Application' @@ -965,7 +965,7 @@ def api_v2_test_statuses_search_post( async_req (bool): execute request asynchronously Returns: - TestStatusApiResultReply + TestStatusApiResultIReply If the method is called asynchronously, returns the request thread. """ diff --git a/src/testit_api_client/api/workflows_api.py b/src/testit_api_client/api/workflows_api.py index b851b366..d4b89f4b 100644 --- a/src/testit_api_client/api/workflows_api.py +++ b/src/testit_api_client/api/workflows_api.py @@ -30,8 +30,8 @@ from testit_api_client.model.validation_problem_details import ValidationProblemDetails from testit_api_client.model.workflow_api_result import WorkflowApiResult from testit_api_client.model.workflow_exists_by_name_api_result import WorkflowExistsByNameApiResult -from testit_api_client.model.workflow_project_api_result_reply import WorkflowProjectApiResultReply -from testit_api_client.model.workflow_short_api_result_reply import WorkflowShortApiResultReply +from testit_api_client.model.workflow_project_api_result_i_reply import WorkflowProjectApiResultIReply +from testit_api_client.model.workflow_short_api_result_i_reply import WorkflowShortApiResultIReply class WorkflowsApi(object): @@ -209,7 +209,7 @@ def __init__(self, api_client=None): ) self.api_v2_workflows_id_projects_search_post_endpoint = _Endpoint( settings={ - 'response_type': (WorkflowProjectApiResultReply,), + 'response_type': (WorkflowProjectApiResultIReply,), 'auth': [ 'PrivateToken', 'Identity.Application' @@ -428,7 +428,7 @@ def __init__(self, api_client=None): ) self.api_v2_workflows_search_post_endpoint = _Endpoint( settings={ - 'response_type': (WorkflowShortApiResultReply,), + 'response_type': (WorkflowShortApiResultIReply,), 'auth': [ 'PrivateToken', 'Identity.Application' @@ -776,7 +776,7 @@ def api_v2_workflows_id_projects_search_post( async_req (bool): execute request asynchronously Returns: - WorkflowProjectApiResultReply + WorkflowProjectApiResultIReply If the method is called asynchronously, returns the request thread. """ @@ -1099,7 +1099,7 @@ def api_v2_workflows_search_post( async_req (bool): execute request asynchronously Returns: - WorkflowShortApiResultReply + WorkflowShortApiResultIReply If the method is called asynchronously, returns the request thread. """ diff --git a/src/testit_api_client/api_client.py b/src/testit_api_client/api_client.py index 06311888..05668a4c 100644 --- a/src/testit_api_client/api_client.py +++ b/src/testit_api_client/api_client.py @@ -76,7 +76,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None, self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/7.5.10/python' + self.user_agent = 'OpenAPI-Generator/7.5.11/python' def __enter__(self): return self diff --git a/src/testit_api_client/apis/__init__.py b/src/testit_api_client/apis/__init__.py index 9e5186f6..35bae8f3 100644 --- a/src/testit_api_client/apis/__init__.py +++ b/src/testit_api_client/apis/__init__.py @@ -34,7 +34,6 @@ from testit_api_client.api.project_test_plans_api import ProjectTestPlansApi from testit_api_client.api.project_work_items_api import ProjectWorkItemsApi from testit_api_client.api.projects_api import ProjectsApi -from testit_api_client.api.search_api import SearchApi from testit_api_client.api.sections_api import SectionsApi from testit_api_client.api.tags_api import TagsApi from testit_api_client.api.test_plans_api import TestPlansApi diff --git a/src/testit_api_client/configuration.py b/src/testit_api_client/configuration.py index b45f061d..bf3f86bd 100644 --- a/src/testit_api_client/configuration.py +++ b/src/testit_api_client/configuration.py @@ -422,7 +422,7 @@ def to_debug_report(self): "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: v2.0\n"\ - "SDK Package Version: 7.5.10".\ + "SDK Package Version: 7.5.11".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self): diff --git a/src/testit_api_client/model/ai_service_model_api_result_group.py b/src/testit_api_client/model/ai_service_model_api_result_group.py new file mode 100644 index 00000000..3b7f5462 --- /dev/null +++ b/src/testit_api_client/model/ai_service_model_api_result_group.py @@ -0,0 +1,282 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.ai_service_model_api_result import AIServiceModelApiResult + from testit_api_client.model.ai_service_model_api_result_group_key import AIServiceModelApiResultGroupKey + globals()['AIServiceModelApiResult'] = AIServiceModelApiResult + globals()['AIServiceModelApiResultGroupKey'] = AIServiceModelApiResultGroupKey + + +class AIServiceModelApiResultGroup(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'key': (AIServiceModelApiResultGroupKey,), # noqa: E501 + 'data': ([AIServiceModelApiResult],), # noqa: E501 + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'key': 'key', # noqa: E501 + 'data': 'data', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, key, data, total_count, *args, **kwargs): # noqa: E501 + """AIServiceModelApiResultGroup - a model defined in OpenAPI + + Args: + key (AIServiceModelApiResultGroupKey): + data ([AIServiceModelApiResult]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.key = key + self.data = data + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, key, data, total_count, *args, **kwargs): # noqa: E501 + """AIServiceModelApiResultGroup - a model defined in OpenAPI + + Args: + key (AIServiceModelApiResultGroupKey): + data ([AIServiceModelApiResult]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.key = key + self.data = data + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/api_v2_search_global_search_post_request.py b/src/testit_api_client/model/ai_service_model_api_result_group_key.py similarity index 92% rename from src/testit_api_client/model/api_v2_search_global_search_post_request.py rename to src/testit_api_client/model/ai_service_model_api_result_group_key.py index 71eebbfd..71a81334 100644 --- a/src/testit_api_client/model/api_v2_search_global_search_post_request.py +++ b/src/testit_api_client/model/ai_service_model_api_result_group_key.py @@ -30,11 +30,11 @@ def lazy_import(): - from testit_api_client.model.global_search_request import GlobalSearchRequest - globals()['GlobalSearchRequest'] = GlobalSearchRequest + from testit_api_client.model.group_key import GroupKey + globals()['GroupKey'] = GroupKey -class ApiV2SearchGlobalSearchPostRequest(ModelComposed): +class AIServiceModelApiResultGroupKey(ModelComposed): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -87,10 +87,8 @@ def openapi_types(): """ lazy_import() return { - 'query': (str,), # noqa: E501 - 'take': (int,), # noqa: E501 - 'skip': (int,), # noqa: E501 - 'resource_type': (str, none_type,), # noqa: E501 + 'value': (str, none_type,), # noqa: E501 + 'display_value': (str, none_type,), # noqa: E501 } @cached_property @@ -99,10 +97,8 @@ def discriminator(): attribute_map = { - 'query': 'query', # noqa: E501 - 'take': 'take', # noqa: E501 - 'skip': 'skip', # noqa: E501 - 'resource_type': 'resourceType', # noqa: E501 + 'value': 'value', # noqa: E501 + 'display_value': 'displayValue', # noqa: E501 } read_only_vars = { @@ -111,12 +107,10 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """ApiV2SearchGlobalSearchPostRequest - a model defined in OpenAPI + """AIServiceModelApiResultGroupKey - a model defined in OpenAPI Keyword Args: - query (str): - take (int): - skip (int): + value (str, none_type): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -147,7 +141,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - resource_type (str, none_type): [optional] # noqa: E501 + display_value (str, none_type): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -218,12 +212,10 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, *args, **kwargs): # noqa: E501 - """ApiV2SearchGlobalSearchPostRequest - a model defined in OpenAPI + """AIServiceModelApiResultGroupKey - a model defined in OpenAPI Keyword Args: - query (str): - take (int): - skip (int): + value (str, none_type): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -254,7 +246,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - resource_type (str, none_type): [optional] # noqa: E501 + display_value (str, none_type): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -324,7 +316,7 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ - GlobalSearchRequest, + GroupKey, ], 'oneOf': [ ], diff --git a/src/testit_api_client/model/ai_service_model_api_result_grouped_reply.py b/src/testit_api_client/model/ai_service_model_api_result_grouped_reply.py new file mode 100644 index 00000000..faf42a2d --- /dev/null +++ b/src/testit_api_client/model/ai_service_model_api_result_grouped_reply.py @@ -0,0 +1,274 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.ai_service_model_api_result_group import AIServiceModelApiResultGroup + globals()['AIServiceModelApiResultGroup'] = AIServiceModelApiResultGroup + + +class AIServiceModelApiResultGroupedReply(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'groups': ([AIServiceModelApiResultGroup],), # noqa: E501 + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'groups': 'groups', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, groups, total_count, *args, **kwargs): # noqa: E501 + """AIServiceModelApiResultGroupedReply - a model defined in OpenAPI + + Args: + groups ([AIServiceModelApiResultGroup]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.groups = groups + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, groups, total_count, *args, **kwargs): # noqa: E501 + """AIServiceModelApiResultGroupedReply - a model defined in OpenAPI + + Args: + groups ([AIServiceModelApiResultGroup]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.groups = groups + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/ai_service_model_api_result_i_reply.py b/src/testit_api_client/model/ai_service_model_api_result_i_reply.py new file mode 100644 index 00000000..11f68f1a --- /dev/null +++ b/src/testit_api_client/model/ai_service_model_api_result_i_reply.py @@ -0,0 +1,327 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.ai_service_model_api_result import AIServiceModelApiResult + from testit_api_client.model.ai_service_model_api_result_group import AIServiceModelApiResultGroup + from testit_api_client.model.ai_service_model_api_result_grouped_reply import AIServiceModelApiResultGroupedReply + from testit_api_client.model.ai_service_model_api_result_reply import AIServiceModelApiResultReply + globals()['AIServiceModelApiResult'] = AIServiceModelApiResult + globals()['AIServiceModelApiResultGroup'] = AIServiceModelApiResultGroup + globals()['AIServiceModelApiResultGroupedReply'] = AIServiceModelApiResultGroupedReply + globals()['AIServiceModelApiResultReply'] = AIServiceModelApiResultReply + + +class AIServiceModelApiResultIReply(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'total_count': (int,), # noqa: E501 + 'data': ([AIServiceModelApiResult],), # noqa: E501 + 'groups': ([AIServiceModelApiResultGroup],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + 'data': 'data', # noqa: E501 + 'groups': 'groups', # noqa: E501 + } + + read_only_vars = { + 'total_count', # noqa: E501 + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """AIServiceModelApiResultIReply - a model defined in OpenAPI + + Keyword Args: + total_count (int): + data ([AIServiceModelApiResult]): + groups ([AIServiceModelApiResultGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """AIServiceModelApiResultIReply - a model defined in OpenAPI + + Keyword Args: + data ([AIServiceModelApiResult]): + groups ([AIServiceModelApiResultGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + ], + 'oneOf': [ + AIServiceModelApiResultGroupedReply, + AIServiceModelApiResultReply, + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_project_id_settings_autotests_post_request.py b/src/testit_api_client/model/api_v2_projects_project_id_settings_autotests_post_request.py index eacfcd3d..e1debe9d 100644 --- a/src/testit_api_client/model/api_v2_projects_project_id_settings_autotests_post_request.py +++ b/src/testit_api_client/model/api_v2_projects_project_id_settings_autotests_post_request.py @@ -76,6 +76,14 @@ class ApiV2ProjectsProjectIdSettingsAutotestsPostRequest(ModelComposed): 'inclusive_maximum': 1000, 'inclusive_minimum': 1, }, + ('test_runs_retention_period_days',): { + 'inclusive_maximum': 1000, + 'inclusive_minimum': 0, + }, + ('max_active_test_runs_count',): { + 'inclusive_maximum': 10000, + 'inclusive_minimum': 0, + }, } @cached_property @@ -104,10 +112,14 @@ def openapi_types(): 'rerun_enabled': (bool,), # noqa: E501 'rerun_attempts_count': (int,), # noqa: E501 'work_item_updating_fields': (AutoTestProjectSettingsApiModelWorkItemUpdatingFields,), # noqa: E501 + 'archive_outdated_test_runs_enabled': (bool,), # noqa: E501 + 'test_runs_archive_limit_enabled': (bool,), # noqa: E501 'is_flaky_auto': (bool,), # noqa: E501 'flaky_stability_percentage': (int,), # noqa: E501 'flaky_test_run_count': (int,), # noqa: E501 'work_item_updating_enabled': (bool,), # noqa: E501 + 'test_runs_retention_period_days': (int,), # noqa: E501 + 'max_active_test_runs_count': (int,), # noqa: E501 } @cached_property @@ -119,10 +131,14 @@ def discriminator(): 'rerun_enabled': 'rerunEnabled', # noqa: E501 'rerun_attempts_count': 'rerunAttemptsCount', # noqa: E501 'work_item_updating_fields': 'workItemUpdatingFields', # noqa: E501 + 'archive_outdated_test_runs_enabled': 'archiveOutdatedTestRunsEnabled', # noqa: E501 + 'test_runs_archive_limit_enabled': 'testRunsArchiveLimitEnabled', # noqa: E501 'is_flaky_auto': 'isFlakyAuto', # noqa: E501 'flaky_stability_percentage': 'flakyStabilityPercentage', # noqa: E501 'flaky_test_run_count': 'flakyTestRunCount', # noqa: E501 'work_item_updating_enabled': 'workItemUpdatingEnabled', # noqa: E501 + 'test_runs_retention_period_days': 'testRunsRetentionPeriodDays', # noqa: E501 + 'max_active_test_runs_count': 'maxActiveTestRunsCount', # noqa: E501 } read_only_vars = { @@ -137,6 +153,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 rerun_enabled (bool): Auto rerun enabled rerun_attempts_count (int): Auto rerun attempt count work_item_updating_fields (AutoTestProjectSettingsApiModelWorkItemUpdatingFields): + archive_outdated_test_runs_enabled (bool): Indicates whether archiving of outdated test runs is enabled for the project. + test_runs_archive_limit_enabled (bool): Indicates whether a limit is enforced on the number of archived test runs. _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -171,6 +189,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 flaky_stability_percentage (int): Stability percentage for autotest flaky computing. [optional] if omitted the server will use the default value of 100 # noqa: E501 flaky_test_run_count (int): Last test run count for autotest flaky computing. [optional] if omitted the server will use the default value of 100 # noqa: E501 work_item_updating_enabled (bool): Autotest to work item updating enabled. [optional] if omitted the server will use the default value of False # noqa: E501 + test_runs_retention_period_days (int): The retention period in days for test runs. After this period, outdated test runs may be archived based on project settings. [optional] if omitted the server will use the default value of 180 # noqa: E501 + max_active_test_runs_count (int): Maximum number of active test runs to keep. When this limit is exceeded, older test runs are automatically archived. [optional] if omitted the server will use the default value of 500 # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -247,6 +267,8 @@ def __init__(self, *args, **kwargs): # noqa: E501 rerun_enabled (bool): Auto rerun enabled rerun_attempts_count (int): Auto rerun attempt count work_item_updating_fields (AutoTestProjectSettingsApiModelWorkItemUpdatingFields): + archive_outdated_test_runs_enabled (bool): Indicates whether archiving of outdated test runs is enabled for the project. + test_runs_archive_limit_enabled (bool): Indicates whether a limit is enforced on the number of archived test runs. _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -281,6 +303,8 @@ def __init__(self, *args, **kwargs): # noqa: E501 flaky_stability_percentage (int): Stability percentage for autotest flaky computing. [optional] if omitted the server will use the default value of 100 # noqa: E501 flaky_test_run_count (int): Last test run count for autotest flaky computing. [optional] if omitted the server will use the default value of 100 # noqa: E501 work_item_updating_enabled (bool): Autotest to work item updating enabled. [optional] if omitted the server will use the default value of False # noqa: E501 + test_runs_retention_period_days (int): The retention period in days for test runs. After this period, outdated test runs may be archived based on project settings. [optional] if omitted the server will use the default value of 180 # noqa: E501 + max_active_test_runs_count (int): Maximum number of active test runs to keep. When this limit is exceeded, older test runs are automatically archived. [optional] if omitted the server will use the default value of 500 # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/src/testit_api_client/model/api_v2_test_plans_id_export_test_points_xlsx_post_request.py b/src/testit_api_client/model/api_v2_test_plans_id_export_test_points_xlsx_post_request.py index 22728476..c94d4f80 100644 --- a/src/testit_api_client/model/api_v2_test_plans_id_export_test_points_xlsx_post_request.py +++ b/src/testit_api_client/model/api_v2_test_plans_id_export_test_points_xlsx_post_request.py @@ -30,8 +30,12 @@ def lazy_import(): - from testit_api_client.model.get_xlsx_test_points_by_test_plan_model import GetXlsxTestPointsByTestPlanModel - globals()['GetXlsxTestPointsByTestPlanModel'] = GetXlsxTestPointsByTestPlanModel + from testit_api_client.model.get_xlsx_test_points_by_test_plan_api_model import GetXlsxTestPointsByTestPlanApiModel + from testit_api_client.model.order import Order + from testit_api_client.model.test_plan_test_points_search_api_model import TestPlanTestPointsSearchApiModel + globals()['GetXlsxTestPointsByTestPlanApiModel'] = GetXlsxTestPointsByTestPlanApiModel + globals()['Order'] = Order + globals()['TestPlanTestPointsSearchApiModel'] = TestPlanTestPointsSearchApiModel class ApiV2TestPlansIdExportTestPointsXlsxPostRequest(ModelComposed): @@ -100,7 +104,9 @@ def openapi_types(): 'include_modified_by': (bool,), # noqa: E501 'include_tags': (bool,), # noqa: E501 'include_iterations': (bool,), # noqa: E501 + 'order': ([Order],), # noqa: E501 'custom_attributes_ids': ([str], none_type,), # noqa: E501 + 'filter': (TestPlanTestPointsSearchApiModel,), # noqa: E501 'configuration_ids': ([str], none_type,), # noqa: E501 } @@ -123,7 +129,9 @@ def discriminator(): 'include_modified_by': 'includeModifiedBy', # noqa: E501 'include_tags': 'includeTags', # noqa: E501 'include_iterations': 'includeIterations', # noqa: E501 + 'order': 'order', # noqa: E501 'custom_attributes_ids': 'customAttributesIds', # noqa: E501 + 'filter': 'filter', # noqa: E501 'configuration_ids': 'configurationIds', # noqa: E501 } @@ -149,6 +157,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 include_modified_by (bool): include_tags (bool): include_iterations (bool): + order ([Order]): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -180,6 +189,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) custom_attributes_ids ([str], none_type): [optional] # noqa: E501 + filter (TestPlanTestPointsSearchApiModel): [optional] # noqa: E501 configuration_ids ([str], none_type): [optional] # noqa: E501 """ @@ -267,6 +277,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 include_modified_by (bool): include_tags (bool): include_iterations (bool): + order ([Order]): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -298,6 +309,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) custom_attributes_ids ([str], none_type): [optional] # noqa: E501 + filter (TestPlanTestPointsSearchApiModel): [optional] # noqa: E501 configuration_ids ([str], none_type): [optional] # noqa: E501 """ @@ -368,7 +380,7 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ - GetXlsxTestPointsByTestPlanModel, + GetXlsxTestPointsByTestPlanApiModel, ], 'oneOf': [ ], diff --git a/src/testit_api_client/model/auto_test_project_settings_api_model.py b/src/testit_api_client/model/auto_test_project_settings_api_model.py index c42f630b..0f3db42f 100644 --- a/src/testit_api_client/model/auto_test_project_settings_api_model.py +++ b/src/testit_api_client/model/auto_test_project_settings_api_model.py @@ -74,6 +74,14 @@ class AutoTestProjectSettingsApiModel(ModelNormal): 'inclusive_maximum': 1000, 'inclusive_minimum': 1, }, + ('test_runs_retention_period_days',): { + 'inclusive_maximum': 1000, + 'inclusive_minimum': 0, + }, + ('max_active_test_runs_count',): { + 'inclusive_maximum': 10000, + 'inclusive_minimum': 0, + }, } additional_properties_type = None @@ -95,10 +103,14 @@ def openapi_types(): 'rerun_enabled': (bool,), # noqa: E501 'rerun_attempts_count': (int,), # noqa: E501 'work_item_updating_fields': (AutoTestProjectSettingsApiModelWorkItemUpdatingFields,), # noqa: E501 + 'archive_outdated_test_runs_enabled': (bool,), # noqa: E501 + 'test_runs_archive_limit_enabled': (bool,), # noqa: E501 'is_flaky_auto': (bool,), # noqa: E501 'flaky_stability_percentage': (int,), # noqa: E501 'flaky_test_run_count': (int,), # noqa: E501 'work_item_updating_enabled': (bool,), # noqa: E501 + 'test_runs_retention_period_days': (int,), # noqa: E501 + 'max_active_test_runs_count': (int,), # noqa: E501 } @cached_property @@ -110,10 +122,14 @@ def discriminator(): 'rerun_enabled': 'rerunEnabled', # noqa: E501 'rerun_attempts_count': 'rerunAttemptsCount', # noqa: E501 'work_item_updating_fields': 'workItemUpdatingFields', # noqa: E501 + 'archive_outdated_test_runs_enabled': 'archiveOutdatedTestRunsEnabled', # noqa: E501 + 'test_runs_archive_limit_enabled': 'testRunsArchiveLimitEnabled', # noqa: E501 'is_flaky_auto': 'isFlakyAuto', # noqa: E501 'flaky_stability_percentage': 'flakyStabilityPercentage', # noqa: E501 'flaky_test_run_count': 'flakyTestRunCount', # noqa: E501 'work_item_updating_enabled': 'workItemUpdatingEnabled', # noqa: E501 + 'test_runs_retention_period_days': 'testRunsRetentionPeriodDays', # noqa: E501 + 'max_active_test_runs_count': 'maxActiveTestRunsCount', # noqa: E501 } read_only_vars = { @@ -123,13 +139,15 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, rerun_enabled, rerun_attempts_count, work_item_updating_fields, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, rerun_enabled, rerun_attempts_count, work_item_updating_fields, archive_outdated_test_runs_enabled, test_runs_archive_limit_enabled, *args, **kwargs): # noqa: E501 """AutoTestProjectSettingsApiModel - a model defined in OpenAPI Args: rerun_enabled (bool): Auto rerun enabled rerun_attempts_count (int): Auto rerun attempt count work_item_updating_fields (AutoTestProjectSettingsApiModelWorkItemUpdatingFields): + archive_outdated_test_runs_enabled (bool): Indicates whether archiving of outdated test runs is enabled for the project. + test_runs_archive_limit_enabled (bool): Indicates whether a limit is enforced on the number of archived test runs. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -166,6 +184,8 @@ def _from_openapi_data(cls, rerun_enabled, rerun_attempts_count, work_item_updat flaky_stability_percentage (int): Stability percentage for autotest flaky computing. [optional] if omitted the server will use the default value of 100 # noqa: E501 flaky_test_run_count (int): Last test run count for autotest flaky computing. [optional] if omitted the server will use the default value of 100 # noqa: E501 work_item_updating_enabled (bool): Autotest to work item updating enabled. [optional] if omitted the server will use the default value of False # noqa: E501 + test_runs_retention_period_days (int): The retention period in days for test runs. After this period, outdated test runs may be archived based on project settings. [optional] if omitted the server will use the default value of 180 # noqa: E501 + max_active_test_runs_count (int): Maximum number of active test runs to keep. When this limit is exceeded, older test runs are automatically archived. [optional] if omitted the server will use the default value of 500 # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -200,6 +220,8 @@ def _from_openapi_data(cls, rerun_enabled, rerun_attempts_count, work_item_updat self.rerun_enabled = rerun_enabled self.rerun_attempts_count = rerun_attempts_count self.work_item_updating_fields = work_item_updating_fields + self.archive_outdated_test_runs_enabled = archive_outdated_test_runs_enabled + self.test_runs_archive_limit_enabled = test_runs_archive_limit_enabled for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -220,13 +242,15 @@ def _from_openapi_data(cls, rerun_enabled, rerun_attempts_count, work_item_updat ]) @convert_js_args_to_python_args - def __init__(self, rerun_enabled, rerun_attempts_count, work_item_updating_fields, *args, **kwargs): # noqa: E501 + def __init__(self, rerun_enabled, rerun_attempts_count, work_item_updating_fields, archive_outdated_test_runs_enabled, test_runs_archive_limit_enabled, *args, **kwargs): # noqa: E501 """AutoTestProjectSettingsApiModel - a model defined in OpenAPI Args: rerun_enabled (bool): Auto rerun enabled rerun_attempts_count (int): Auto rerun attempt count work_item_updating_fields (AutoTestProjectSettingsApiModelWorkItemUpdatingFields): + archive_outdated_test_runs_enabled (bool): Indicates whether archiving of outdated test runs is enabled for the project. + test_runs_archive_limit_enabled (bool): Indicates whether a limit is enforced on the number of archived test runs. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -263,6 +287,8 @@ def __init__(self, rerun_enabled, rerun_attempts_count, work_item_updating_field flaky_stability_percentage (int): Stability percentage for autotest flaky computing. [optional] if omitted the server will use the default value of 100 # noqa: E501 flaky_test_run_count (int): Last test run count for autotest flaky computing. [optional] if omitted the server will use the default value of 100 # noqa: E501 work_item_updating_enabled (bool): Autotest to work item updating enabled. [optional] if omitted the server will use the default value of False # noqa: E501 + test_runs_retention_period_days (int): The retention period in days for test runs. After this period, outdated test runs may be archived based on project settings. [optional] if omitted the server will use the default value of 180 # noqa: E501 + max_active_test_runs_count (int): Maximum number of active test runs to keep. When this limit is exceeded, older test runs are automatically archived. [optional] if omitted the server will use the default value of 500 # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -295,6 +321,8 @@ def __init__(self, rerun_enabled, rerun_attempts_count, work_item_updating_field self.rerun_enabled = rerun_enabled self.rerun_attempts_count = rerun_attempts_count self.work_item_updating_fields = work_item_updating_fields + self.archive_outdated_test_runs_enabled = archive_outdated_test_runs_enabled + self.test_runs_archive_limit_enabled = test_runs_archive_limit_enabled for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/src/testit_api_client/model/auto_test_project_settings_api_result.py b/src/testit_api_client/model/auto_test_project_settings_api_result.py index 9313cb06..e2be535c 100644 --- a/src/testit_api_client/model/auto_test_project_settings_api_result.py +++ b/src/testit_api_client/model/auto_test_project_settings_api_result.py @@ -88,6 +88,10 @@ def openapi_types(): 'rerun_attempts_count': (int,), # noqa: E501 'work_item_updating_enabled': (bool,), # noqa: E501 'work_item_updating_fields': (AutoTestProjectSettingsApiResultWorkItemUpdatingFields,), # noqa: E501 + 'archive_outdated_test_runs_enabled': (bool,), # noqa: E501 + 'test_runs_archive_limit_enabled': (bool,), # noqa: E501 + 'test_runs_retention_period_days': (int,), # noqa: E501 + 'max_active_test_runs_count': (int,), # noqa: E501 } @cached_property @@ -104,6 +108,10 @@ def discriminator(): 'rerun_attempts_count': 'rerunAttemptsCount', # noqa: E501 'work_item_updating_enabled': 'workItemUpdatingEnabled', # noqa: E501 'work_item_updating_fields': 'workItemUpdatingFields', # noqa: E501 + 'archive_outdated_test_runs_enabled': 'archiveOutdatedTestRunsEnabled', # noqa: E501 + 'test_runs_archive_limit_enabled': 'testRunsArchiveLimitEnabled', # noqa: E501 + 'test_runs_retention_period_days': 'testRunsRetentionPeriodDays', # noqa: E501 + 'max_active_test_runs_count': 'maxActiveTestRunsCount', # noqa: E501 } read_only_vars = { @@ -113,7 +121,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, project_id, is_flaky_auto, flaky_stability_percentage, flaky_test_run_count, rerun_enabled, rerun_attempts_count, work_item_updating_enabled, work_item_updating_fields, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, project_id, is_flaky_auto, flaky_stability_percentage, flaky_test_run_count, rerun_enabled, rerun_attempts_count, work_item_updating_enabled, work_item_updating_fields, archive_outdated_test_runs_enabled, test_runs_archive_limit_enabled, test_runs_retention_period_days, max_active_test_runs_count, *args, **kwargs): # noqa: E501 """AutoTestProjectSettingsApiResult - a model defined in OpenAPI Args: @@ -125,6 +133,10 @@ def _from_openapi_data(cls, project_id, is_flaky_auto, flaky_stability_percentag rerun_attempts_count (int): Auto rerun attempt count work_item_updating_enabled (bool): Autotest to work item updating enabled work_item_updating_fields (AutoTestProjectSettingsApiResultWorkItemUpdatingFields): + archive_outdated_test_runs_enabled (bool): Indicates whether archiving of outdated test runs is enabled for the project. + test_runs_archive_limit_enabled (bool): Indicates whether a limit is enforced on the number of archived test runs. + test_runs_retention_period_days (int): The retention period in days for test runs. After this period, outdated test runs may be archived based on project settings + max_active_test_runs_count (int): Maximum number of active test runs to keep. When this limit is exceeded, older test runs are automatically archived Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -196,6 +208,10 @@ def _from_openapi_data(cls, project_id, is_flaky_auto, flaky_stability_percentag self.rerun_attempts_count = rerun_attempts_count self.work_item_updating_enabled = work_item_updating_enabled self.work_item_updating_fields = work_item_updating_fields + self.archive_outdated_test_runs_enabled = archive_outdated_test_runs_enabled + self.test_runs_archive_limit_enabled = test_runs_archive_limit_enabled + self.test_runs_retention_period_days = test_runs_retention_period_days + self.max_active_test_runs_count = max_active_test_runs_count for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -216,7 +232,7 @@ def _from_openapi_data(cls, project_id, is_flaky_auto, flaky_stability_percentag ]) @convert_js_args_to_python_args - def __init__(self, project_id, is_flaky_auto, flaky_stability_percentage, flaky_test_run_count, rerun_enabled, rerun_attempts_count, work_item_updating_enabled, work_item_updating_fields, *args, **kwargs): # noqa: E501 + def __init__(self, project_id, is_flaky_auto, flaky_stability_percentage, flaky_test_run_count, rerun_enabled, rerun_attempts_count, work_item_updating_enabled, work_item_updating_fields, archive_outdated_test_runs_enabled, test_runs_archive_limit_enabled, test_runs_retention_period_days, max_active_test_runs_count, *args, **kwargs): # noqa: E501 """AutoTestProjectSettingsApiResult - a model defined in OpenAPI Args: @@ -228,6 +244,10 @@ def __init__(self, project_id, is_flaky_auto, flaky_stability_percentage, flaky_ rerun_attempts_count (int): Auto rerun attempt count work_item_updating_enabled (bool): Autotest to work item updating enabled work_item_updating_fields (AutoTestProjectSettingsApiResultWorkItemUpdatingFields): + archive_outdated_test_runs_enabled (bool): Indicates whether archiving of outdated test runs is enabled for the project. + test_runs_archive_limit_enabled (bool): Indicates whether a limit is enforced on the number of archived test runs. + test_runs_retention_period_days (int): The retention period in days for test runs. After this period, outdated test runs may be archived based on project settings + max_active_test_runs_count (int): Maximum number of active test runs to keep. When this limit is exceeded, older test runs are automatically archived Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -297,6 +317,10 @@ def __init__(self, project_id, is_flaky_auto, flaky_stability_percentage, flaky_ self.rerun_attempts_count = rerun_attempts_count self.work_item_updating_enabled = work_item_updating_enabled self.work_item_updating_fields = work_item_updating_fields + self.archive_outdated_test_runs_enabled = archive_outdated_test_runs_enabled + self.test_runs_archive_limit_enabled = test_runs_archive_limit_enabled + self.test_runs_retention_period_days = test_runs_retention_period_days + self.max_active_test_runs_count = max_active_test_runs_count for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/src/testit_api_client/model/custom_attribute_api_result.py b/src/testit_api_client/model/custom_attribute_api_result.py index 49dd2f30..d5f7f275 100644 --- a/src/testit_api_client/model/custom_attribute_api_result.py +++ b/src/testit_api_client/model/custom_attribute_api_result.py @@ -90,6 +90,8 @@ def openapi_types(): 'is_enabled': (bool,), # noqa: E501 'is_required': (bool,), # noqa: E501 'is_global': (bool,), # noqa: E501 + 'is_system': (bool,), # noqa: E501 + 'targets': ([str],), # noqa: E501 } @cached_property @@ -106,6 +108,8 @@ def discriminator(): 'is_enabled': 'isEnabled', # noqa: E501 'is_required': 'isRequired', # noqa: E501 'is_global': 'isGlobal', # noqa: E501 + 'is_system': 'isSystem', # noqa: E501 + 'targets': 'targets', # noqa: E501 } read_only_vars = { @@ -115,7 +119,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_required, is_global, is_system, targets, *args, **kwargs): # noqa: E501 """CustomAttributeApiResult - a model defined in OpenAPI Args: @@ -127,6 +131,8 @@ def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_ is_enabled (bool): Indicates if the attribute is enabled is_required (bool): Indicates if the attribute value is mandatory to specify is_global (bool): Indicates if the attribute is available across all projects + is_system (bool): Indicates if the attribute is system + targets ([str]): Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -198,6 +204,8 @@ def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_ self.is_enabled = is_enabled self.is_required = is_required self.is_global = is_global + self.is_system = is_system + self.targets = targets for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -218,7 +226,7 @@ def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_ ]) @convert_js_args_to_python_args - def __init__(self, id, options, type, is_deleted, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 + def __init__(self, id, options, type, is_deleted, name, is_enabled, is_required, is_global, is_system, targets, *args, **kwargs): # noqa: E501 """CustomAttributeApiResult - a model defined in OpenAPI Args: @@ -230,6 +238,8 @@ def __init__(self, id, options, type, is_deleted, name, is_enabled, is_required, is_enabled (bool): Indicates if the attribute is enabled is_required (bool): Indicates if the attribute value is mandatory to specify is_global (bool): Indicates if the attribute is available across all projects + is_system (bool): Indicates if the attribute is system + targets ([str]): Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -299,6 +309,8 @@ def __init__(self, id, options, type, is_deleted, name, is_enabled, is_required, self.is_enabled = is_enabled self.is_required = is_required self.is_global = is_global + self.is_system = is_system + self.targets = targets for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/src/testit_api_client/model/custom_attribute_model.py b/src/testit_api_client/model/custom_attribute_model.py index dae02e06..9452d6e2 100644 --- a/src/testit_api_client/model/custom_attribute_model.py +++ b/src/testit_api_client/model/custom_attribute_model.py @@ -87,9 +87,11 @@ def openapi_types(): lazy_import() return { 'id': (str,), # noqa: E501 + 'targets': ([str],), # noqa: E501 'options': ([CustomAttributeOptionModel],), # noqa: E501 'type': (CustomAttributeTypesEnum,), # noqa: E501 'is_deleted': (bool,), # noqa: E501 + 'is_system': (bool,), # noqa: E501 'name': (str,), # noqa: E501 'is_enabled': (bool,), # noqa: E501 'is_required': (bool,), # noqa: E501 @@ -103,9 +105,11 @@ def discriminator(): attribute_map = { 'id': 'id', # noqa: E501 + 'targets': 'targets', # noqa: E501 'options': 'options', # noqa: E501 'type': 'type', # noqa: E501 'is_deleted': 'isDeleted', # noqa: E501 + 'is_system': 'isSystem', # noqa: E501 'name': 'name', # noqa: E501 'is_enabled': 'isEnabled', # noqa: E501 'is_required': 'isRequired', # noqa: E501 @@ -119,14 +123,16 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, id, targets, options, type, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 """CustomAttributeModel - a model defined in OpenAPI Args: id (str): Unique ID of the attribute + targets ([str]): Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) options ([CustomAttributeOptionModel]): Collection of the attribute options Available for attributes of type `options` and `multiple options` only type (CustomAttributeTypesEnum): is_deleted (bool): Indicates if the attribute is deleted + is_system (bool): Indicates if the attribute is system name (str): Name of the attribute is_enabled (bool): Indicates if the attribute is enabled is_required (bool): Indicates if the attribute value is mandatory to specify @@ -195,9 +201,11 @@ def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_ self._visited_composed_classes = _visited_composed_classes + (self.__class__,) self.id = id + self.targets = targets self.options = options self.type = type self.is_deleted = is_deleted + self.is_system = is_system self.name = name self.is_enabled = is_enabled self.is_required = is_required @@ -222,14 +230,16 @@ def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_ ]) @convert_js_args_to_python_args - def __init__(self, id, options, type, is_deleted, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 + def __init__(self, id, targets, options, type, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 """CustomAttributeModel - a model defined in OpenAPI Args: id (str): Unique ID of the attribute + targets ([str]): Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) options ([CustomAttributeOptionModel]): Collection of the attribute options Available for attributes of type `options` and `multiple options` only type (CustomAttributeTypesEnum): is_deleted (bool): Indicates if the attribute is deleted + is_system (bool): Indicates if the attribute is system name (str): Name of the attribute is_enabled (bool): Indicates if the attribute is enabled is_required (bool): Indicates if the attribute value is mandatory to specify @@ -296,9 +306,11 @@ def __init__(self, id, options, type, is_deleted, name, is_enabled, is_required, self._visited_composed_classes = _visited_composed_classes + (self.__class__,) self.id = id + self.targets = targets self.options = options self.type = type self.is_deleted = is_deleted + self.is_system = is_system self.name = name self.is_enabled = is_enabled self.is_required = is_required diff --git a/src/testit_api_client/model/custom_attribute_search_response_model.py b/src/testit_api_client/model/custom_attribute_search_response_model.py index 49cdaf76..9d46da32 100644 --- a/src/testit_api_client/model/custom_attribute_search_response_model.py +++ b/src/testit_api_client/model/custom_attribute_search_response_model.py @@ -91,9 +91,11 @@ def openapi_types(): 'work_item_usage': ([ProjectShortestModel],), # noqa: E501 'test_plan_usage': ([ProjectShortestModel],), # noqa: E501 'id': (str,), # noqa: E501 + 'targets': ([str],), # noqa: E501 'options': ([CustomAttributeOptionModel],), # noqa: E501 'type': (CustomAttributeTypesEnum,), # noqa: E501 'is_deleted': (bool,), # noqa: E501 + 'is_system': (bool,), # noqa: E501 'name': (str,), # noqa: E501 'is_enabled': (bool,), # noqa: E501 'is_required': (bool,), # noqa: E501 @@ -109,9 +111,11 @@ def discriminator(): 'work_item_usage': 'workItemUsage', # noqa: E501 'test_plan_usage': 'testPlanUsage', # noqa: E501 'id': 'id', # noqa: E501 + 'targets': 'targets', # noqa: E501 'options': 'options', # noqa: E501 'type': 'type', # noqa: E501 'is_deleted': 'isDeleted', # noqa: E501 + 'is_system': 'isSystem', # noqa: E501 'name': 'name', # noqa: E501 'is_enabled': 'isEnabled', # noqa: E501 'is_required': 'isRequired', # noqa: E501 @@ -125,16 +129,18 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, work_item_usage, test_plan_usage, id, options, type, is_deleted, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, work_item_usage, test_plan_usage, id, targets, options, type, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 """CustomAttributeSearchResponseModel - a model defined in OpenAPI Args: work_item_usage ([ProjectShortestModel]): test_plan_usage ([ProjectShortestModel]): id (str): Unique ID of the attribute + targets ([str]): Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) options ([CustomAttributeOptionModel]): Collection of the attribute options Available for attributes of type `options` and `multiple options` only type (CustomAttributeTypesEnum): is_deleted (bool): Indicates if the attribute is deleted + is_system (bool): Indicates if the attribute is system name (str): Name of the attribute is_enabled (bool): Indicates if the attribute is enabled is_required (bool): Indicates if the attribute value is mandatory to specify @@ -205,9 +211,11 @@ def _from_openapi_data(cls, work_item_usage, test_plan_usage, id, options, type, self.work_item_usage = work_item_usage self.test_plan_usage = test_plan_usage self.id = id + self.targets = targets self.options = options self.type = type self.is_deleted = is_deleted + self.is_system = is_system self.name = name self.is_enabled = is_enabled self.is_required = is_required @@ -232,16 +240,18 @@ def _from_openapi_data(cls, work_item_usage, test_plan_usage, id, options, type, ]) @convert_js_args_to_python_args - def __init__(self, work_item_usage, test_plan_usage, id, options, type, is_deleted, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 + def __init__(self, work_item_usage, test_plan_usage, id, targets, options, type, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 """CustomAttributeSearchResponseModel - a model defined in OpenAPI Args: work_item_usage ([ProjectShortestModel]): test_plan_usage ([ProjectShortestModel]): id (str): Unique ID of the attribute + targets ([str]): Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) options ([CustomAttributeOptionModel]): Collection of the attribute options Available for attributes of type `options` and `multiple options` only type (CustomAttributeTypesEnum): is_deleted (bool): Indicates if the attribute is deleted + is_system (bool): Indicates if the attribute is system name (str): Name of the attribute is_enabled (bool): Indicates if the attribute is enabled is_required (bool): Indicates if the attribute value is mandatory to specify @@ -310,9 +320,11 @@ def __init__(self, work_item_usage, test_plan_usage, id, options, type, is_delet self.work_item_usage = work_item_usage self.test_plan_usage = test_plan_usage self.id = id + self.targets = targets self.options = options self.type = type self.is_deleted = is_deleted + self.is_system = is_system self.name = name self.is_enabled = is_enabled self.is_required = is_required diff --git a/src/testit_api_client/model/external_issue_api_field_suggestion_group.py b/src/testit_api_client/model/external_issue_api_field_suggestion_group.py new file mode 100644 index 00000000..05d03e0b --- /dev/null +++ b/src/testit_api_client/model/external_issue_api_field_suggestion_group.py @@ -0,0 +1,282 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.ai_service_model_api_result_group_key import AIServiceModelApiResultGroupKey + from testit_api_client.model.external_issue_api_field_suggestion import ExternalIssueApiFieldSuggestion + globals()['AIServiceModelApiResultGroupKey'] = AIServiceModelApiResultGroupKey + globals()['ExternalIssueApiFieldSuggestion'] = ExternalIssueApiFieldSuggestion + + +class ExternalIssueApiFieldSuggestionGroup(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'key': (AIServiceModelApiResultGroupKey,), # noqa: E501 + 'data': ([ExternalIssueApiFieldSuggestion],), # noqa: E501 + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'key': 'key', # noqa: E501 + 'data': 'data', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, key, data, total_count, *args, **kwargs): # noqa: E501 + """ExternalIssueApiFieldSuggestionGroup - a model defined in OpenAPI + + Args: + key (AIServiceModelApiResultGroupKey): + data ([ExternalIssueApiFieldSuggestion]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.key = key + self.data = data + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, key, data, total_count, *args, **kwargs): # noqa: E501 + """ExternalIssueApiFieldSuggestionGroup - a model defined in OpenAPI + + Args: + key (AIServiceModelApiResultGroupKey): + data ([ExternalIssueApiFieldSuggestion]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.key = key + self.data = data + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/external_issue_api_field_suggestion_grouped_reply.py b/src/testit_api_client/model/external_issue_api_field_suggestion_grouped_reply.py new file mode 100644 index 00000000..15a8da97 --- /dev/null +++ b/src/testit_api_client/model/external_issue_api_field_suggestion_grouped_reply.py @@ -0,0 +1,274 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.external_issue_api_field_suggestion_group import ExternalIssueApiFieldSuggestionGroup + globals()['ExternalIssueApiFieldSuggestionGroup'] = ExternalIssueApiFieldSuggestionGroup + + +class ExternalIssueApiFieldSuggestionGroupedReply(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'groups': ([ExternalIssueApiFieldSuggestionGroup],), # noqa: E501 + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'groups': 'groups', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, groups, total_count, *args, **kwargs): # noqa: E501 + """ExternalIssueApiFieldSuggestionGroupedReply - a model defined in OpenAPI + + Args: + groups ([ExternalIssueApiFieldSuggestionGroup]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.groups = groups + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, groups, total_count, *args, **kwargs): # noqa: E501 + """ExternalIssueApiFieldSuggestionGroupedReply - a model defined in OpenAPI + + Args: + groups ([ExternalIssueApiFieldSuggestionGroup]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.groups = groups + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/external_issue_api_field_suggestion_i_reply.py b/src/testit_api_client/model/external_issue_api_field_suggestion_i_reply.py new file mode 100644 index 00000000..b0aba8d2 --- /dev/null +++ b/src/testit_api_client/model/external_issue_api_field_suggestion_i_reply.py @@ -0,0 +1,327 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.external_issue_api_field_suggestion import ExternalIssueApiFieldSuggestion + from testit_api_client.model.external_issue_api_field_suggestion_group import ExternalIssueApiFieldSuggestionGroup + from testit_api_client.model.external_issue_api_field_suggestion_grouped_reply import ExternalIssueApiFieldSuggestionGroupedReply + from testit_api_client.model.external_issue_api_field_suggestion_reply import ExternalIssueApiFieldSuggestionReply + globals()['ExternalIssueApiFieldSuggestion'] = ExternalIssueApiFieldSuggestion + globals()['ExternalIssueApiFieldSuggestionGroup'] = ExternalIssueApiFieldSuggestionGroup + globals()['ExternalIssueApiFieldSuggestionGroupedReply'] = ExternalIssueApiFieldSuggestionGroupedReply + globals()['ExternalIssueApiFieldSuggestionReply'] = ExternalIssueApiFieldSuggestionReply + + +class ExternalIssueApiFieldSuggestionIReply(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'total_count': (int,), # noqa: E501 + 'data': ([ExternalIssueApiFieldSuggestion],), # noqa: E501 + 'groups': ([ExternalIssueApiFieldSuggestionGroup],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + 'data': 'data', # noqa: E501 + 'groups': 'groups', # noqa: E501 + } + + read_only_vars = { + 'total_count', # noqa: E501 + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ExternalIssueApiFieldSuggestionIReply - a model defined in OpenAPI + + Keyword Args: + total_count (int): + data ([ExternalIssueApiFieldSuggestion]): + groups ([ExternalIssueApiFieldSuggestionGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ExternalIssueApiFieldSuggestionIReply - a model defined in OpenAPI + + Keyword Args: + data ([ExternalIssueApiFieldSuggestion]): + groups ([ExternalIssueApiFieldSuggestionGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + ], + 'oneOf': [ + ExternalIssueApiFieldSuggestionGroupedReply, + ExternalIssueApiFieldSuggestionReply, + ], + } diff --git a/src/testit_api_client/model/failure_category_group_search_api_model_inquiry.py b/src/testit_api_client/model/failure_category_group_search_api_model_inquiry.py index d525944e..1c29c283 100644 --- a/src/testit_api_client/model/failure_category_group_search_api_model_inquiry.py +++ b/src/testit_api_client/model/failure_category_group_search_api_model_inquiry.py @@ -31,10 +31,12 @@ def lazy_import(): from testit_api_client.model.composite_filter import CompositeFilter + from testit_api_client.model.group import Group from testit_api_client.model.inquiry import Inquiry from testit_api_client.model.order import Order from testit_api_client.model.page import Page globals()['CompositeFilter'] = CompositeFilter + globals()['Group'] = Group globals()['Inquiry'] = Inquiry globals()['Order'] = Order globals()['Page'] = Page @@ -94,6 +96,7 @@ def openapi_types(): lazy_import() return { 'order': ([Order],), # noqa: E501 + 'group': (Group,), # noqa: E501 'filter': (CompositeFilter,), # noqa: E501 'page': (Page,), # noqa: E501 } @@ -105,6 +108,7 @@ def discriminator(): attribute_map = { 'order': 'order', # noqa: E501 + 'group': 'group', # noqa: E501 'filter': 'filter', # noqa: E501 'page': 'page', # noqa: E501 } @@ -149,6 +153,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + group (Group): [optional] # noqa: E501 filter (CompositeFilter): [optional] # noqa: E501 page (Page): [optional] # noqa: E501 """ @@ -255,6 +260,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + group (Group): [optional] # noqa: E501 filter (CompositeFilter): [optional] # noqa: E501 page (Page): [optional] # noqa: E501 """ diff --git a/src/testit_api_client/model/get_external_issue_suggestions_api_model_inquiry.py b/src/testit_api_client/model/get_external_issue_suggestions_api_model_inquiry.py index 7efe2230..68cfd63b 100644 --- a/src/testit_api_client/model/get_external_issue_suggestions_api_model_inquiry.py +++ b/src/testit_api_client/model/get_external_issue_suggestions_api_model_inquiry.py @@ -31,10 +31,12 @@ def lazy_import(): from testit_api_client.model.composite_filter import CompositeFilter + from testit_api_client.model.group import Group from testit_api_client.model.inquiry import Inquiry from testit_api_client.model.order import Order from testit_api_client.model.page import Page globals()['CompositeFilter'] = CompositeFilter + globals()['Group'] = Group globals()['Inquiry'] = Inquiry globals()['Order'] = Order globals()['Page'] = Page @@ -94,6 +96,7 @@ def openapi_types(): lazy_import() return { 'order': ([Order],), # noqa: E501 + 'group': (Group,), # noqa: E501 'filter': (CompositeFilter,), # noqa: E501 'page': (Page,), # noqa: E501 } @@ -105,6 +108,7 @@ def discriminator(): attribute_map = { 'order': 'order', # noqa: E501 + 'group': 'group', # noqa: E501 'filter': 'filter', # noqa: E501 'page': 'page', # noqa: E501 } @@ -149,6 +153,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + group (Group): [optional] # noqa: E501 filter (CompositeFilter): [optional] # noqa: E501 page (Page): [optional] # noqa: E501 """ @@ -255,6 +260,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + group (Group): [optional] # noqa: E501 filter (CompositeFilter): [optional] # noqa: E501 page (Page): [optional] # noqa: E501 """ diff --git a/src/testit_api_client/model/get_xlsx_test_points_by_test_plan_model.py b/src/testit_api_client/model/get_xlsx_test_points_by_test_plan_api_model.py similarity index 93% rename from src/testit_api_client/model/get_xlsx_test_points_by_test_plan_model.py rename to src/testit_api_client/model/get_xlsx_test_points_by_test_plan_api_model.py index 3065e9c3..8f9a6249 100644 --- a/src/testit_api_client/model/get_xlsx_test_points_by_test_plan_model.py +++ b/src/testit_api_client/model/get_xlsx_test_points_by_test_plan_api_model.py @@ -29,8 +29,14 @@ from testit_api_client.exceptions import ApiAttributeError +def lazy_import(): + from testit_api_client.model.order import Order + from testit_api_client.model.test_plan_test_points_search_api_model import TestPlanTestPointsSearchApiModel + globals()['Order'] = Order + globals()['TestPlanTestPointsSearchApiModel'] = TestPlanTestPointsSearchApiModel -class GetXlsxTestPointsByTestPlanModel(ModelNormal): + +class GetXlsxTestPointsByTestPlanApiModel(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -74,6 +80,7 @@ def openapi_types(): openapi_types (dict): The key is attribute name and the value is attribute type. """ + lazy_import() return { 'include_name': (bool,), # noqa: E501 'include_section': (bool,), # noqa: E501 @@ -88,7 +95,9 @@ def openapi_types(): 'include_modified_by': (bool,), # noqa: E501 'include_tags': (bool,), # noqa: E501 'include_iterations': (bool,), # noqa: E501 + 'order': ([Order],), # noqa: E501 'custom_attributes_ids': ([str], none_type,), # noqa: E501 + 'filter': (TestPlanTestPointsSearchApiModel,), # noqa: E501 'configuration_ids': ([str], none_type,), # noqa: E501 } @@ -111,7 +120,9 @@ def discriminator(): 'include_modified_by': 'includeModifiedBy', # noqa: E501 'include_tags': 'includeTags', # noqa: E501 'include_iterations': 'includeIterations', # noqa: E501 + 'order': 'order', # noqa: E501 'custom_attributes_ids': 'customAttributesIds', # noqa: E501 + 'filter': 'filter', # noqa: E501 'configuration_ids': 'configurationIds', # noqa: E501 } @@ -122,8 +133,8 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, include_name, include_section, include_priority, include_source_type, include_automated, include_status, include_duration, include_creation_date, include_author, include_modification_date, include_modified_by, include_tags, include_iterations, *args, **kwargs): # noqa: E501 - """GetXlsxTestPointsByTestPlanModel - a model defined in OpenAPI + def _from_openapi_data(cls, include_name, include_section, include_priority, include_source_type, include_automated, include_status, include_duration, include_creation_date, include_author, include_modification_date, include_modified_by, include_tags, include_iterations, order, *args, **kwargs): # noqa: E501 + """GetXlsxTestPointsByTestPlanApiModel - a model defined in OpenAPI Args: include_name (bool): @@ -139,6 +150,7 @@ def _from_openapi_data(cls, include_name, include_section, include_priority, inc include_modified_by (bool): include_tags (bool): include_iterations (bool): + order ([Order]): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -172,6 +184,7 @@ def _from_openapi_data(cls, include_name, include_section, include_priority, inc through its discriminator because we passed in _visited_composed_classes = (Animal,) custom_attributes_ids ([str], none_type): [optional] # noqa: E501 + filter (TestPlanTestPointsSearchApiModel): [optional] # noqa: E501 configuration_ids ([str], none_type): [optional] # noqa: E501 """ @@ -217,6 +230,7 @@ def _from_openapi_data(cls, include_name, include_section, include_priority, inc self.include_modified_by = include_modified_by self.include_tags = include_tags self.include_iterations = include_iterations + self.order = order for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -237,8 +251,8 @@ def _from_openapi_data(cls, include_name, include_section, include_priority, inc ]) @convert_js_args_to_python_args - def __init__(self, include_name, include_section, include_priority, include_source_type, include_automated, include_status, include_duration, include_creation_date, include_author, include_modification_date, include_modified_by, include_tags, include_iterations, *args, **kwargs): # noqa: E501 - """GetXlsxTestPointsByTestPlanModel - a model defined in OpenAPI + def __init__(self, include_name, include_section, include_priority, include_source_type, include_automated, include_status, include_duration, include_creation_date, include_author, include_modification_date, include_modified_by, include_tags, include_iterations, order, *args, **kwargs): # noqa: E501 + """GetXlsxTestPointsByTestPlanApiModel - a model defined in OpenAPI Args: include_name (bool): @@ -254,6 +268,7 @@ def __init__(self, include_name, include_section, include_priority, include_sour include_modified_by (bool): include_tags (bool): include_iterations (bool): + order ([Order]): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -287,6 +302,7 @@ def __init__(self, include_name, include_section, include_priority, include_sour through its discriminator because we passed in _visited_composed_classes = (Animal,) custom_attributes_ids ([str], none_type): [optional] # noqa: E501 + filter (TestPlanTestPointsSearchApiModel): [optional] # noqa: E501 configuration_ids ([str], none_type): [optional] # noqa: E501 """ @@ -330,6 +346,7 @@ def __init__(self, include_name, include_section, include_priority, include_sour self.include_modified_by = include_modified_by self.include_tags = include_tags self.include_iterations = include_iterations + self.order = order for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/src/testit_api_client/model/global_search_request.py b/src/testit_api_client/model/group.py similarity index 90% rename from src/testit_api_client/model/global_search_request.py rename to src/testit_api_client/model/group.py index 27f03f3f..cd10b88d 100644 --- a/src/testit_api_client/model/global_search_request.py +++ b/src/testit_api_client/model/group.py @@ -30,7 +30,7 @@ -class GlobalSearchRequest(ModelNormal): +class Group(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -75,10 +75,8 @@ def openapi_types(): and the value is attribute type. """ return { - 'query': (str,), # noqa: E501 - 'take': (int,), # noqa: E501 - 'skip': (int,), # noqa: E501 - 'resource_type': (str, none_type,), # noqa: E501 + 'field': (str,), # noqa: E501 + 'display_field': (str, none_type,), # noqa: E501 } @cached_property @@ -87,10 +85,8 @@ def discriminator(): attribute_map = { - 'query': 'query', # noqa: E501 - 'take': 'take', # noqa: E501 - 'skip': 'skip', # noqa: E501 - 'resource_type': 'resourceType', # noqa: E501 + 'field': 'field', # noqa: E501 + 'display_field': 'displayField', # noqa: E501 } read_only_vars = { @@ -100,13 +96,11 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, query, take, skip, *args, **kwargs): # noqa: E501 - """GlobalSearchRequest - a model defined in OpenAPI + def _from_openapi_data(cls, field, *args, **kwargs): # noqa: E501 + """Group - a model defined in OpenAPI Args: - query (str): - take (int): - skip (int): + field (str): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -139,7 +133,7 @@ def _from_openapi_data(cls, query, take, skip, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - resource_type (str, none_type): [optional] # noqa: E501 + display_field (str, none_type): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -171,9 +165,7 @@ def _from_openapi_data(cls, query, take, skip, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.query = query - self.take = take - self.skip = skip + self.field = field for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -194,13 +186,11 @@ def _from_openapi_data(cls, query, take, skip, *args, **kwargs): # noqa: E501 ]) @convert_js_args_to_python_args - def __init__(self, query, take, skip, *args, **kwargs): # noqa: E501 - """GlobalSearchRequest - a model defined in OpenAPI + def __init__(self, field, *args, **kwargs): # noqa: E501 + """Group - a model defined in OpenAPI Args: - query (str): - take (int): - skip (int): + field (str): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -233,7 +223,7 @@ def __init__(self, query, take, skip, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - resource_type (str, none_type): [optional] # noqa: E501 + display_field (str, none_type): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -263,9 +253,7 @@ def __init__(self, query, take, skip, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.query = query - self.take = take - self.skip = skip + self.field = field for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/src/testit_api_client/model/group_key.py b/src/testit_api_client/model/group_key.py new file mode 100644 index 00000000..62be64b1 --- /dev/null +++ b/src/testit_api_client/model/group_key.py @@ -0,0 +1,267 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + + +class GroupKey(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'value': (str, none_type,), # noqa: E501 + 'display_value': (str, none_type,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'value': 'value', # noqa: E501 + 'display_value': 'displayValue', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, value, *args, **kwargs): # noqa: E501 + """GroupKey - a model defined in OpenAPI + + Args: + value (str, none_type): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + display_value (str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.value = value + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, value, *args, **kwargs): # noqa: E501 + """GroupKey - a model defined in OpenAPI + + Args: + value (str, none_type): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + display_value (str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.value = value + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/inquiry.py b/src/testit_api_client/model/inquiry.py index 3677136a..d87f94e7 100644 --- a/src/testit_api_client/model/inquiry.py +++ b/src/testit_api_client/model/inquiry.py @@ -31,9 +31,11 @@ def lazy_import(): from testit_api_client.model.composite_filter import CompositeFilter + from testit_api_client.model.group import Group from testit_api_client.model.order import Order from testit_api_client.model.page import Page globals()['CompositeFilter'] = CompositeFilter + globals()['Group'] = Group globals()['Order'] = Order globals()['Page'] = Page @@ -85,6 +87,7 @@ def openapi_types(): lazy_import() return { 'order': ([Order],), # noqa: E501 + 'group': (Group,), # noqa: E501 'filter': (CompositeFilter,), # noqa: E501 'page': (Page,), # noqa: E501 } @@ -96,6 +99,7 @@ def discriminator(): attribute_map = { 'order': 'order', # noqa: E501 + 'group': 'group', # noqa: E501 'filter': 'filter', # noqa: E501 'page': 'page', # noqa: E501 } @@ -144,6 +148,7 @@ def _from_openapi_data(cls, order, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + group (Group): [optional] # noqa: E501 filter (CompositeFilter): [optional] # noqa: E501 page (Page): [optional] # noqa: E501 """ @@ -235,6 +240,7 @@ def __init__(self, order, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + group (Group): [optional] # noqa: E501 filter (CompositeFilter): [optional] # noqa: E501 page (Page): [optional] # noqa: E501 """ diff --git a/src/testit_api_client/model/project_short_api_result_group.py b/src/testit_api_client/model/project_short_api_result_group.py new file mode 100644 index 00000000..b9b63ffd --- /dev/null +++ b/src/testit_api_client/model/project_short_api_result_group.py @@ -0,0 +1,282 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.ai_service_model_api_result_group_key import AIServiceModelApiResultGroupKey + from testit_api_client.model.project_short_api_result import ProjectShortApiResult + globals()['AIServiceModelApiResultGroupKey'] = AIServiceModelApiResultGroupKey + globals()['ProjectShortApiResult'] = ProjectShortApiResult + + +class ProjectShortApiResultGroup(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'key': (AIServiceModelApiResultGroupKey,), # noqa: E501 + 'data': ([ProjectShortApiResult],), # noqa: E501 + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'key': 'key', # noqa: E501 + 'data': 'data', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, key, data, total_count, *args, **kwargs): # noqa: E501 + """ProjectShortApiResultGroup - a model defined in OpenAPI + + Args: + key (AIServiceModelApiResultGroupKey): + data ([ProjectShortApiResult]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.key = key + self.data = data + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, key, data, total_count, *args, **kwargs): # noqa: E501 + """ProjectShortApiResultGroup - a model defined in OpenAPI + + Args: + key (AIServiceModelApiResultGroupKey): + data ([ProjectShortApiResult]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.key = key + self.data = data + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/project_short_api_result_grouped_reply.py b/src/testit_api_client/model/project_short_api_result_grouped_reply.py new file mode 100644 index 00000000..7d952aaa --- /dev/null +++ b/src/testit_api_client/model/project_short_api_result_grouped_reply.py @@ -0,0 +1,274 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.project_short_api_result_group import ProjectShortApiResultGroup + globals()['ProjectShortApiResultGroup'] = ProjectShortApiResultGroup + + +class ProjectShortApiResultGroupedReply(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'groups': ([ProjectShortApiResultGroup],), # noqa: E501 + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'groups': 'groups', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, groups, total_count, *args, **kwargs): # noqa: E501 + """ProjectShortApiResultGroupedReply - a model defined in OpenAPI + + Args: + groups ([ProjectShortApiResultGroup]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.groups = groups + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, groups, total_count, *args, **kwargs): # noqa: E501 + """ProjectShortApiResultGroupedReply - a model defined in OpenAPI + + Args: + groups ([ProjectShortApiResultGroup]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.groups = groups + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/project_short_api_result_i_reply.py b/src/testit_api_client/model/project_short_api_result_i_reply.py new file mode 100644 index 00000000..441820a4 --- /dev/null +++ b/src/testit_api_client/model/project_short_api_result_i_reply.py @@ -0,0 +1,327 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.project_short_api_result import ProjectShortApiResult + from testit_api_client.model.project_short_api_result_group import ProjectShortApiResultGroup + from testit_api_client.model.project_short_api_result_grouped_reply import ProjectShortApiResultGroupedReply + from testit_api_client.model.project_short_api_result_reply import ProjectShortApiResultReply + globals()['ProjectShortApiResult'] = ProjectShortApiResult + globals()['ProjectShortApiResultGroup'] = ProjectShortApiResultGroup + globals()['ProjectShortApiResultGroupedReply'] = ProjectShortApiResultGroupedReply + globals()['ProjectShortApiResultReply'] = ProjectShortApiResultReply + + +class ProjectShortApiResultIReply(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'total_count': (int,), # noqa: E501 + 'data': ([ProjectShortApiResult],), # noqa: E501 + 'groups': ([ProjectShortApiResultGroup],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + 'data': 'data', # noqa: E501 + 'groups': 'groups', # noqa: E501 + } + + read_only_vars = { + 'total_count', # noqa: E501 + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ProjectShortApiResultIReply - a model defined in OpenAPI + + Keyword Args: + total_count (int): + data ([ProjectShortApiResult]): + groups ([ProjectShortApiResultGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ProjectShortApiResultIReply - a model defined in OpenAPI + + Keyword Args: + data ([ProjectShortApiResult]): + groups ([ProjectShortApiResultGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + ], + 'oneOf': [ + ProjectShortApiResultGroupedReply, + ProjectShortApiResultReply, + ], + } diff --git a/src/testit_api_client/model/global_search_item_result.py b/src/testit_api_client/model/test_status_api_result_group.py similarity index 87% rename from src/testit_api_client/model/global_search_item_result.py rename to src/testit_api_client/model/test_status_api_result_group.py index 645f45bc..a1c91499 100644 --- a/src/testit_api_client/model/global_search_item_result.py +++ b/src/testit_api_client/model/test_status_api_result_group.py @@ -29,8 +29,14 @@ from testit_api_client.exceptions import ApiAttributeError +def lazy_import(): + from testit_api_client.model.ai_service_model_api_result_group_key import AIServiceModelApiResultGroupKey + from testit_api_client.model.test_status_api_result import TestStatusApiResult + globals()['AIServiceModelApiResultGroupKey'] = AIServiceModelApiResultGroupKey + globals()['TestStatusApiResult'] = TestStatusApiResult -class GlobalSearchItemResult(ModelNormal): + +class TestStatusApiResultGroup(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -74,12 +80,11 @@ def openapi_types(): openapi_types (dict): The key is attribute name and the value is attribute type. """ + lazy_import() return { - 'resource_type': (str,), # noqa: E501 - 'resource_id': (str,), # noqa: E501 - 'name': (str,), # noqa: E501 - 'project_global_id': (int,), # noqa: E501 - 'global_id': (int, none_type,), # noqa: E501 + 'key': (AIServiceModelApiResultGroupKey,), # noqa: E501 + 'data': ([TestStatusApiResult],), # noqa: E501 + 'total_count': (int,), # noqa: E501 } @cached_property @@ -88,11 +93,9 @@ def discriminator(): attribute_map = { - 'resource_type': 'resourceType', # noqa: E501 - 'resource_id': 'resourceId', # noqa: E501 - 'name': 'name', # noqa: E501 - 'project_global_id': 'projectGlobalId', # noqa: E501 - 'global_id': 'globalId', # noqa: E501 + 'key': 'key', # noqa: E501 + 'data': 'data', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 } read_only_vars = { @@ -102,14 +105,13 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, resource_type, resource_id, name, project_global_id, *args, **kwargs): # noqa: E501 - """GlobalSearchItemResult - a model defined in OpenAPI + def _from_openapi_data(cls, key, data, total_count, *args, **kwargs): # noqa: E501 + """TestStatusApiResultGroup - a model defined in OpenAPI Args: - resource_type (str): - resource_id (str): - name (str): - project_global_id (int): + key (AIServiceModelApiResultGroupKey): + data ([TestStatusApiResult]): + total_count (int): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -142,7 +144,6 @@ def _from_openapi_data(cls, resource_type, resource_id, name, project_global_id, Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - global_id (int, none_type): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -174,10 +175,9 @@ def _from_openapi_data(cls, resource_type, resource_id, name, project_global_id, self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.resource_type = resource_type - self.resource_id = resource_id - self.name = name - self.project_global_id = project_global_id + self.key = key + self.data = data + self.total_count = total_count for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -198,14 +198,13 @@ def _from_openapi_data(cls, resource_type, resource_id, name, project_global_id, ]) @convert_js_args_to_python_args - def __init__(self, resource_type, resource_id, name, project_global_id, *args, **kwargs): # noqa: E501 - """GlobalSearchItemResult - a model defined in OpenAPI + def __init__(self, key, data, total_count, *args, **kwargs): # noqa: E501 + """TestStatusApiResultGroup - a model defined in OpenAPI Args: - resource_type (str): - resource_id (str): - name (str): - project_global_id (int): + key (AIServiceModelApiResultGroupKey): + data ([TestStatusApiResult]): + total_count (int): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -238,7 +237,6 @@ def __init__(self, resource_type, resource_id, name, project_global_id, *args, * Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - global_id (int, none_type): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -268,10 +266,9 @@ def __init__(self, resource_type, resource_id, name, project_global_id, *args, * self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.resource_type = resource_type - self.resource_id = resource_id - self.name = name - self.project_global_id = project_global_id + self.key = key + self.data = data + self.total_count = total_count for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/src/testit_api_client/model/test_status_api_result_grouped_reply.py b/src/testit_api_client/model/test_status_api_result_grouped_reply.py new file mode 100644 index 00000000..db924d59 --- /dev/null +++ b/src/testit_api_client/model/test_status_api_result_grouped_reply.py @@ -0,0 +1,274 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.test_status_api_result_group import TestStatusApiResultGroup + globals()['TestStatusApiResultGroup'] = TestStatusApiResultGroup + + +class TestStatusApiResultGroupedReply(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'groups': ([TestStatusApiResultGroup],), # noqa: E501 + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'groups': 'groups', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, groups, total_count, *args, **kwargs): # noqa: E501 + """TestStatusApiResultGroupedReply - a model defined in OpenAPI + + Args: + groups ([TestStatusApiResultGroup]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.groups = groups + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, groups, total_count, *args, **kwargs): # noqa: E501 + """TestStatusApiResultGroupedReply - a model defined in OpenAPI + + Args: + groups ([TestStatusApiResultGroup]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.groups = groups + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/test_status_api_result_i_reply.py b/src/testit_api_client/model/test_status_api_result_i_reply.py new file mode 100644 index 00000000..05f2a733 --- /dev/null +++ b/src/testit_api_client/model/test_status_api_result_i_reply.py @@ -0,0 +1,327 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.test_status_api_result import TestStatusApiResult + from testit_api_client.model.test_status_api_result_group import TestStatusApiResultGroup + from testit_api_client.model.test_status_api_result_grouped_reply import TestStatusApiResultGroupedReply + from testit_api_client.model.test_status_api_result_reply import TestStatusApiResultReply + globals()['TestStatusApiResult'] = TestStatusApiResult + globals()['TestStatusApiResultGroup'] = TestStatusApiResultGroup + globals()['TestStatusApiResultGroupedReply'] = TestStatusApiResultGroupedReply + globals()['TestStatusApiResultReply'] = TestStatusApiResultReply + + +class TestStatusApiResultIReply(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'total_count': (int,), # noqa: E501 + 'data': ([TestStatusApiResult],), # noqa: E501 + 'groups': ([TestStatusApiResultGroup],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + 'data': 'data', # noqa: E501 + 'groups': 'groups', # noqa: E501 + } + + read_only_vars = { + 'total_count', # noqa: E501 + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """TestStatusApiResultIReply - a model defined in OpenAPI + + Keyword Args: + total_count (int): + data ([TestStatusApiResult]): + groups ([TestStatusApiResultGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """TestStatusApiResultIReply - a model defined in OpenAPI + + Keyword Args: + data ([TestStatusApiResult]): + groups ([TestStatusApiResultGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + ], + 'oneOf': [ + TestStatusApiResultGroupedReply, + TestStatusApiResultReply, + ], + } diff --git a/src/testit_api_client/model/work_item_api_result.py b/src/testit_api_client/model/work_item_api_result.py index e266a077..ac824ff0 100644 --- a/src/testit_api_client/model/work_item_api_result.py +++ b/src/testit_api_client/model/work_item_api_result.py @@ -135,7 +135,6 @@ def openapi_types(): 'description': (str, none_type,), # noqa: E501 'modified_date': (datetime, none_type,), # noqa: E501 'modified_by_id': (str, none_type,), # noqa: E501 - 'autoTestCases': ([str, none_type], none_type,), } @cached_property @@ -177,7 +176,6 @@ def discriminator(): 'description': 'description', # noqa: E501 'modified_date': 'modifiedDate', # noqa: E501 'modified_by_id': 'modifiedById', # noqa: E501 - 'autoTestCases': 'autoTestCases', # noqa: E501 } read_only_vars = { diff --git a/src/testit_api_client/model/workflow_project_api_result_group.py b/src/testit_api_client/model/workflow_project_api_result_group.py new file mode 100644 index 00000000..afe8f88c --- /dev/null +++ b/src/testit_api_client/model/workflow_project_api_result_group.py @@ -0,0 +1,282 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.ai_service_model_api_result_group_key import AIServiceModelApiResultGroupKey + from testit_api_client.model.workflow_project_api_result import WorkflowProjectApiResult + globals()['AIServiceModelApiResultGroupKey'] = AIServiceModelApiResultGroupKey + globals()['WorkflowProjectApiResult'] = WorkflowProjectApiResult + + +class WorkflowProjectApiResultGroup(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'key': (AIServiceModelApiResultGroupKey,), # noqa: E501 + 'data': ([WorkflowProjectApiResult],), # noqa: E501 + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'key': 'key', # noqa: E501 + 'data': 'data', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, key, data, total_count, *args, **kwargs): # noqa: E501 + """WorkflowProjectApiResultGroup - a model defined in OpenAPI + + Args: + key (AIServiceModelApiResultGroupKey): + data ([WorkflowProjectApiResult]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.key = key + self.data = data + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, key, data, total_count, *args, **kwargs): # noqa: E501 + """WorkflowProjectApiResultGroup - a model defined in OpenAPI + + Args: + key (AIServiceModelApiResultGroupKey): + data ([WorkflowProjectApiResult]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.key = key + self.data = data + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/global_search_response.py b/src/testit_api_client/model/workflow_project_api_result_grouped_reply.py similarity index 87% rename from src/testit_api_client/model/global_search_response.py rename to src/testit_api_client/model/workflow_project_api_result_grouped_reply.py index 1670bfcf..41d0f494 100644 --- a/src/testit_api_client/model/global_search_response.py +++ b/src/testit_api_client/model/workflow_project_api_result_grouped_reply.py @@ -30,11 +30,11 @@ def lazy_import(): - from testit_api_client.model.global_search_item_result import GlobalSearchItemResult - globals()['GlobalSearchItemResult'] = GlobalSearchItemResult + from testit_api_client.model.workflow_project_api_result_group import WorkflowProjectApiResultGroup + globals()['WorkflowProjectApiResultGroup'] = WorkflowProjectApiResultGroup -class GlobalSearchResponse(ModelNormal): +class WorkflowProjectApiResultGroupedReply(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -80,9 +80,8 @@ def openapi_types(): """ lazy_import() return { - 'results': ([GlobalSearchItemResult],), # noqa: E501 - 'more_results_available': (bool,), # noqa: E501 - 'available_resource_types': ([str],), # noqa: E501 + 'groups': ([WorkflowProjectApiResultGroup],), # noqa: E501 + 'total_count': (int,), # noqa: E501 } @cached_property @@ -91,9 +90,8 @@ def discriminator(): attribute_map = { - 'results': 'results', # noqa: E501 - 'more_results_available': 'moreResultsAvailable', # noqa: E501 - 'available_resource_types': 'availableResourceTypes', # noqa: E501 + 'groups': 'groups', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 } read_only_vars = { @@ -103,13 +101,12 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, results, more_results_available, available_resource_types, *args, **kwargs): # noqa: E501 - """GlobalSearchResponse - a model defined in OpenAPI + def _from_openapi_data(cls, groups, total_count, *args, **kwargs): # noqa: E501 + """WorkflowProjectApiResultGroupedReply - a model defined in OpenAPI Args: - results ([GlobalSearchItemResult]): - more_results_available (bool): - available_resource_types ([str]): + groups ([WorkflowProjectApiResultGroup]): + total_count (int): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -173,9 +170,8 @@ def _from_openapi_data(cls, results, more_results_available, available_resource_ self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.results = results - self.more_results_available = more_results_available - self.available_resource_types = available_resource_types + self.groups = groups + self.total_count = total_count for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -196,13 +192,12 @@ def _from_openapi_data(cls, results, more_results_available, available_resource_ ]) @convert_js_args_to_python_args - def __init__(self, results, more_results_available, available_resource_types, *args, **kwargs): # noqa: E501 - """GlobalSearchResponse - a model defined in OpenAPI + def __init__(self, groups, total_count, *args, **kwargs): # noqa: E501 + """WorkflowProjectApiResultGroupedReply - a model defined in OpenAPI Args: - results ([GlobalSearchItemResult]): - more_results_available (bool): - available_resource_types ([str]): + groups ([WorkflowProjectApiResultGroup]): + total_count (int): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -264,9 +259,8 @@ def __init__(self, results, more_results_available, available_resource_types, *a self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.results = results - self.more_results_available = more_results_available - self.available_resource_types = available_resource_types + self.groups = groups + self.total_count = total_count for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/src/testit_api_client/model/workflow_project_api_result_i_reply.py b/src/testit_api_client/model/workflow_project_api_result_i_reply.py new file mode 100644 index 00000000..3034618d --- /dev/null +++ b/src/testit_api_client/model/workflow_project_api_result_i_reply.py @@ -0,0 +1,327 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.workflow_project_api_result import WorkflowProjectApiResult + from testit_api_client.model.workflow_project_api_result_group import WorkflowProjectApiResultGroup + from testit_api_client.model.workflow_project_api_result_grouped_reply import WorkflowProjectApiResultGroupedReply + from testit_api_client.model.workflow_project_api_result_reply import WorkflowProjectApiResultReply + globals()['WorkflowProjectApiResult'] = WorkflowProjectApiResult + globals()['WorkflowProjectApiResultGroup'] = WorkflowProjectApiResultGroup + globals()['WorkflowProjectApiResultGroupedReply'] = WorkflowProjectApiResultGroupedReply + globals()['WorkflowProjectApiResultReply'] = WorkflowProjectApiResultReply + + +class WorkflowProjectApiResultIReply(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'total_count': (int,), # noqa: E501 + 'data': ([WorkflowProjectApiResult],), # noqa: E501 + 'groups': ([WorkflowProjectApiResultGroup],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + 'data': 'data', # noqa: E501 + 'groups': 'groups', # noqa: E501 + } + + read_only_vars = { + 'total_count', # noqa: E501 + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """WorkflowProjectApiResultIReply - a model defined in OpenAPI + + Keyword Args: + total_count (int): + data ([WorkflowProjectApiResult]): + groups ([WorkflowProjectApiResultGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """WorkflowProjectApiResultIReply - a model defined in OpenAPI + + Keyword Args: + data ([WorkflowProjectApiResult]): + groups ([WorkflowProjectApiResultGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + ], + 'oneOf': [ + WorkflowProjectApiResultGroupedReply, + WorkflowProjectApiResultReply, + ], + } diff --git a/src/testit_api_client/model/workflow_short_api_result_group.py b/src/testit_api_client/model/workflow_short_api_result_group.py new file mode 100644 index 00000000..5ff2038c --- /dev/null +++ b/src/testit_api_client/model/workflow_short_api_result_group.py @@ -0,0 +1,282 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.ai_service_model_api_result_group_key import AIServiceModelApiResultGroupKey + from testit_api_client.model.workflow_short_api_result import WorkflowShortApiResult + globals()['AIServiceModelApiResultGroupKey'] = AIServiceModelApiResultGroupKey + globals()['WorkflowShortApiResult'] = WorkflowShortApiResult + + +class WorkflowShortApiResultGroup(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'key': (AIServiceModelApiResultGroupKey,), # noqa: E501 + 'data': ([WorkflowShortApiResult],), # noqa: E501 + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'key': 'key', # noqa: E501 + 'data': 'data', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, key, data, total_count, *args, **kwargs): # noqa: E501 + """WorkflowShortApiResultGroup - a model defined in OpenAPI + + Args: + key (AIServiceModelApiResultGroupKey): + data ([WorkflowShortApiResult]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.key = key + self.data = data + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, key, data, total_count, *args, **kwargs): # noqa: E501 + """WorkflowShortApiResultGroup - a model defined in OpenAPI + + Args: + key (AIServiceModelApiResultGroupKey): + data ([WorkflowShortApiResult]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.key = key + self.data = data + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/workflow_short_api_result_grouped_reply.py b/src/testit_api_client/model/workflow_short_api_result_grouped_reply.py new file mode 100644 index 00000000..556a2d93 --- /dev/null +++ b/src/testit_api_client/model/workflow_short_api_result_grouped_reply.py @@ -0,0 +1,274 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.workflow_short_api_result_group import WorkflowShortApiResultGroup + globals()['WorkflowShortApiResultGroup'] = WorkflowShortApiResultGroup + + +class WorkflowShortApiResultGroupedReply(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'groups': ([WorkflowShortApiResultGroup],), # noqa: E501 + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'groups': 'groups', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, groups, total_count, *args, **kwargs): # noqa: E501 + """WorkflowShortApiResultGroupedReply - a model defined in OpenAPI + + Args: + groups ([WorkflowShortApiResultGroup]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.groups = groups + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, groups, total_count, *args, **kwargs): # noqa: E501 + """WorkflowShortApiResultGroupedReply - a model defined in OpenAPI + + Args: + groups ([WorkflowShortApiResultGroup]): + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.groups = groups + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/workflow_short_api_result_i_reply.py b/src/testit_api_client/model/workflow_short_api_result_i_reply.py new file mode 100644 index 00000000..1f37187c --- /dev/null +++ b/src/testit_api_client/model/workflow_short_api_result_i_reply.py @@ -0,0 +1,327 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.workflow_short_api_result import WorkflowShortApiResult + from testit_api_client.model.workflow_short_api_result_group import WorkflowShortApiResultGroup + from testit_api_client.model.workflow_short_api_result_grouped_reply import WorkflowShortApiResultGroupedReply + from testit_api_client.model.workflow_short_api_result_reply import WorkflowShortApiResultReply + globals()['WorkflowShortApiResult'] = WorkflowShortApiResult + globals()['WorkflowShortApiResultGroup'] = WorkflowShortApiResultGroup + globals()['WorkflowShortApiResultGroupedReply'] = WorkflowShortApiResultGroupedReply + globals()['WorkflowShortApiResultReply'] = WorkflowShortApiResultReply + + +class WorkflowShortApiResultIReply(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'total_count': (int,), # noqa: E501 + 'data': ([WorkflowShortApiResult],), # noqa: E501 + 'groups': ([WorkflowShortApiResultGroup],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + 'data': 'data', # noqa: E501 + 'groups': 'groups', # noqa: E501 + } + + read_only_vars = { + 'total_count', # noqa: E501 + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """WorkflowShortApiResultIReply - a model defined in OpenAPI + + Keyword Args: + total_count (int): + data ([WorkflowShortApiResult]): + groups ([WorkflowShortApiResultGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """WorkflowShortApiResultIReply - a model defined in OpenAPI + + Keyword Args: + data ([WorkflowShortApiResult]): + groups ([WorkflowShortApiResultGroup]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + ], + 'oneOf': [ + WorkflowShortApiResultGroupedReply, + WorkflowShortApiResultReply, + ], + } diff --git a/src/testit_api_client/models/__init__.py b/src/testit_api_client/models/__init__.py index 3c3f2192..c58d2c07 100644 --- a/src/testit_api_client/models/__init__.py +++ b/src/testit_api_client/models/__init__.py @@ -10,6 +10,10 @@ # sys.setrecursionlimit(n) from testit_api_client.model.ai_service_model_api_result import AIServiceModelApiResult +from testit_api_client.model.ai_service_model_api_result_group import AIServiceModelApiResultGroup +from testit_api_client.model.ai_service_model_api_result_group_key import AIServiceModelApiResultGroupKey +from testit_api_client.model.ai_service_model_api_result_grouped_reply import AIServiceModelApiResultGroupedReply +from testit_api_client.model.ai_service_model_api_result_i_reply import AIServiceModelApiResultIReply from testit_api_client.model.ai_service_model_api_result_reply import AIServiceModelApiResultReply from testit_api_client.model.action_update import ActionUpdate from testit_api_client.model.api_external_service_category import ApiExternalServiceCategory @@ -45,7 +49,6 @@ from testit_api_client.model.api_v2_projects_restore_bulk_post_request import ApiV2ProjectsRestoreBulkPostRequest from testit_api_client.model.api_v2_projects_search_post_request import ApiV2ProjectsSearchPostRequest from testit_api_client.model.api_v2_projects_shorts_post_request import ApiV2ProjectsShortsPostRequest -from testit_api_client.model.api_v2_search_global_search_post_request import ApiV2SearchGlobalSearchPostRequest from testit_api_client.model.api_v2_tags_delete_request import ApiV2TagsDeleteRequest from testit_api_client.model.api_v2_tags_post_request import ApiV2TagsPostRequest from testit_api_client.model.api_v2_tags_put_request import ApiV2TagsPutRequest @@ -255,6 +258,9 @@ from testit_api_client.model.external_issue_api_field import ExternalIssueApiField from testit_api_client.model.external_issue_api_field_suggestion import ExternalIssueApiFieldSuggestion from testit_api_client.model.external_issue_api_field_suggestion_external_service import ExternalIssueApiFieldSuggestionExternalService +from testit_api_client.model.external_issue_api_field_suggestion_group import ExternalIssueApiFieldSuggestionGroup +from testit_api_client.model.external_issue_api_field_suggestion_grouped_reply import ExternalIssueApiFieldSuggestionGroupedReply +from testit_api_client.model.external_issue_api_field_suggestion_i_reply import ExternalIssueApiFieldSuggestionIReply from testit_api_client.model.external_issue_api_field_suggestion_reply import ExternalIssueApiFieldSuggestionReply from testit_api_client.model.external_issue_api_metadata import ExternalIssueApiMetadata from testit_api_client.model.external_issue_api_metadata_priority import ExternalIssueApiMetadataPriority @@ -296,12 +302,11 @@ from testit_api_client.model.get_external_issue_suggestions_api_model import GetExternalIssueSuggestionsApiModel from testit_api_client.model.get_external_issue_suggestions_api_model_inquiry import GetExternalIssueSuggestionsApiModelInquiry from testit_api_client.model.get_short_projects_api_model import GetShortProjectsApiModel -from testit_api_client.model.get_xlsx_test_points_by_test_plan_model import GetXlsxTestPointsByTestPlanModel +from testit_api_client.model.get_xlsx_test_points_by_test_plan_api_model import GetXlsxTestPointsByTestPlanApiModel from testit_api_client.model.global_custom_attribute_post_model import GlobalCustomAttributePostModel from testit_api_client.model.global_custom_attribute_update_model import GlobalCustomAttributeUpdateModel -from testit_api_client.model.global_search_item_result import GlobalSearchItemResult -from testit_api_client.model.global_search_request import GlobalSearchRequest -from testit_api_client.model.global_search_response import GlobalSearchResponse +from testit_api_client.model.group import Group +from testit_api_client.model.group_key import GroupKey from testit_api_client.model.guid_changed_field_view_model import GuidChangedFieldViewModel from testit_api_client.model.guid_extraction_model import GuidExtractionModel from testit_api_client.model.guid_nullable_changed_field_view_model import GuidNullableChangedFieldViewModel @@ -376,6 +381,9 @@ from testit_api_client.model.project_name_api_result import ProjectNameApiResult from testit_api_client.model.project_select_model import ProjectSelectModel from testit_api_client.model.project_short_api_result import ProjectShortApiResult +from testit_api_client.model.project_short_api_result_group import ProjectShortApiResultGroup +from testit_api_client.model.project_short_api_result_grouped_reply import ProjectShortApiResultGroupedReply +from testit_api_client.model.project_short_api_result_i_reply import ProjectShortApiResultIReply from testit_api_client.model.project_short_api_result_reply import ProjectShortApiResultReply from testit_api_client.model.project_shortest_model import ProjectShortestModel from testit_api_client.model.project_test_plans_filter_model import ProjectTestPlansFilterModel @@ -587,6 +595,9 @@ from testit_api_client.model.test_run_test_results_select_model_test_result_ids_extraction_model import TestRunTestResultsSelectModelTestResultIdsExtractionModel from testit_api_client.model.test_run_v2_api_result import TestRunV2ApiResult from testit_api_client.model.test_status_api_result import TestStatusApiResult +from testit_api_client.model.test_status_api_result_group import TestStatusApiResultGroup +from testit_api_client.model.test_status_api_result_grouped_reply import TestStatusApiResultGroupedReply +from testit_api_client.model.test_status_api_result_i_reply import TestStatusApiResultIReply from testit_api_client.model.test_status_api_result_reply import TestStatusApiResultReply from testit_api_client.model.test_status_api_type import TestStatusApiType from testit_api_client.model.test_status_model import TestStatusModel @@ -746,8 +757,14 @@ from testit_api_client.model.workflow_exists_by_name_api_result import WorkflowExistsByNameApiResult from testit_api_client.model.workflow_project_api_result import WorkflowProjectApiResult from testit_api_client.model.workflow_project_api_result_api_collection_preview import WorkflowProjectApiResultApiCollectionPreview +from testit_api_client.model.workflow_project_api_result_group import WorkflowProjectApiResultGroup +from testit_api_client.model.workflow_project_api_result_grouped_reply import WorkflowProjectApiResultGroupedReply +from testit_api_client.model.workflow_project_api_result_i_reply import WorkflowProjectApiResultIReply from testit_api_client.model.workflow_project_api_result_reply import WorkflowProjectApiResultReply from testit_api_client.model.workflow_short_api_result import WorkflowShortApiResult +from testit_api_client.model.workflow_short_api_result_group import WorkflowShortApiResultGroup +from testit_api_client.model.workflow_short_api_result_grouped_reply import WorkflowShortApiResultGroupedReply +from testit_api_client.model.workflow_short_api_result_i_reply import WorkflowShortApiResultIReply from testit_api_client.model.workflow_short_api_result_projects import WorkflowShortApiResultProjects from testit_api_client.model.workflow_short_api_result_reply import WorkflowShortApiResultReply from testit_api_client.model.workflow_status_api_model import WorkflowStatusApiModel