Task: Implement Spector Integration Tests
Use the spector-test-implementer skill to implement test files for the following not-implemented scenario groups.
Not-implemented scenario groups:
Azure_ClientGenerator_Core_ClientDefaultValue (4 scenarios: getHeaderParameter, getOperationParameter, getPathParameter, putModelProperty)
Azure_ClientGenerator_Core_Override_GroupParameters (1 scenarios: group)
Azure_Core_Page (2 scenarios: withParameterizedNextLink, withRelativeNextLink)
Azure_ResourceManager_CommonProperties_Error (1 scenarios: createForUserDefinedError)
Azure_ResourceManager_MultiServiceOlderVersions_ComputeDisk_Disks (2 scenarios: createOrUpdate, get)
Azure_ResourceManager_MultiServiceOlderVersions_Compute_VirtualMachines (2 scenarios: createOrUpdate, get)
Azure_ResourceManager_MultiServiceSharedModels_Compute_VirtualMachines (2 scenarios: createOrUpdate, get)
Azure_ResourceManager_MultiServiceSharedModels_Storage_StorageAccounts (2 scenarios: createOrUpdate, get)
Azure_ResourceManager_MultiService_ComputeDisk_Disks (2 scenarios: createOrUpdate, get)
Azure_ResourceManager_MultiService_Compute_VirtualMachines (2 scenarios: createOrUpdate, get)
Azure_ResourceManager_OperationTemplates_Lro (1 scenarios: exportArray)
Azure_ResourceManager_Resources_TopLevel (1 scenarios: update)
Resiliency_ServiceDriven (1 scenarios: breakTheGlass)
Service_MultiService_ServiceA_Foo (1 scenarios: test)
Service_MultiService_ServiceB_Bar (1 scenarios: test)
Authentication_Noauth_Union (2 scenarios: validNoAuth, validToken)
Documentation_Lists (3 scenarios: bulletPointsModel, bulletPointsOp, numbered)
Documentation_TextFormatting (3 scenarios: boldText, combinedFormatting, italicText)
Encode_Duration_Header (2 scenarios: floatMillisecondsLargerUnit, floatSecondsLargerUnit)
Encode_Duration_Query (2 scenarios: floatMillisecondsLargerUnit, floatSecondsLargerUnit)
Parameters_Query_Constant (1 scenarios: post)
Payload_JsonMergePatch (3 scenarios: createResource, updateOptionalResource, updateResource)
Payload_MultiPart_FormData (9 scenarios: anonymousModel, basic, binaryArrayParts, checkFileNameAndContentType, fileArrayAndBasic, jsonPart, multiBinaryParts, optionalParts, withWireName)
Payload_MultiPart_FormData_File (3 scenarios: uploadFileArray, uploadFileRequiredFilename, uploadFileSpecificContentType)
Payload_MultiPart_FormData_HttpParts (1 scenarios: jsonArrayAndFileArray)
Payload_MultiPart_FormData_HttpParts_ContentType (3 scenarios: imageJpegContentType, optionalContentType, requiredContentType)
Payload_MultiPart_FormData_HttpParts_NonString (1 scenarios: float)
Payload_Pageable_PageSize (2 scenarios: listWithPageSize, listWithoutContinuation)
Payload_Pageable_ServerDrivenPagination (2 scenarios: linkString, nestedLink)
Payload_Pageable_ServerDrivenPagination_ContinuationToken (6 scenarios: requestHeaderNestedResponseBody, requestHeaderResponseBody, requestHeaderResponseHeader, requestQueryNestedResponseBody, requestQueryResponseBody, requestQueryResponseHeader)
Payload_Pageable_XmlPagination (2 scenarios: listWithContinuation, listWithNextLink)
Payload_Xml_ModelWithDatetimeValue (2 scenarios: get, put)
Payload_Xml_ModelWithEnumValue (2 scenarios: get, put)
Payload_Xml_XmlErrorValue (1 scenarios: get)
Response_StatusCodeRange (2 scenarios: errorResponseStatusCode404, errorResponseStatusCodeInRange)
Streaming_Jsonl_Basic (2 scenarios: receive, send)
Type_File_Body (8 scenarios: downloadFileDefaultContentType, downloadFileJsonContentType, downloadFileMultipleContentTypes, downloadFileSpecificContentType, uploadFileDefaultContentType, uploadFileJsonContentType, uploadFileMultipleContentTypes, uploadFileSpecificContentType)
Type_Model_Visibility (7 scenarios: deleteModel, getModel, headModel, patchModel, postModel, putModel, putReadOnlyModel)
Type_Union_Discriminated_Envelope_Object_CustomProperties (2 scenarios: get, put)
Type_Union_Discriminated_Envelope_Object_Default (2 scenarios: get, put)
Type_Union_Discriminated_NoEnvelope_CustomDiscriminator (2 scenarios: get, put)
Type_Union_Discriminated_NoEnvelope_Default (2 scenarios: get, put)
Instructions:
- For each scenario group above, check if a
.spec.ts file already exists in packages/typespec-ts/test/azureModularIntegration/ — skip if it does
- For remaining groups, follow the spector-test-implementer workflow to implement the tests
- Report which tests passed and which failed
PR description format:
The PR description must use this format for each section:
New spec files
For each newly created .spec.ts file, use this structure:
Scenario_Group_Name — scenarioGroupName.spec.ts
- ✅
scenarioName1
- ✅
scenarioName2
- ❌
scenarioName3 (reason for failure)
Updated existing spec files
Same structure as above, but for spec files that already existed and were updated with new scenarios.
Known skips / emitter limitations
List any scenarios that were skipped due to emitter bugs or limitations, with the reason.
Results should be commented on issue #3883.
Task: Implement Spector Integration Tests
Use the
spector-test-implementerskill to implement test files for the following not-implemented scenario groups.Not-implemented scenario groups:
Azure_ClientGenerator_Core_ClientDefaultValue(4 scenarios: getHeaderParameter, getOperationParameter, getPathParameter, putModelProperty)Azure_ClientGenerator_Core_Override_GroupParameters(1 scenarios: group)Azure_Core_Page(2 scenarios: withParameterizedNextLink, withRelativeNextLink)Azure_ResourceManager_CommonProperties_Error(1 scenarios: createForUserDefinedError)Azure_ResourceManager_MultiServiceOlderVersions_ComputeDisk_Disks(2 scenarios: createOrUpdate, get)Azure_ResourceManager_MultiServiceOlderVersions_Compute_VirtualMachines(2 scenarios: createOrUpdate, get)Azure_ResourceManager_MultiServiceSharedModels_Compute_VirtualMachines(2 scenarios: createOrUpdate, get)Azure_ResourceManager_MultiServiceSharedModels_Storage_StorageAccounts(2 scenarios: createOrUpdate, get)Azure_ResourceManager_MultiService_ComputeDisk_Disks(2 scenarios: createOrUpdate, get)Azure_ResourceManager_MultiService_Compute_VirtualMachines(2 scenarios: createOrUpdate, get)Azure_ResourceManager_OperationTemplates_Lro(1 scenarios: exportArray)Azure_ResourceManager_Resources_TopLevel(1 scenarios: update)Resiliency_ServiceDriven(1 scenarios: breakTheGlass)Service_MultiService_ServiceA_Foo(1 scenarios: test)Service_MultiService_ServiceB_Bar(1 scenarios: test)Authentication_Noauth_Union(2 scenarios: validNoAuth, validToken)Documentation_Lists(3 scenarios: bulletPointsModel, bulletPointsOp, numbered)Documentation_TextFormatting(3 scenarios: boldText, combinedFormatting, italicText)Encode_Duration_Header(2 scenarios: floatMillisecondsLargerUnit, floatSecondsLargerUnit)Encode_Duration_Query(2 scenarios: floatMillisecondsLargerUnit, floatSecondsLargerUnit)Parameters_Query_Constant(1 scenarios: post)Payload_JsonMergePatch(3 scenarios: createResource, updateOptionalResource, updateResource)Payload_MultiPart_FormData(9 scenarios: anonymousModel, basic, binaryArrayParts, checkFileNameAndContentType, fileArrayAndBasic, jsonPart, multiBinaryParts, optionalParts, withWireName)Payload_MultiPart_FormData_File(3 scenarios: uploadFileArray, uploadFileRequiredFilename, uploadFileSpecificContentType)Payload_MultiPart_FormData_HttpParts(1 scenarios: jsonArrayAndFileArray)Payload_MultiPart_FormData_HttpParts_ContentType(3 scenarios: imageJpegContentType, optionalContentType, requiredContentType)Payload_MultiPart_FormData_HttpParts_NonString(1 scenarios: float)Payload_Pageable_PageSize(2 scenarios: listWithPageSize, listWithoutContinuation)Payload_Pageable_ServerDrivenPagination(2 scenarios: linkString, nestedLink)Payload_Pageable_ServerDrivenPagination_ContinuationToken(6 scenarios: requestHeaderNestedResponseBody, requestHeaderResponseBody, requestHeaderResponseHeader, requestQueryNestedResponseBody, requestQueryResponseBody, requestQueryResponseHeader)Payload_Pageable_XmlPagination(2 scenarios: listWithContinuation, listWithNextLink)Payload_Xml_ModelWithDatetimeValue(2 scenarios: get, put)Payload_Xml_ModelWithEnumValue(2 scenarios: get, put)Payload_Xml_XmlErrorValue(1 scenarios: get)Response_StatusCodeRange(2 scenarios: errorResponseStatusCode404, errorResponseStatusCodeInRange)Streaming_Jsonl_Basic(2 scenarios: receive, send)Type_File_Body(8 scenarios: downloadFileDefaultContentType, downloadFileJsonContentType, downloadFileMultipleContentTypes, downloadFileSpecificContentType, uploadFileDefaultContentType, uploadFileJsonContentType, uploadFileMultipleContentTypes, uploadFileSpecificContentType)Type_Model_Visibility(7 scenarios: deleteModel, getModel, headModel, patchModel, postModel, putModel, putReadOnlyModel)Type_Union_Discriminated_Envelope_Object_CustomProperties(2 scenarios: get, put)Type_Union_Discriminated_Envelope_Object_Default(2 scenarios: get, put)Type_Union_Discriminated_NoEnvelope_CustomDiscriminator(2 scenarios: get, put)Type_Union_Discriminated_NoEnvelope_Default(2 scenarios: get, put)Instructions:
.spec.tsfile already exists inpackages/typespec-ts/test/azureModularIntegration/— skip if it doesPR description format:
The PR description must use this format for each section:
New spec files
For each newly created .spec.ts file, use this structure:
Scenario_Group_Name—scenarioGroupName.spec.tsscenarioName1scenarioName2scenarioName3(reason for failure)Updated existing spec files
Same structure as above, but for spec files that already existed and were updated with new scenarios.
Known skips / emitter limitations
List any scenarios that were skipped due to emitter bugs or limitations, with the reason.
Results should be commented on issue #3883.