# generated by datamodel-codegen:
#   filename:  api/tests/createTestDefinition.json
#   timestamp: 2022-10-04T14:49:18+00:00

from __future__ import annotations

from typing import List, Optional

from pydantic import BaseModel, Extra, Field

from ...entity.data import table
from ...tests import testDefinition
from ...type import basic


class CreateTestDefinitionRequest(BaseModel):
    class Config:
        extra = Extra.forbid

    name: basic.EntityName = Field(
        ..., description='Name that identifies this test case.'
    )
    displayName: Optional[str] = Field(
        None, description='Display Name that identifies this test case.'
    )
    description: basic.Markdown = Field(..., description='Description of the testcase.')
    entityType: testDefinition.EntityType
    testPlatforms: List[testDefinition.TestPlatform]
    supportedDataTypes: Optional[List[table.DataType]] = None
    parameterDefinition: Optional[
        List[testDefinition.TestCaseParameterDefinition]
    ] = None
