def test_province_success(value: str) -> None: Province().validate(value) # type:ignore
def test_province_failure(value: str) -> None: with raises(ValidationError): Province().validate(value) # type:ignore
@doc.consumes(HeaderImmuniContentTypeJson(), location="header", required=True) @doc.consumes(HeaderImmuniAuthorizationOtpSha(), location="header", required=True) @doc_exception(SchemaValidationException) @doc.response( HTTPStatus.NO_CONTENT.value, None, description="Upload completed successfully.", ) @validate( location=Location.HEADERS, client_clock=fields.Integer(required=True, data_key=HeaderImmuniClientClock.DATA_KEY), is_dummy=IntegerBoolField( required=True, allow_strings=True, data_key=HeaderImmuniDummyData.DATA_KEY, ), ) @validate( location=Location.JSON, province=Province(), teks=fields.Nested( TemporaryExposureKeySchema, required=True, many=True, validate=TekListValidator() ), exposure_detection_summaries=fields.Nested( ExposureDetectionSummarySchema, required=True, many=True, ), padding=fields.String(validate=Regexp(r"^[a-zA-Z0-9]*$")), ) @validate_token_format @cache(no_store=True) async def upload( # pylint: disable=too-many-arguments request: Request, province: str, teks: List[TemporaryExposureKey], exposure_detection_summaries: List[ExposureDetectionSummary],