web-api-commander/generic.resoscript

816 lines
38 KiB
Plaintext
Raw Normal View History

<?xml version="1.0" encoding="utf-8" ?> <!--TODO: add XML DTD-->
<!--
Generic RESOScript Test File
NOTES:
* Anything marked REQUIRED should be filled in.
* Anything not market REQUIRED shouldn't have to be changed.
* Some items are market OPTIONAL.
* Any item that has a blank Url will be skipped (which will be printed in the results).
Contact info@reso.org with further questions.
-->
<OutputScript>
<ClientSettings>
<!-- URLS -->
<WebAPIURI><!--REQUIRED: Your Web API Service Root goes here --></WebAPIURI>
<!-- Credentials -->
<AuthenticationType>Authorization Code</AuthenticationType>
<BearerToken><!-- REQUIRED: Your BearerToken goes here --></BearerToken>
<ClientScope>all</ClientScope>
<Version>Web API/1.0</Version>
<Preauthenticate>FALSE</Preauthenticate>
</ClientSettings>
<Parameters>
<!-- URI of OData metadata endpoint-->
<Parameter Name="EndpointMetadata" Value="$metadata" />
<!-- REQUIRED: The endpoint resource being tested-->
<Parameter Name="EndpointResource" Value="Properties" />
<!-- HTTP Code Testing -->
<!-- REQUIRED: 200 Response OK -->
<Parameter Name="200_OK" Value="*Parameter_EndpointResource*" />
<!-- REQUIRED: 400 Bad Request - Requires Full URL & Separate Login Credentials -->
<Parameter Name="400BadRequest" Value="*Parameter_EndpointResource*?$filter=BadField eq 'SoBad'" />
<!-- REQUIRED: 403 Forbidden -->
<Parameter Name="403Forbidden" Value="Teams" />
<!-- REQUIRED: 404 Not Found -->
<Parameter Name="404NotFound" Value="ResourceNotFound" />
<!-- REQUIRED: 501 Not Implemented -->
<Parameter Name="501NotImplemented" Value="*Parameter_EndpointResource*?$search=red OR blue" />
<!-- MISC PARAMETERS -->
<!-- REQUIRED: OData $select list - adapt this for your system and then adjust the remaining queries accordingly -->
<Parameter Name="SelectList" Value="ListingKey,BedroomsTotal,StreetName,PropertyType,ModificationTimestamp" />
<!-- REQUIRED: Substitute key name from your EndpointMetadata here, either ListingKey or ListingKeyNumeric,
which requires rewriting some of the queries that follow... -->
<Parameter Name="UniqueID" Value="ListingKey" />
<!-- REQUIRED: Provide a value for the UniqueID from your server -->
<Parameter Name="UniqueIDValue" Value="REQUIRED: YOUR UniqueIDValue GOES HERE" />
<!-- For Top, Skip, and Sort Testing -->
<Parameter Name="TopCount" Value="5" />
<Parameter Name="SortCount" Value="20" />
<!-- Numeric Field for eq, ne, gt, ge, lt, le testing -->
<!-- Type="Edm.Int16" or Type="Edm.Int32" or Type="Edm.Int64" for non-lookup fields -->
<Parameter Name="FilterNumericField" Value="BedroomsTotal" />
<Parameter Name="FilterNumericValueLow" Value="9" />
<Parameter Name="FilterNumericValueHigh" Value="15" />
<Parameter Name="FilterNumericNotFound" Value="-1" />
<!-- Numeric Field for "not" testing -->
<Parameter Name="FilterNotField" Value="BedroomsTotal" />
<Parameter Name="FilterNotValue" Value="-1" />
<!-- Enumerated Field for "has" testing -->
<Parameter Name="FilterHasField" Value="PropertyType" />
<Parameter Name="FilterHasValue" Value="PropertyEnums.PropertyType'Rental'" />
<!-- Enumerated Field for SingleValue/Multi-value testing -->
<Parameter Name="SingleValueLookupField" Value="PropertyType" />
<Parameter Name="SingleValueLookupValue" Value="PropertyEnums.PropertyType'Rental'" />
<Parameter Name="MultipleValueLookupField" Value="Appliances" />
<Parameter Name="MultipleValueLookupValue1" Value="PropertyEnums.Appliances'Refrigerator'"/>
<Parameter Name="MultipleValueLookupValue2" Value="PropertyEnums.Appliances'Stacked'" />
<!-- For Expand Testing -->
<Parameter Name="ExpandField" Value="ListAgent" />
<!-- For Geo-spatial Testing -->
<Parameter Name="GeospatialLatitudeField" Value="Latitude" />
<Parameter Name="GeospatialLongitudeField" Value="Longitude" />
<Parameter Name="GeospatialField" Value="Coordinates" />
<Parameter Name="GeospatialValue" Value="REQUIRED: YOUR COORDINATES GO HERE in 'Longitude Latitude' format" /> <!-- "Longitude Latitude" -->
<Parameter Name="GeospatialDistanceValue" Value="100" />
<!--String Fields for testing -->
<!-- Type="Edm.String" -->
<Parameter Name="ContainsField" Value="StreetName" />
<Parameter Name="ContainsValue" Value="M" />
<Parameter Name="EndsWithField" Value="StreetName" />
<Parameter Name="EndsWithValue" Value="Rd" />
<Parameter Name="StartsWithField" Value="StreetName" />
<Parameter Name="StartsWithValue" Value="M" />
<Parameter Name="ToLowerField" Value="StreetName" />
<Parameter Name="ToLowerValue" Value="main" />
<Parameter Name="ToUpperField" Value="StreetName" />
<Parameter Name="ToUpperValue" Value="MAIN" />
<!-- REQUIRED: Date Fields for testing -->
<Parameter Name="DateField" Value="ModificationTimestamp" />
<Parameter Name="DateTimeValue" Value="2018-12-31T23:55:55-09:00" />
<Parameter Name="DateValue" Value="2018-12-31" />
<Parameter Name="YearValue" Value="2018" />
<Parameter Name="MonthValue" Value="12" />
<Parameter Name="DayValue" Value="31" />
<Parameter Name="TimestampField" Value="ModificationTimestamp" />
<Parameter Name="TimeValue" Value="23:55:55" />
<Parameter Name="HourValue" Value="23" />
<Parameter Name="MinuteValue" Value="55" />
<Parameter Name="SecondValue" Value="55" />
<Parameter Name="FractionalValue" Value="30" />
<!-- REQUIRED: New Fields for WS103 Testing -->
<Parameter Name="ValueField" Value="AboveGradeFinishedArea" />
<Parameter Name="CastField" Value="AboveGradeFinishedArea" />
<Parameter Name="CastFieldType" Value="Edm.String" />
<Parameter Name="CastFieldValue" Value="YOUR CastFieldValue GOES HERE, FOR EXAMPLE 1200" />
<Parameter Name="ConcatFieldOne" Value="StreetName" />
<Parameter Name="ConcatFieldOneValue" Value="YOUR OneValue GOES HERE>" />
<Parameter Name="ConcatFieldTwo" Value="City" />
<Parameter Name="ConcatFieldTwoValue" Value="YOUR TwoValue GOES HERE" />
<Parameter Name="ConcatFieldBothValue" Value="Your 'OneValue: TwoValue' GOES HERE" /> <!-- format 'OneValue: TwoValue' -->
<!-- OPTIONAL: System Specific Additional Required Parameters for Queries. Leave Blank if none. -->
<Parameter Name="RequiredParameters" Value="" />
<Parameter Name="RequiredParametersFilter" Value="" />
</Parameters>
<Requests>
<!-- NOTE: for this test, we always assume that /$metadata is relative to the Web API Service Root, referred to as WebAPIURI here -->
<Request
TestDescription="Metadata Endpoint"
RequirementId="REQ-WA103-END3"
MetallicLevel="Core"
Capability="Core Support"
WebAPIReference=""
OutputFile="REQ-WA103-END3_Metadata.xml"
Url="*ClientSettings_WebAPIURI*/$metadata?$format=application/xml"
/>
<Request
TestDescription="Data System"
RequirementId="REQ-WA103-END2"
MetallicLevel="Core"
Capability="Core Support"
WebAPIReference=""
OutputFile="REQ-WA103-END2_DataSystem.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointDataSystems*"
/>
<Request
TestDescription="Field names are case sensitive when used in the $select, $filter, and $orderby parameters. Case sensitivity is tested against the values defined in the resource metadata. Case sensitivity MUST be supported."
RequirementId="REQ-WA103-Q1"
MetallicLevel="Core"
Capability="Core Support"
WebAPIReference=""
OutputFile="REQ-WA103-Q1.json"
Url=""
AssertResponseCode="400"
/>
<!-- TODO: verify AssertResponseCode -->
<Request
TestDescription="Servers MAY reject queries that are too complex to accept/handle. Servers MUST generate an appropriate error response and gracefully deny the request."
RequirementId="REQ-WA103-Q2"
MetallicLevel="Core"
Capability="Query functions"
WebAPIReference=""
OutputFile="REQ-WA103-Q2.json"
Url="*Parameter_QueryTooComplexUri*"
AssertResponseCode="20211"
/>
<Request
TestDescription="Search Parameters: Search by UniqueID"
RequirementId="REQ-WA103-QR1"
MetallicLevel="Core"
Capability="Query functions"
WebAPIReference="2.4.1"
OutputFile="REQ-WA103-QR1.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*(*Parameter_UniqueIDValue*)?$select=*Parameter_UniqueID*"
/>
<Request
TestDescription="Query Support: $select"
RequirementId="REQ-WA103-QR3"
MetallicLevel="Core"
Capability="Query functions"
WebAPIReference="2.4.2"
OutputFile="REQ-WA103-QR3.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* gt *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $top"
RequirementId="REQ-WA103-QR4"
MetallicLevel="Core"
Capability="Client pageability ($top, $skip)"
WebAPIReference="2.4.2"
OutputFile="REQ-WA103-QR4.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* gt *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $skip"
RequirementId="REQ-WA103-QR5"
MetallicLevel="Core"
Capability="Client pageability ($top, $skip)"
WebAPIReference="2.4.2"
OutputFile="REQ-WA103-QR5.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* gt *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*&amp;$skip=*Parameter_TopCount*"
/>
<Request
TestDescription="Query Support: $filter"
RequirementId="REQ-WA103-QO1"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO1-1_Select_Case.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$SeLeCt=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* eq *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
AssertResponseCode="400"
/>
<Request
TestDescription="Query Support: $filter (2)"
RequirementId="REQ-WA103-QO1"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO1-2_Filter_Case.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$FiLtEr=*Parameter_FilterNumericField* eq *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
AssertResponseCode="400"
/>
<Request
TestDescription="Query Support: $filter (3)"
RequirementId="REQ-WA103-QO1"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO1-3a_OrderByAsc_Case.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&amp;$select=*Parameter_FilterNumericField*&amp;$filter=*Parameter_FilterNumericField* gt *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*&amp;$OrDeRbY=*Parameter_FilterNumericField* asc"
AssertResponseCode="400"
/>
<Request
TestDescription="Query Support: $filter (4)"
RequirementId="REQ-WA103-QO1"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO1-3b_OrderByDesc_Case.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&amp;$select=*Parameter_FilterNumericField*&amp;$filter=*Parameter_FilterNumericField* gt *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*&amp;$oRdErBy=*Parameter_FilterNumericField* desc"
AssertResponseCode="400"
/>
<Request
TestDescription="Query Support: $filter - Comparison: eq (equal)"
RequirementId="REQ-WA103-QO2"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO2_filter_eq.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* eq *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - Comparison: ne (not equal)"
RequirementId="REQ-WA103-QO3"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO3_filter_ne.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* ne *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - Comparison: gt (greater than)"
RequirementId="REQ-WA103-QO4"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO4_filter_gt.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* gt *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - Comparison: ge (greater or equal)"
RequirementId="REQ-WA103-QO5"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO5_filter_ge.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* ge *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - Comparison: lt (less than)"
RequirementId="REQ-WA103-QO6"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO6_filter_lt.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* lt *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - Comparison: le (less or equal)"
RequirementId="REQ-WA103-QO7"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO7_filter_le.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* le *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - Logical: and"
RequirementId="REQ-WA103-QO9"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO9_filter_and.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* gt *Parameter_FilterNumericValueLow* and *Parameter_FilterNumericField* lt *Parameter_FilterNumericValueHigh**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - Logical: or"
RequirementId="REQ-WA103-QO10"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO10_filter_or.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterNumericField* gt *Parameter_FilterNumericValueHigh* or *Parameter_FilterNumericField* lt *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - Logical: not"
RequirementId="REQ-WA103-QO11"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO11_filter_not.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=not (*Parameter_FilterNotField* le *Parameter_FilterNotValue*)*Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Date: Date"
RequirementId="REQ-WA103-QO25"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO25.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=date(*Parameter_TimestampField*) gt *Parameter_DateValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Date: Time"
RequirementId="REQ-WA103-QO26"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO26.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=time(*Parameter_TimestampField*) lt *Parameter_TimeValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Date: Time (2)"
RequirementId="REQ-WA103-QO26"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO26-2.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_TimestampField* lt *Parameter_DateTimeValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Date: Now"
RequirementId="REQ-WA103-QO27"
MetallicLevel="Core"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO27_now.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_TimestampField* le now()*Parameter_RequiredParameters*"
/>
<Request
TestDescription="Support Annotations"
RequirementId="REQ-WA103-QM6"
MetallicLevel="Bronze"
Capability="Core Support"
WebAPIReference="2.4.8"
OutputFile="REQ-WA103-QM6.json"
Url=""
/>
<Request
TestDescription="Support Single Value Lookups"
RequirementId="REQ-WA103-QM7"
MetallicLevel="Bronze"
Capability="Query functions"
WebAPIReference="2.4.9"
OutputFile="REQ-WA103-QM7.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_UniqueID*,*Parameter_SingleValueLookupField*&amp;$filter=*Parameter_SingleValueLookupField* has *Parameter_SingleValueLookupValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Support Multi Value Lookups"
RequirementId="REQ-WA103-QM8"
MetallicLevel="Bronze"
Capability="Query functions"
WebAPIReference="2.4.10"
OutputFile="REQ-WA103-QM8.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_UniqueID*,*Parameter_MultipleValueLookupField*&amp;$filter=*Parameter_MultipleValueLookupField* has *Parameter_MultipleValueLookupValue1**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Support Multi Value Lookups (2)"
RequirementId="REQ-WA103-QM8"
MetallicLevel="Bronze"
Capability="Query functions"
WebAPIReference="2.4.10"
OutputFile="REQ-WA103-QM8_Enum_MVL_Multi.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_UniqueID*,*Parameter_MultipleValueLookupField*&amp;$filter=*Parameter_MultipleValueLookupField* has *Parameter_MultipleValueLookupValue1* and *Parameter_MultipleValueLookupField* has *Parameter_MultipleValueLookupValue2**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - Comparison: has"
RequirementId="REQ-WA103-QO8"
MetallicLevel="Bronze"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO8.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=*Parameter_FilterHasField* has *Parameter_FilterHasValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $orderby asc filtered"
RequirementId="REQ-WA103-QO28"
MetallicLevel="Bronze"
Capability="Sortability ($orderby)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO28_OrderByAscFiltered.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&amp;$select=*Parameter_FilterNumericField*,*Parameter_TimestampField*&amp;$orderby=*Parameter_TimestampField* asc&amp;$filter=*Parameter_FilterNumericField* gt *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $orderby asc no filter"
RequirementId="REQ-WA103-QO28"
MetallicLevel="Bronze"
Capability="Sortability ($orderby)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO28_OrderByAscNoFilter.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&amp;$select=*Parameter_FilterNumericField*,*Parameter_TimestampField*&amp;$orderby=*Parameter_TimestampField* asc"
/>
<Request
TestDescription="Query Support: $orderby desc filtered"
RequirementId="REQ-WA103-QO28"
MetallicLevel="Bronze"
Capability="Sortability ($orderby)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO28_OrderByDescFiltered.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&amp;$select=*Parameter_FilterNumericField*,*Parameter_TimestampField*&amp;$orderby=*Parameter_TimestampField* desc&amp;$filter=*Parameter_FilterNumericField* gt *Parameter_FilterNumericValueLow**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $orderby desc no filter"
RequirementId="REQ-WA103-QO28"
MetallicLevel="Bronze"
Capability="Sortability ($orderby)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO28_OrderByDescNoFilter.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&amp;$select=*Parameter_FilterNumericField*,*Parameter_TimestampField*&amp;$orderby=*Parameter_TimestampField* desc"
/>
<Request
TestDescription="Query Support: $filter: Date: year"
RequirementId="REQ-WA103-QO18"
MetallicLevel="Gold"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO18_DateYear.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=year(*Parameter_DateField*) eq *Parameter_YearValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Time: year"
RequirementId="REQ-WA103-QO18"
MetallicLevel="Gold"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO18_TimeYear.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=year(*Parameter_TimestampField*) eq *Parameter_YearValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Date: month"
RequirementId="REQ-WA103-QO19"
MetallicLevel="Gold"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO19_DateMonth.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=month(*Parameter_DateField*) eq *Parameter_MonthValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Time: month"
RequirementId="REQ-WA103-QO19"
MetallicLevel="Gold"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO19_TimeMonth.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=month(*Parameter_TimestampField*) eq *Parameter_MonthValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Date: day"
RequirementId="REQ-WA103-QO20"
MetallicLevel="Gold"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO20_DateDay.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=day(*Parameter_DateField*) eq *Parameter_DayValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Time: day"
RequirementId="REQ-WA103-QO20"
MetallicLevel="Gold"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO20_TimeDay.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=day(*Parameter_TimestampField*) eq *Parameter_DayValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Date: hour"
RequirementId="REQ-WA103-QO21"
MetallicLevel="Gold"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO21_TimeHour.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=hour(*Parameter_TimestampField*) eq *Parameter_HourValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Date: minute"
RequirementId="REQ-WA103-QO22"
MetallicLevel="Gold"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO22_TimeMinute.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=minute(*Parameter_TimestampField*) gt *Parameter_MinuteValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Date: second"
RequirementId="REQ-WA103-QO23"
MetallicLevel="Gold"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO23_TimeSecond.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=second(*Parameter_TimestampField*) lt *Parameter_SecondValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter: Date: fractionalseconds"
RequirementId="REQ-WA103-QO24"
MetallicLevel="Gold"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO24_TimeFraction.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=fractionalseconds(*Parameter_TimestampField*) lt *Parameter_FractionalValue**Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $expand"
RequirementId="REQ-WA103-QO29"
MetallicLevel="Platinum"
Capability="Expandability ($expand)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO29_Expand.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*,*Parameter_ExpandField*&amp;$expand=*Parameter_ExpandField*"
/>
<Request
TestDescription="Query Support: $expand media photo count"
RequirementId="REQ-WA103-QO29"
MetallicLevel="Platinum"
Capability="Expandability ($expand)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO29_Expand_MediaPhotoCount.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*,*Parameter_ExpandField*&amp;$expand=*Parameter_ExpandField*&amp;$filter=PhotosCount gt 0"
/>
<Request
TestDescription="Query Support: $expand required field"
RequirementId="REQ-WA103-QO29"
MetallicLevel="Platinum"
Capability="Expandability ($expand)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO29_ExpandReqField.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*,*Parameter_ExpandField*&amp;$expand=*Parameter_ExpandField**Parameter_RequiredParametersFilter*"
/>
<Request
TestDescription="Support Only Correct Data Types: Edm.Boolean, Edm.Byte, Edm.Date, Edm.DateTimeOffset, Edm.Decimal, Edm.Double, Edm.Int16, Edm.Int32, Edm.Int64. Edm.SByte, Edm.String, Edm.TimeOfDay, Edm.Geography, Edm.GeographyPoint, Edm.GeographyLineString, Edm.GeographyPolygon, Edm.GeographyMultiPoint, Edm.GeographyMultiLineString, Edm.GeographyMultiPolygon, Edm.EnumType."
RequirementId="REQ-WA103-QM1"
MetallicLevel="Platinum"
Capability="Metadata Support"
WebAPIReference="2.4.3"
OutputFile="REQ-WA103-QM1.json"
Url=""
/>
<Request
TestDescription="Support Lambda Operators"
RequirementId="REQ-WA103-QM2"
MetallicLevel="Platinum"
Capability="Optional Support"
WebAPIReference="2.4.5"
OutputFile="REQ-WA103-QM2.json"
Url=""
/>
<Request
TestDescription="Support Literals: $any"
RequirementId="REQ-WA103-QM3"
MetallicLevel="Platinum"
Capability="Query functions"
WebAPIReference="2.4.6"
OutputFile="REQ-WA103-QM3_Any.json"
Url="*ClientSettings_WebAPIURI*/$any?$top=1"
/>
<Request
TestDescription="Support Literals: $all"
RequirementId="REQ-WA103-QM4"
MetallicLevel="Platinum"
Capability="Query functions"
WebAPIReference="2.4.6"
OutputFile="REQ-WA103-QM4_All.json"
Url="*ClientSettings_WebAPIURI*/$all?$top=1"
/>
<Request
TestDescription="Support Geospatial Search Implementation"
RequirementId="REQ-WA103-QM5"
MetallicLevel="Platinum"
Capability="Query functions"
WebAPIReference="2.4.7"
OutputFile="REQ-WA103-QM5_GeospatialLongLat_PointGeo.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=geo.distance(*Parameter_GeospatialField*, geography'POINT(*Parameter_GeospatialValue*)') le *Parameter_GeospatialDistanceValue*"
/>
<Request
TestDescription="Support Geospatial Search Implementation"
RequirementId="REQ-WA103-QM5"
MetallicLevel="Platinum"
Capability="Query functions"
WebAPIReference="2.4.7"
OutputFile="REQ-WA103-QM5_GeospatialLongLat_LatGT1_PointGeo.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=geo.distance(*Parameter_GeospatialField*, geography'POINT(*Parameter_GeospatialValue*)') le *Parameter_GeospatialDistanceValue* and *Parameter_GeospatialLatitudeField* gt 1"
/>
<Request
TestDescription="Query Support: $filter - Grouping: ()"
RequirementId="REQ-WA103-QO12"
MetallicLevel="Platinum"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO12_Grouping.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=(*Parameter_FilterNumericField* eq *Parameter_FilterNumericValueLow*) and (*Parameter_FilterNumericField* le *Parameter_FilterNumericValueHigh* and *Parameter_FilterNumericField* ge *Parameter_FilterNumericValueLow*)*Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - String: contains"
RequirementId="REQ-WA103-QO13"
MetallicLevel="Platinum"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO13_Contains.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=contains(*Parameter_ContainsField*,'*Parameter_ContainsValue*')*Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - String: endswith"
RequirementId="REQ-WA103-QO14"
MetallicLevel="Platinum"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO14_EndsWith.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=endswith(*Parameter_EndsWithField*,'*Parameter_EndsWithValue*')*Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - String: startswith"
RequirementId="REQ-WA103-QO15"
MetallicLevel="Platinum"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO15_StartsWith.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=startswith(*Parameter_StartsWithField*,'*Parameter_StartsWithValue*')*Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - String: tolower"
RequirementId="REQ-WA103-QO16"
MetallicLevel="Platinum"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO16_ToLowerEQ.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=tolower(*Parameter_ToLowerField*) eq '*Parameter_ToLowerValue*'*Parameter_RequiredParameters*"
/>
<Request
TestDescription="Query Support: $filter - String: toupper"
RequirementId="REQ-WA103-QO17"
MetallicLevel="Platinum"
Capability="Filterability ($filter)"
WebAPIReference="2.4.4"
OutputFile="REQ-WA103-QO17_ToUpperEQ.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&amp;$select=*Parameter_SelectList*&amp;$filter=toupper(*Parameter_ToUpperField*) eq '*Parameter_ToUpperValue*'*Parameter_RequiredParameters*"
/>
<Request
TestDescription="Service Endpoint"
RequirementId="REQ-WA103-END1"
MetallicLevel="Core"
Capability="Core Support"
WebAPIReference=""
OutputFile="REQ-WA103-END1_Service.json"
Url="*ClientSettings_WebAPIURI*/"
/>
<!-- RESPONSE CODE SUPPORT -->
<Request
TestDescription="Assert 200 OK Request"
RequirementId="REQ-WA103-RC3"
MetallicLevel="Core"
Capability="Core Support"
WebAPIReference="2.5.2"
OutputFile="REQ-WA103-RC05_200OKRequest.json"
Url="ClientSettings_WebAPIURI*/*Parameter_200_OK*"
AssertResponseCode="200"
/>
<Request
TestDescription="Assert 400 Bad Request"
RequirementId="REQ-WA103-RC5"
MetallicLevel="Core"
Capability="Core Support"
WebAPIReference="2.5.2"
OutputFile="REQ-WA103-RC05_400BadRequest.json"
Url="ClientSettings_WebAPIURI*/*Parameter_400BadRequest*"
AssertResponseCode="400"
/>
<Request
TestDescription="Assert 403 Forbidden Request"
RequirementId="REQ-WA103-RC06"
MetallicLevel="Core"
Capability="Core Support"
WebAPIReference="2.5.2"
OutputFile="REQ-WA103-RC06_403Forbidden_Generic.json"
Url="ClientSettings_WebAPIURI*/*Parameter_403Forbidden*"
AssertResponseCode="403"
/>
<Request
TestDescription="Assert 404 Not Found Request"
RequirementId="REQ-WA103-RC07"
MetallicLevel="Core"
Capability="Core Support"
WebAPIReference="2.5.2"
OutputFile="REQ-WA103-RC07_404NotFound.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_404NotFound*"
AssertResponseCode="404"
/>
<Request
TestDescription="Assert 501 Not Implemented Request"
RequirementId="REQ-WA103-RC11"
MetallicLevel="Core"
Capability="Core Support"
WebAPIReference="2.5.2"
OutputFile="REQ-WA103-RC11_501NotImplemented.json"
Url="*ClientSettings_WebAPIURI*/*Parameter_501NotImplemented*"
AssertResponseCode="501"
/>
</Requests>
</OutputScript>