Refactored Test Containers, RESOScript queries and templates and bumped versions, improved response errors, added dynamic select list processing, and added metadata checking for each dynamic select list
This commit is contained in:
parent
b8e31d39f3
commit
a4793668e1
|
@ -1,606 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<!--
|
||||
>>> To be used as a template for Web API Server 1.0.2 Gold Certification <<<
|
||||
|
||||
NOTES:
|
||||
* Anything marked REQUIRED should be filled in.
|
||||
* Anything not market REQUIRED shouldn't have to be changed.
|
||||
* Some items are marked OPTIONAL.
|
||||
* Any item that has a blank Url will be skipped (which will be printed in the results).
|
||||
|
||||
Contact josh@reso.org with further questions.
|
||||
-->
|
||||
|
||||
<!DOCTYPE OutputScript [
|
||||
<!ELEMENT OutputScript (RESOScriptVersion|ClientSettings|Parameters|Requests)*>
|
||||
<!ELEMENT RESOScriptVersion (#PCDATA)>
|
||||
<!ELEMENT ClientSettings (WebAPIURI|AuthenticationType|BearerToken|ClientIdentification|ClientSecret|TokenURI|ClientScope)*>
|
||||
<!ELEMENT WebAPIURI (#PCDATA)>
|
||||
<!ELEMENT AuthenticationType (#PCDATA)>
|
||||
<!ELEMENT BearerToken (#PCDATA)>
|
||||
<!ELEMENT ClientIdentification (#PCDATA)>
|
||||
<!ELEMENT ClientSecret (#PCDATA)>
|
||||
<!ELEMENT TokenURI (#PCDATA)>
|
||||
<!ELEMENT ClientScope (#PCDATA)>
|
||||
<!ELEMENT Parameters (Parameter)*>
|
||||
<!ELEMENT Parameter (#PCDATA)>
|
||||
<!ATTLIST Parameter
|
||||
Name CDATA #REQUIRED
|
||||
Value CDATA #REQUIRED>
|
||||
<!ELEMENT Requests (Request)*>
|
||||
<!ELEMENT Request (#PCDATA)>
|
||||
<!ATTLIST Request
|
||||
OutputFile CDATA #REQUIRED
|
||||
RequestId CDATA #REQUIRED
|
||||
Url CDATA #REQUIRED>
|
||||
]>
|
||||
|
||||
<OutputScript>
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
Metadata
|
||||
############################################################-->
|
||||
|
||||
<!-- The current version of this RESOScript -->
|
||||
<RESOScriptVersion>1.1.0</RESOScriptVersion>
|
||||
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
Client Settings
|
||||
TODO: deprecate ClientSettings and move them to Parameters
|
||||
############################################################-->
|
||||
<ClientSettings>
|
||||
<!-- URLS -->
|
||||
<WebAPIURI><!--REQUIRED: URI of your Web API Service Root goes here --></WebAPIURI>
|
||||
|
||||
<!-- Credentials -->
|
||||
|
||||
<!-- AuthenticationType
|
||||
|
||||
This is the OAuth2 grant_type.
|
||||
Use "authorization_code" for BearerToken and "client_credentials" for Client Credentials.
|
||||
|
||||
See:
|
||||
* https://www.oauth.com/oauth2-servers/access-tokens/authorization-code-request/
|
||||
* https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/
|
||||
-->
|
||||
|
||||
<!-- Grant Type: authorization_code -->
|
||||
<AuthenticationType>authorization_code</AuthenticationType>
|
||||
<BearerToken><!-- REQUIRED: Your BearerToken goes here if using Access Tokens --></BearerToken>
|
||||
|
||||
<!-- Grant Type: client_credentials -->
|
||||
<!-- <AuthenticationType>client_credentials</AuthenticationType>-->
|
||||
<ClientIdentification><!-- REQUIRED: Your client_id value if using Client Credentials--></ClientIdentification>
|
||||
<ClientSecret><!-- REQUIRED: Your client_secret value if using Client Credentials--></ClientSecret>
|
||||
<TokenURI><!-- REQUIRED: Your token endpoint URI--></TokenURI>
|
||||
<ClientScope>
|
||||
|
||||
<!--OPTIONAL - your client scope. See: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/ -->
|
||||
</ClientScope>
|
||||
|
||||
</ClientSettings>
|
||||
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
Parameters Section - add your testing variables here
|
||||
############################################################-->
|
||||
|
||||
<Parameters>
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
Service Configuration
|
||||
############################################################-->
|
||||
|
||||
<!-- Optional: Core - The DataSystem endpoint being tested
|
||||
NOTE: the FULL DataSystems URL is required as it might not be relative to the Service Root.
|
||||
This will likely change in future revisions. -->
|
||||
<Parameter Name="EndpointDataSystem" Value="REQUIRED: YOUR DATA SYSTEMS ENDPOINT GOES HERE" />
|
||||
|
||||
<!-- REQUIRED: Core - The name of the resource being tested -->
|
||||
<Parameter Name="EndpointResource" Value="REQUIRED: YOUR RESOURCE GOES HERE, FOR EXAMPLE, Property" />
|
||||
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
Required Fields and Values
|
||||
############################################################-->
|
||||
|
||||
<!-- Note: some of the required values already have sample values provided. See later sections for their values.-->
|
||||
|
||||
<!-- REQUIRED: Core - Substitute key name from your Resource here, either Key or KeyNumeric -->
|
||||
<Parameter Name="KeyOrKeyNumericField" Value="ListingKey" />
|
||||
|
||||
<!-- REQUIRED: Core - Provide a value for the KeyOrKeyNumeric from your server -->
|
||||
<Parameter Name="KeyOrKeyNumericValue" Value="REQUIRED: YOUR KeyOrKeyNumericValue GOES HERE" />
|
||||
|
||||
<!-- REQUIRED: Core - Integer Field. Should be one of: Type="Edm.Int16", Type="Edm.Int32", or Type="Edm.Int64" -->
|
||||
<Parameter Name="FilterIntegerField" Value="BedroomsTotal" />
|
||||
|
||||
<!-- REQUIRED: Core - Enumerated Field for Single-Value Testing -->
|
||||
<Parameter Name="SingleValueLookupField" Value="PropertyType" />
|
||||
<Parameter Name="SingleLookupValue" Value="Residential" />
|
||||
<Parameter Name="SingleValueLookupNamespace" Value="PropertyEnums.PropertyType" />
|
||||
|
||||
<!-- REQUIRED: Core - Enumerated Field for Multi-value testing -->
|
||||
<Parameter Name="MultipleValueLookupField" Value="Appliances" />
|
||||
<Parameter Name="MultipleValueLookupNamespace" Value="PropertyEnums.Appliances" />
|
||||
<Parameter Name="MultipleLookupValue1" Value="Refrigerator" />
|
||||
<Parameter Name="MultipleLookupValue2" Value="Stacked" />
|
||||
|
||||
<!-- REQUIRED: Bronze - Date Field for comparisons. Should be Type="Edm.Date" -->
|
||||
<Parameter Name="DateField" Value="ListingContractDate" />
|
||||
<Parameter Name="TimestampField" Value="ModificationTimestamp" />
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
Sample Field Values
|
||||
############################################################-->
|
||||
|
||||
<!-- FilterIntegerField Sample Values-->
|
||||
<Parameter Name="FilterIntegerValueLow" Value="9" />
|
||||
<Parameter Name="FilterIntegerValueHigh" Value="15" />
|
||||
<Parameter Name="FilterIntegerNotFound" Value="-1" />
|
||||
|
||||
<!-- Gold and Platinum: Integer Field for "not" testing -->
|
||||
<Parameter Name="FilterNotField" Value="*Parameter_FilterIntegerField*" />
|
||||
<Parameter Name="FilterNotValue" Value="-1" />
|
||||
|
||||
<!-- Gold and Platinum: Date Fields for testing -->
|
||||
<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="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" />
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
HTTP Code Testing
|
||||
############################################################-->
|
||||
|
||||
<!-- 200 Response OK: This should always work! No need to change it -->
|
||||
<Parameter Name="200_OK" Value="*Parameter_EndpointResource*" />
|
||||
|
||||
<!-- REQUIRED: 400 Bad Request - Adjust to something that produces a 400 response if this doesn't work -->
|
||||
<Parameter Name="400BadRequest" Value="*Parameter_EndpointResource*?$filter=BadField eq 'SoBad'" />
|
||||
|
||||
<!-- REQUIRED: 403 Forbidden - Set this to a restricted resource for the given credentials -->
|
||||
<Parameter Name="403Forbidden" Value="Teams" />
|
||||
|
||||
<!-- REQUIRED: 404 Not Found - You shouldn't need to change this -->
|
||||
<Parameter Name="404NotFound" Value="ResourceNotFound" />
|
||||
|
||||
<!-- REQUIRED: 501 Not Implemented - Set this to an OData query that hasn't been implemented on your server -->
|
||||
<Parameter Name="501NotImplemented" Value="*Parameter_EndpointResource*?$search=red OR blue" />
|
||||
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
Constants and Computed Values - Do Not Change
|
||||
############################################################-->
|
||||
|
||||
<!-- For Top, Skip, and Sort Testing -->
|
||||
<Parameter Name="TopCount" Value="5" />
|
||||
<Parameter Name="SortCount" Value="20" />
|
||||
|
||||
<!-- Required resource lists for Standard Resource Names requirement -->
|
||||
<Parameter Name="WebAPI102_RequiredResourceList" Value="Property,Member,Office,Media" />
|
||||
|
||||
<!-- Allowed Resources - Update to 1.8 once it's approved -->
|
||||
<Parameter Name="DD17_WellKnownResourceList" Value="Property,Member,Office,Contacts,ContactListings,HistoryTransactional,InternetTracking,Media,OpenHouse,OUID,Prospecting,Queue,Rules,SavedSearch,Showing,Teams" />
|
||||
|
||||
<!-- Gold Select List -->
|
||||
<Parameter Name="GoldSelectList"
|
||||
Value="*Parameter_KeyOrKeyNumericField*,*Parameter_FilterIntegerField*,*Parameter_SingleValueLookupField*,*Parameter_MultipleValueLookupField*,*Parameter_DateField*,*Parameter_TimestampField*" />
|
||||
|
||||
<!-- Computed OData $select list -->
|
||||
<Parameter Name="SelectList"
|
||||
Value="*Parameter_GoldSelectList*" />
|
||||
|
||||
<!-- Computed Has Value - uses SingleValueLookup field -->
|
||||
<Parameter Name="FilterHasField" Value="*Parameter_SingleValueLookupField*" />
|
||||
<Parameter Name="FilterHasValue" Value="*Parameter_SingleValueLookupValue*" />
|
||||
<Parameter Name="FilterHasLookupNamespace" Value="*Parameter_SingleValueLookupNamespace*" />
|
||||
<Parameter Name="FilterHasLookupValue" Value="*Parameter_SingleLookupValue*" />
|
||||
|
||||
<!-- Computed Enumeration Values - do not change -->
|
||||
<Parameter Name="SingleValueLookupValue" Value="*Parameter_SingleValueLookupNamespace*'*Parameter_SingleLookupValue*'" />
|
||||
<Parameter Name="FilterHasValueLookupValue" Value="*Parameter_FilterHasLookupNamespace*'*Parameter_FilterHasLookupValue*'" />
|
||||
<Parameter Name="MultipleValueLookupValue1" Value="*Parameter_MultipleValueLookupNamespace*'*Parameter_MultipleLookupValue1*'"/>
|
||||
<Parameter Name="MultipleValueLookupValue2" Value="*Parameter_MultipleValueLookupNamespace*'*Parameter_MultipleLookupValue2*'" />
|
||||
|
||||
<Parameter Name="OptionalMetadataFormatParameter" Value="?$format=application/xml" />
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
Optional Parameters. You should not need these
|
||||
############################################################-->
|
||||
|
||||
<!-- OPTIONAL: System Specific Additional Required Parameters for Queries. Leave Blank if none. -->
|
||||
<Parameter Name="RequiredParameters" Value="" />
|
||||
<Parameter Name="RequiredParametersFilter" Value="" />
|
||||
|
||||
</Parameters>
|
||||
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
Requests Section - Queries used during testing,
|
||||
DO NOT CHANGE
|
||||
############################################################-->
|
||||
<Requests>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-END3"
|
||||
OutputFile="REQ-WA103-END3.metadata.xml"
|
||||
Url="*ClientSettings_WebAPIURI*/$metadata*Parameter_OptionalMetadataFormatParameter*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-END2"
|
||||
OutputFile="REQ-WA103-END2.datasystem.json"
|
||||
Url="*Parameter_EndpointDataSystem*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QR1"
|
||||
OutputFile="REQ-WA103-QR1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*(*Parameter_KeyOrKeyNumericValue*)?$select=*Parameter_KeyOrKeyNumericField*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QR3"
|
||||
OutputFile="REQ-WA103-QR3.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QR4"
|
||||
OutputFile="REQ-WA103-QR4.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QR5"
|
||||
OutputFile="REQ-WA103-QR5.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO1.1"
|
||||
OutputFile="REQ-WA103-QO1.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$SeLeCt=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* eq *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO1.2"
|
||||
OutputFile="REQ-WA103-QO1.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$FiLtEr=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* eq *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO1.3"
|
||||
OutputFile="REQ-WA103-QO1.3.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*&$OrDeRbY=*Parameter_FilterIntegerField* asc"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO1.4"
|
||||
OutputFile="REQ-WA103-QO1.4.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*&$oRdErBy=*Parameter_FilterIntegerField* desc"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO2"
|
||||
OutputFile="REQ-WA103-QO2"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* eq *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO3"
|
||||
OutputFile="REQ-WA103-QO3"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* ne *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO4"
|
||||
OutputFile="REQ-WA103-QO4"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO5"
|
||||
OutputFile="REQ-WA103-QO5.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* ge *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO6"
|
||||
OutputFile="REQ-WA103-QO6.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* lt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO7"
|
||||
OutputFile="REQ-WA103-QO7.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* le *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO9"
|
||||
OutputFile="REQ-WA103-QO9.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow* and *Parameter_FilterIntegerField* lt *Parameter_FilterIntegerValueHigh**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO10"
|
||||
OutputFile="REQ-WA103-QO10.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueHigh* or *Parameter_FilterIntegerField* lt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO11"
|
||||
OutputFile="REQ-WA103-QO11.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and not(*Parameter_FilterNotField* le *Parameter_FilterNotValue*)*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO25"
|
||||
OutputFile="REQ-WA103-QO25.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and date(*Parameter_TimestampField*) gt *Parameter_DateValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO26"
|
||||
OutputFile="REQ-WA103-QO26.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and time(*Parameter_TimestampField*) lt *Parameter_TimeValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO26.2"
|
||||
OutputFile="REQ-WA103-QO26.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and *Parameter_TimestampField* lt *Parameter_DateTimeValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO27"
|
||||
OutputFile="REQ-WA103-QO27.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and *Parameter_TimestampField* le now()*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QM7"
|
||||
OutputFile="REQ-WA103-QM7.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_KeyOrKeyNumericField*,*Parameter_SingleValueLookupField*&$filter=*Parameter_SingleValueLookupField* ne null and *Parameter_SingleValueLookupField* has *Parameter_SingleValueLookupValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QM8"
|
||||
OutputFile="REQ-WA103-QM8.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_KeyOrKeyNumericField*,*Parameter_MultipleValueLookupField*&$filter=*Parameter_MultipleValueLookupField* ne null and *Parameter_MultipleValueLookupField* has *Parameter_MultipleValueLookupValue1**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QM8.2"
|
||||
OutputFile="REQ-WA103-QM8.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_KeyOrKeyNumericField*,*Parameter_MultipleValueLookupField*&$filter=*Parameter_MultipleValueLookupField* ne null and *Parameter_MultipleValueLookupField* has *Parameter_MultipleValueLookupValue1* and *Parameter_MultipleValueLookupField* has *Parameter_MultipleValueLookupValue2**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO8"
|
||||
OutputFile="REQ-WA103-QO8.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterHasField* ne null and *Parameter_FilterHasField* has *Parameter_FilterHasValueLookupValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO28.1"
|
||||
OutputFile="REQ-WA103-QO28.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* asc&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO28.2"
|
||||
OutputFile="REQ-WA103-QO28.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* asc"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO28.3"
|
||||
OutputFile="REQ-WA103-QO28.3.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* desc&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO28.4"
|
||||
OutputFile="REQ-WA103-QO28.4.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* desc"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO18.1"
|
||||
OutputFile="REQ-WA103-QO18.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_DateField* ne null and year(*Parameter_DateField*) eq *Parameter_YearValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO18.2"
|
||||
OutputFile="REQ-WA103-QO18.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and year(*Parameter_TimestampField*) eq *Parameter_YearValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO19.1"
|
||||
OutputFile="REQ-WA103-QO19.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_DateField* ne null and month(*Parameter_DateField*) eq *Parameter_MonthValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO19.2"
|
||||
OutputFile="REQ-WA103-QO19.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and month(*Parameter_TimestampField*) eq *Parameter_MonthValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO20.1"
|
||||
OutputFile="REQ-WA103-QO20.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_DateField* ne null and day(*Parameter_DateField*) eq *Parameter_DayValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO20.2"
|
||||
OutputFile="REQ-WA103-QO20.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and day(*Parameter_TimestampField*) eq *Parameter_DayValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO21"
|
||||
OutputFile="REQ-WA103-QO21.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and hour(*Parameter_TimestampField*) eq *Parameter_HourValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO22"
|
||||
OutputFile="REQ-WA103-QO22.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and minute(*Parameter_TimestampField*) gt *Parameter_MinuteValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO23"
|
||||
OutputFile="REQ-WA103-QO23.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and second(*Parameter_TimestampField*) lt *Parameter_SecondValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO24"
|
||||
OutputFile="REQ-WA103-QO24.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and fractionalseconds(*Parameter_TimestampField*) lt *Parameter_FractionalValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO29.1"
|
||||
OutputFile="REQ-WA103-QO29.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*,*Parameter_ExpandField*&$expand=*Parameter_ExpandField*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO29.2"
|
||||
OutputFile="REQ-WA103-QO29.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*,*Parameter_ExpandField*&$expand=*Parameter_ExpandField*&$filter=PhotosCount gt 0"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO29.3"
|
||||
OutputFile="REQ-WA103-QO29.3.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*,*Parameter_ExpandField*&$expand=*Parameter_ExpandField**Parameter_RequiredParametersFilter*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QM3"
|
||||
OutputFile="REQ-WA103-QM3.json"
|
||||
Url="*ClientSettings_WebAPIURI*/$any?$top=1"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QM4"
|
||||
OutputFile="REQ-WA103-QM4_All.json"
|
||||
Url="*ClientSettings_WebAPIURI*/$all?$top=1"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QM5.1"
|
||||
OutputFile="REQ-WA103-QM5_GeoSpatialLongLat_PointGeo.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=geo.distance(*Parameter_GeoSpatialField*, geography'SRID=*Parameter_SRID*;POINT(*Parameter_GeoSpatialValue*)' le *Parameter_GeoSpatialDistanceValue*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QM5.2"
|
||||
OutputFile="REQ-WA103-QM5_GeoSpatialLongLat_LatGT1_PointGeo.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=geo.distance(*Parameter_GeoSpatialField*, geography'SRID=*Parameter_SRID*;POINT(*Parameter_GeoSpatialValue*)' le *Parameter_GeoSpatialDistanceValue* and *Parameter_GeoSpatialLatitudeField* gt 1"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO12"
|
||||
OutputFile="REQ-WA103-QO12_Grouping.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and (*Parameter_FilterIntegerField* ge *Parameter_FilterIntegerValueLow* and *Parameter_FilterIntegerField* le *Parameter_FilterIntegerValueHigh*) and (*Parameter_FilterIntegerField* lt *Parameter_FilterIntegerValueHigh* and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow*)*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO13"
|
||||
OutputFile="REQ-WA103-QO13.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_ContainsField* ne null and contains(*Parameter_ContainsField*,'*Parameter_ContainsValue*')*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO14"
|
||||
OutputFile="REQ-WA103-QO14_EndsWith.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_EndsWithField* ne null and endswith(*Parameter_EndsWithField*,'*Parameter_EndsWithValue*')*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO15"
|
||||
OutputFile="REQ-WA103-QO15_StartsWith.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_StartsWithField* ne null and startswith(*Parameter_StartsWithField*,'*Parameter_StartsWithValue*')*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO16"
|
||||
OutputFile="REQ-WA103-QO16_ToLowerEQ.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_ToLowerField* ne null and tolower(*Parameter_ToLowerField*) eq '*Parameter_ToLowerValue*'*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO17"
|
||||
OutputFile="REQ-WA103-QO17_ToUpperEQ.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_ToUpperField* ne null and toupper(*Parameter_ToUpperField*) eq '*Parameter_ToUpperValue*'*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-END1"
|
||||
OutputFile="REQ-WA103-END1_Service.json"
|
||||
Url="*ClientSettings_WebAPIURI*/"
|
||||
/>
|
||||
|
||||
|
||||
<!-- RESPONSE CODE SUPPORT -->
|
||||
<Request
|
||||
RequestId="REQ-WA103-RC3"
|
||||
OutputFile="REQ-WA103-RC05_200OKRequest.json"
|
||||
Url="ClientSettings_WebAPIURI*/*Parameter_200_OK*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-RC5"
|
||||
OutputFile="REQ-WA103-RC05_400BadRequest.json"
|
||||
Url="ClientSettings_WebAPIURI*/*Parameter_400BadRequest*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-RC06"
|
||||
OutputFile="REQ-WA103-RC06_403Forbidden_Generic.json"
|
||||
Url="ClientSettings_WebAPIURI*/*Parameter_403Forbidden*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-RC07"
|
||||
OutputFile="REQ-WA103-RC07_404NotFound.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_404NotFound*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-RC11"
|
||||
OutputFile="REQ-WA103-RC11_501NotImplemented.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_501NotImplemented*"
|
||||
/>
|
||||
|
||||
</Requests>
|
||||
</OutputScript>
|
|
@ -44,7 +44,7 @@
|
|||
############################################################-->
|
||||
|
||||
<!-- The current version of this RESOScript -->
|
||||
<RESOScriptVersion>1.1.0</RESOScriptVersion>
|
||||
<RESOScriptVersion>2.0.0</RESOScriptVersion>
|
||||
|
||||
|
||||
<!--
|
||||
|
@ -97,14 +97,12 @@
|
|||
Service Configuration
|
||||
############################################################-->
|
||||
|
||||
<!-- REQUIRED: Core - The DataSystems endpoint being tested
|
||||
NOTE: the FULL DataSystems URL is required as it might not be relative to the Service Root.
|
||||
This will likely change in future revisions. -->
|
||||
<Parameter Name="EndpointDataSystem" Value="REQUIRED: YOUR DATA SYSTEMS ENDPOINT GOES HERE" />
|
||||
|
||||
<!-- REQUIRED: Core - The name of the resource being tested -->
|
||||
<!-- REQUIRED: Core - The name of the resource being tested. Should not be a path. -->
|
||||
<Parameter Name="EndpointResource" Value="REQUIRED: YOUR RESOURCE GOES HERE, FOR EXAMPLE, Property" />
|
||||
|
||||
<!-- REQUIRED: Core - The DataSystems endpoint being tested
|
||||
NOTE: the FULL DataSystems URL is required as it might not be relative to the Service Root.-->
|
||||
<Parameter Name="EndpointDataSystem" Value="REQUIRED: YOUR DATA SYSTEMS ENDPOINT GOES HERE" />
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
|
@ -116,11 +114,13 @@
|
|||
<!-- REQUIRED: Core - Substitute key name from your Resource here, either Key or KeyNumeric -->
|
||||
<Parameter Name="KeyOrKeyNumericField" Value="ListingKey" />
|
||||
|
||||
<!-- REQUIRED: Core - Provide a value for the KeyOrKeyNumeric from your server -->
|
||||
<!-- REQUIRED: Core - Provide a value for the KeyOrKeyNumeric from your server
|
||||
NOTE: if you are using Key instead of KeyNumeric values, wrap your Key in quotes: 'myUniqueKey123'
|
||||
-->
|
||||
<Parameter Name="KeyOrKeyNumericValue" Value="REQUIRED: YOUR KeyOrKeyNumericValue GOES HERE" />
|
||||
|
||||
<!-- REQUIRED: Core - Integer Field. Should be one of: Type="Edm.Int16", Type="Edm.Int32", or Type="Edm.Int64" -->
|
||||
<Parameter Name="FilterIntegerField" Value="BedroomsTotal" />
|
||||
<Parameter Name="IntegerField" Value="BedroomsTotal" />
|
||||
|
||||
<!-- REQUIRED: Core - Enumerated Field for Single-Value Testing -->
|
||||
<Parameter Name="SingleValueLookupField" Value="PropertyType" />
|
||||
|
@ -160,30 +160,26 @@
|
|||
<Parameter Name="ConcatFieldBothValue" Value="Your OneValue: TwoValue GOES HERE" /> <!-- format: "OneValue: TwoValue" -->
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
############################################################
|
||||
Sample Field Values
|
||||
############################################################-->
|
||||
|
||||
<!-- FilterIntegerField Sample Values-->
|
||||
<Parameter Name="FilterIntegerValueLow" Value="9" />
|
||||
<Parameter Name="FilterIntegerValueHigh" Value="15" />
|
||||
<Parameter Name="FilterIntegerNotFound" Value="-1" />
|
||||
<!-- IntegerField Sample Values-->
|
||||
<Parameter Name="IntegerValueLow" Value="9" />
|
||||
<Parameter Name="IntegerValueHigh" Value="15" />
|
||||
<Parameter Name="IntegerNotFound" Value="-1" />
|
||||
|
||||
<!-- Integer Field for "not" testing -->
|
||||
<Parameter Name="FilterNotField" Value="*Parameter_FilterIntegerField*" />
|
||||
<Parameter Name="FilterNotField" Value="*Parameter_IntegerField*" />
|
||||
<Parameter Name="FilterNotValue" Value="-1" />
|
||||
|
||||
<!-- Platinum - String Fields for testing -->
|
||||
<Parameter Name="ContainsField" Value="*Parameter_StringField*" />
|
||||
<Parameter Name="ContainsValue" Value="M" />
|
||||
<Parameter Name="EndsWithField" Value="*Parameter_StringField*" />
|
||||
<Parameter Name="EndsWithValue" Value="Rd" />
|
||||
<Parameter Name="StartsWithField" Value="*Parameter_StringField*" />
|
||||
<Parameter Name="StartsWithValue" Value="M" />
|
||||
<Parameter Name="ToLowerField" Value="*Parameter_StringField*" />
|
||||
<Parameter Name="ToLowerValue" Value="main" />
|
||||
<Parameter Name="ToUpperField" Value="*Parameter_StringField*" />
|
||||
<Parameter Name="ToUpperValue" Value="MAIN" />
|
||||
|
||||
<!-- Gold and Platinum: Date Fields for testing -->
|
||||
|
@ -242,18 +238,6 @@
|
|||
<!-- Allowed Resources - Update to 1.8 once it's approved -->
|
||||
<Parameter Name="DD17_WellKnownResourceList" Value="Property,Member,Office,Contacts,ContactListings,HistoryTransactional,InternetTracking,Media,OpenHouse,OUID,Prospecting,Queue,Rules,SavedSearch,Showing,Teams" />
|
||||
|
||||
<!-- Gold Select List -->
|
||||
<Parameter Name="GoldSelectList"
|
||||
Value="*Parameter_KeyOrKeyNumericField*,*Parameter_FilterIntegerField*,*Parameter_FilterHasField*,*Parameter_DateField*,*Parameter_TimestampField*,*Parameter_GeoSpatialField*,*Parameter_StringField" />
|
||||
|
||||
<!-- Platinum Select List -->
|
||||
<Parameter Name="PlatinumSelectList"
|
||||
Value="*Parameter_KeyOrKeyNumericField*,*Parameter_FilterIntegerField*,*Parameter_FilterHasField*,*Parameter_DateField*,*Parameter_TimestampField*,*Parameter_GeoSpatialField*,*Parameter_StringField" />
|
||||
|
||||
<!-- Computed OData $select list -->
|
||||
<Parameter Name="SelectList"
|
||||
Value="*Parameter_PlatinumSelectList*" />
|
||||
|
||||
<!-- Computed Has Value - uses SingleValueLookup field -->
|
||||
<Parameter Name="FilterHasField" Value="*Parameter_SingleValueLookupField*" />
|
||||
<Parameter Name="FilterHasValue" Value="*Parameter_SingleValueLookupValue*" />
|
||||
|
@ -309,121 +293,121 @@
|
|||
<Request
|
||||
RequestId="REQ-WA103-QR3"
|
||||
OutputFile="REQ-WA103-QR3.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* gt *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QR4"
|
||||
OutputFile="REQ-WA103-QR4.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* gt *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QR5"
|
||||
OutputFile="REQ-WA103-QR5.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* gt *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO1.1"
|
||||
OutputFile="REQ-WA103-QO1.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$SeLeCt=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* eq *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$SeLeCt=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* eq *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO1.2"
|
||||
OutputFile="REQ-WA103-QO1.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$FiLtEr=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* eq *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$FiLtEr=*Parameter_IntegerField* ne null and *Parameter_IntegerField* eq *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO1.3"
|
||||
OutputFile="REQ-WA103-QO1.3.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*&$OrDeRbY=*Parameter_FilterIntegerField* asc"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* gt *Parameter_IntegerValueLow**Parameter_RequiredParameters*&$OrDeRbY=*Parameter_IntegerField* asc"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO1.4"
|
||||
OutputFile="REQ-WA103-QO1.4.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*&$oRdErBy=*Parameter_FilterIntegerField* desc"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* gt *Parameter_IntegerValueLow**Parameter_RequiredParameters*&$oRdErBy=*Parameter_IntegerField* desc"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO2"
|
||||
OutputFile="REQ-WA103-QO2"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* eq *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* eq *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO3"
|
||||
OutputFile="REQ-WA103-QO3"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* ne *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* ne null and *Parameter_IntegerField* ne *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO4"
|
||||
OutputFile="REQ-WA103-QO4"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* gt *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO5"
|
||||
OutputFile="REQ-WA103-QO5.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* ge *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* ge *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO6"
|
||||
OutputFile="REQ-WA103-QO6.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* lt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* lt *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO7"
|
||||
OutputFile="REQ-WA103-QO7.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* le *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* le *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO9"
|
||||
OutputFile="REQ-WA103-QO9.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow* and *Parameter_FilterIntegerField* lt *Parameter_FilterIntegerValueHigh**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* gt *Parameter_IntegerValueLow* and *Parameter_IntegerField* lt *Parameter_IntegerValueHigh**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO10"
|
||||
OutputFile="REQ-WA103-QO10.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueHigh* or *Parameter_FilterIntegerField* lt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* gt *Parameter_IntegerValueHigh* or *Parameter_IntegerField* lt *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO11"
|
||||
OutputFile="REQ-WA103-QO11.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and not(*Parameter_FilterNotField* le *Parameter_FilterNotValue*)*Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and not(*Parameter_FilterNotField* le *Parameter_FilterNotValue*)*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO25"
|
||||
OutputFile="REQ-WA103-QO25.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and date(*Parameter_TimestampField*) gt *Parameter_DateValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and date(*Parameter_TimestampField*) gt *Parameter_DateValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO26"
|
||||
OutputFile="REQ-WA103-QO26.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and time(*Parameter_TimestampField*) lt *Parameter_TimeValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and time(*Parameter_TimestampField*) lt *Parameter_TimeValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO26.2"
|
||||
OutputFile="REQ-WA103-QO26.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and *Parameter_TimestampField* lt *Parameter_DateTimeValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and *Parameter_TimestampField* lt *Parameter_DateTimeValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO27"
|
||||
OutputFile="REQ-WA103-QO27.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and *Parameter_TimestampField* le now()*Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and *Parameter_TimestampField* le now()*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
|
@ -447,109 +431,109 @@
|
|||
<Request
|
||||
RequestId="REQ-WA103-QO8"
|
||||
OutputFile="REQ-WA103-QO8.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterHasField* ne null and *Parameter_FilterHasField* has *Parameter_FilterHasValueLookupValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_FilterHasField*&$filter=*Parameter_FilterHasField* ne null and *Parameter_FilterHasField* has *Parameter_FilterHasValueLookupValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO28.1"
|
||||
OutputFile="REQ-WA103-QO28.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* asc&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_IntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* asc&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* gt *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO28.2"
|
||||
OutputFile="REQ-WA103-QO28.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* asc"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_IntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* asc"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO28.3"
|
||||
OutputFile="REQ-WA103-QO28.3.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* desc&$filter=*Parameter_FilterIntegerField* ne null and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_IntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* desc&$filter=*Parameter_IntegerField* ne null and *Parameter_IntegerField* gt *Parameter_IntegerValueLow**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO28.4"
|
||||
OutputFile="REQ-WA103-QO28.4.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_FilterIntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* desc"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_SortCount*&$select=*Parameter_IntegerField*,*Parameter_TimestampField*&$orderby=*Parameter_TimestampField* desc"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO18.1"
|
||||
OutputFile="REQ-WA103-QO18.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_DateField* ne null and year(*Parameter_DateField*) eq *Parameter_YearValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_DateField*&$filter=*Parameter_DateField* ne null and year(*Parameter_DateField*) eq *Parameter_YearValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO18.2"
|
||||
OutputFile="REQ-WA103-QO18.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and year(*Parameter_TimestampField*) eq *Parameter_YearValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and year(*Parameter_TimestampField*) eq *Parameter_YearValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO19.1"
|
||||
OutputFile="REQ-WA103-QO19.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_DateField* ne null and month(*Parameter_DateField*) eq *Parameter_MonthValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_DateField*&$filter=*Parameter_DateField* ne null and month(*Parameter_DateField*) eq *Parameter_MonthValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO19.2"
|
||||
OutputFile="REQ-WA103-QO19.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and month(*Parameter_TimestampField*) eq *Parameter_MonthValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and month(*Parameter_TimestampField*) eq *Parameter_MonthValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO20.1"
|
||||
OutputFile="REQ-WA103-QO20.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_DateField* ne null and day(*Parameter_DateField*) eq *Parameter_DayValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_DateField*&$filter=*Parameter_DateField* ne null and day(*Parameter_DateField*) eq *Parameter_DayValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO20.2"
|
||||
OutputFile="REQ-WA103-QO20.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and day(*Parameter_TimestampField*) eq *Parameter_DayValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and day(*Parameter_TimestampField*) eq *Parameter_DayValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO21"
|
||||
OutputFile="REQ-WA103-QO21.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and hour(*Parameter_TimestampField*) eq *Parameter_HourValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and hour(*Parameter_TimestampField*) eq *Parameter_HourValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO22"
|
||||
OutputFile="REQ-WA103-QO22.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and minute(*Parameter_TimestampField*) gt *Parameter_MinuteValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and minute(*Parameter_TimestampField*) gt *Parameter_MinuteValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO23"
|
||||
OutputFile="REQ-WA103-QO23.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and second(*Parameter_TimestampField*) lt *Parameter_SecondValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and second(*Parameter_TimestampField*) lt *Parameter_SecondValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO24"
|
||||
OutputFile="REQ-WA103-QO24.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_TimestampField* ne null and fractionalseconds(*Parameter_TimestampField*) lt *Parameter_FractionalValue**Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_TimestampField*&$filter=*Parameter_TimestampField* ne null and fractionalseconds(*Parameter_TimestampField*) lt *Parameter_FractionalValue**Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO29.1"
|
||||
OutputFile="REQ-WA103-QO29.1.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*,*Parameter_ExpandField*&$expand=*Parameter_ExpandField*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_ExpandField*&$expand=*Parameter_ExpandField*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO29.2"
|
||||
OutputFile="REQ-WA103-QO29.2.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*,*Parameter_ExpandField*&$expand=*Parameter_ExpandField*&$filter=PhotosCount gt 0"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_ExpandField*&$expand=*Parameter_ExpandField*&$filter=PhotosCount gt 0"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO29.3"
|
||||
OutputFile="REQ-WA103-QO29.3.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*,*Parameter_ExpandField*&$expand=*Parameter_ExpandField**Parameter_RequiredParametersFilter*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_ExpandField*&$expand=*Parameter_ExpandField**Parameter_RequiredParametersFilter*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
|
@ -567,49 +551,49 @@
|
|||
<Request
|
||||
RequestId="REQ-WA103-QM5.1"
|
||||
OutputFile="REQ-WA103-QM5_GeoSpatialLongLat_PointGeo.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=geo.distance(*Parameter_GeoSpatialField*, geography'SRID=*Parameter_SRID*;POINT(*Parameter_GeoSpatialValue*)' le *Parameter_GeoSpatialDistanceValue*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_GeoSpatialField*&$filter=geo.distance(*Parameter_GeoSpatialField*, geography'SRID=*Parameter_SRID*;POINT(*Parameter_GeoSpatialValue*)' le *Parameter_GeoSpatialDistanceValue*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QM5.2"
|
||||
OutputFile="REQ-WA103-QM5_GeoSpatialLongLat_LatGT1_PointGeo.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=geo.distance(*Parameter_GeoSpatialField*, geography'SRID=*Parameter_SRID*;POINT(*Parameter_GeoSpatialValue*)' le *Parameter_GeoSpatialDistanceValue* and *Parameter_GeoSpatialLatitudeField* gt 1"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_GeoSpatialField*&$filter=geo.distance(*Parameter_GeoSpatialField*, geography'SRID=*Parameter_SRID*;POINT(*Parameter_GeoSpatialValue*)' le *Parameter_GeoSpatialDistanceValue* and *Parameter_GeoSpatialLatitudeField* gt 1"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO12"
|
||||
OutputFile="REQ-WA103-QO12_Grouping.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_FilterIntegerField* ne null and (*Parameter_FilterIntegerField* ge *Parameter_FilterIntegerValueLow* and *Parameter_FilterIntegerField* le *Parameter_FilterIntegerValueHigh*) and (*Parameter_FilterIntegerField* lt *Parameter_FilterIntegerValueHigh* and *Parameter_FilterIntegerField* gt *Parameter_FilterIntegerValueLow*)*Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_IntegerField*&$filter=*Parameter_IntegerField* ne null and (*Parameter_IntegerField* ge *Parameter_IntegerValueLow* and *Parameter_IntegerField* le *Parameter_IntegerValueHigh*) and (*Parameter_IntegerField* lt *Parameter_IntegerValueHigh* and *Parameter_IntegerField* gt *Parameter_IntegerValueLow*)*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO13"
|
||||
OutputFile="REQ-WA103-QO13.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_ContainsField* ne null and contains(*Parameter_ContainsField*,'*Parameter_ContainsValue*')*Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_StringField*&$filter=*Parameter_StringField* ne null and contains(*Parameter_StringField*,'*Parameter_ContainsValue*')*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO14"
|
||||
OutputFile="REQ-WA103-QO14_EndsWith.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_EndsWithField* ne null and endswith(*Parameter_EndsWithField*,'*Parameter_EndsWithValue*')*Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_StringField*&$filter=*Parameter_StringField* ne null and endswith(*Parameter_StringField*,'*Parameter_EndsWithValue*')*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO15"
|
||||
OutputFile="REQ-WA103-QO15_StartsWith.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_StartsWithField* ne null and startswith(*Parameter_StartsWithField*,'*Parameter_StartsWithValue*')*Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_StringField*&$filter=*Parameter_StringField* ne null and startswith(*Parameter_StringField*,'*Parameter_StartsWithValue*')*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO16"
|
||||
OutputFile="REQ-WA103-QO16_ToLowerEQ.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_ToLowerField* ne null and tolower(*Parameter_ToLowerField*) eq '*Parameter_ToLowerValue*'*Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_StringField*&$filter=*Parameter_StringField* ne null and tolower(*Parameter_StringField*) eq '*Parameter_ToLowerValue*'*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
RequestId="REQ-WA103-QO17"
|
||||
OutputFile="REQ-WA103-QO17_ToUpperEQ.json"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_SelectList*&$filter=*Parameter_ToUpperField* ne null and toupper(*Parameter_ToUpperField*) eq '*Parameter_ToUpperValue*'*Parameter_RequiredParameters*"
|
||||
Url="*ClientSettings_WebAPIURI*/*Parameter_EndpointResource*?$top=*Parameter_TopCount*&$select=*Parameter_StringField*&$filter=*Parameter_StringField* ne null and toupper(*Parameter_StringField*) eq '*Parameter_ToUpperValue*'*Parameter_RequiredParameters*"
|
||||
/>
|
||||
|
||||
<Request
|
||||
|
|
|
@ -26,7 +26,6 @@ Feature: Web API Server 1.0.2 Certification
|
|||
And the metadata contains the "Parameter_EndpointResource" resource
|
||||
And the given "Parameter_EndpointResource" resource exists within "Parameter_DD17_WellKnownResourceList"
|
||||
And the metadata contains at least one resource from "Parameter_WebAPI102_RequiredResourceList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in "Parameter_SelectList"
|
||||
|
||||
@REQ-WA103-END2 @core @2.4.1 @core-endorsement @datasystem
|
||||
Scenario: REQ-WA103-END2 - Data System Endpoint test
|
||||
|
@ -50,7 +49,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
|
||||
@REQ-WA103-QR4 @core @2.4.2 @client-paging-endorsement
|
||||
Scenario: REQ-WA103-QR4 - Query Support: $top
|
||||
|
@ -58,7 +58,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And the number of results is less than or equal to "Parameter_TopCount"
|
||||
|
||||
@REQ-WA103-QR5 @core @2.4.2 @query-support-endorsement
|
||||
|
@ -67,12 +68,14 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And a GET request is made to the resolved Url in "REQ-WA103-QR5" with $skip="Parameter_TopCount"
|
||||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And data in the "Parameter_KeyOrKeyNumeric" fields are different in the second request than in the first
|
||||
|
||||
@REQ-WA103-QO1.1 @core @2.4.4 @core-endorsement @OData-4.0
|
||||
|
@ -101,8 +104,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And Integer data in "Parameter_FilterIntegerField" "eq" "Parameter_FilterIntegerValueLow"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Integer data in "Parameter_IntegerField" "eq" "Parameter_IntegerValueLow"
|
||||
|
||||
@REQ-WA103-QO3 @core @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO3 - Query Support: $filter - Integer Comparison: ne
|
||||
|
@ -110,8 +114,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And Integer data in "Parameter_FilterIntegerField" "ne" "Parameter_FilterIntegerValueLow"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Integer data in "Parameter_IntegerField" "ne" "Parameter_IntegerValueLow"
|
||||
|
||||
@REQ-WA103-QO4 @core @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO4 - Query Support: $filter - Integer Comparison: gt
|
||||
|
@ -119,8 +124,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And Integer data in "Parameter_FilterIntegerField" "gt" "Parameter_FilterIntegerValueLow"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Integer data in "Parameter_IntegerField" "gt" "Parameter_IntegerValueLow"
|
||||
|
||||
@REQ-WA103-QO5 @core @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO5 - Query Support: $filter - Integer Comparison: ge
|
||||
|
@ -128,8 +134,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And Integer data in "Parameter_FilterIntegerField" "ge" "Parameter_FilterIntegerValueLow"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Integer data in "Parameter_IntegerField" "ge" "Parameter_IntegerValueLow"
|
||||
|
||||
@REQ-WA103-QO6 @core @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO6 - Query Support: $filter - Integer Comparison: lt
|
||||
|
@ -137,8 +144,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And Integer data in "Parameter_FilterIntegerField" "lt" "Parameter_FilterIntegerValueLow"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Integer data in "Parameter_IntegerField" "lt" "Parameter_IntegerValueLow"
|
||||
|
||||
@REQ-WA103-QO7 @core @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO7 - Query Support: $filter - Integer Comparison: le
|
||||
|
@ -146,8 +154,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And Integer data in "Parameter_FilterIntegerField" "le" "Parameter_FilterIntegerValueLow"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Integer data in "Parameter_IntegerField" "le" "Parameter_IntegerValueLow"
|
||||
|
||||
@REQ-WA103-QO9 @core @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO9 - Query Support: $filter - Integer Comparison: and
|
||||
|
@ -155,8 +164,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And Integer data in "Parameter_FilterIntegerField" "gt" "Parameter_FilterIntegerValueLow" "and" "lt" "Parameter_FilterIntegerValueHigh"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Integer data in "Parameter_IntegerField" "gt" "Parameter_IntegerValueLow" "and" "lt" "Parameter_IntegerValueHigh"
|
||||
|
||||
@REQ-WA103-QO10 @core @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO10 - Query Support: $filter - Integer Comparison: or
|
||||
|
@ -164,8 +174,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And Integer data in "Parameter_FilterIntegerField" "gt" "Parameter_FilterIntegerValueLow" "or" "lt" "Parameter_FilterIntegerValueHigh"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Integer data in "Parameter_IntegerField" "gt" "Parameter_IntegerValueLow" "or" "lt" "Parameter_IntegerValueHigh"
|
||||
|
||||
@REQ-WA103-QO11 @core @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO11 - Query Support: $filter - Integer Comparison: not() (operator)
|
||||
|
@ -173,7 +184,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Integer data in "Parameter_FilterNotField" "ne" "Parameter_FilterNotValue"
|
||||
|
||||
@REQ-WA103-QO25 @core @2.4.4 @filterability-endorsement
|
||||
|
@ -182,7 +194,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Date data in "Parameter_TimestampField" "gt" "Parameter_DateValue"
|
||||
|
||||
@REQ-WA103-QO26 @core @2.4.4 @filterability-endorsement
|
||||
|
@ -191,7 +204,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And TimeOfDay data in "Parameter_TimestampField" "lt" "Parameter_TimeValue"
|
||||
|
||||
@REQ-WA103-QO26.2 @core @2.4.4 @filterability-endorsement
|
||||
|
@ -200,7 +214,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And DateTimeOffset data in "Parameter_TimestampField" "lt" "Parameter_DateTimeValue"
|
||||
|
||||
@REQ-WA103-QO27 @core @2.4.4 @filterability-endorsement
|
||||
|
@ -209,7 +224,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And DateTimeOffset data in "Parameter_TimestampField" "le" now()
|
||||
|
||||
|
||||
|
@ -258,7 +274,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Single Valued Enumeration Data in "Parameter_SingleValueLookupField" has "Parameter_SingleLookupValue"
|
||||
|
||||
@REQ-WA103-QM8 @bronze @2.4.10 @filterability-endorsement
|
||||
|
@ -267,7 +284,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Multiple Valued Enumeration Data in "Parameter_MultipleValueLookupField" has "Parameter_MultipleLookupValue1"
|
||||
|
||||
@REQ-WA103-QM8.2 @bronze @2.4.10 @filterability-endorsement
|
||||
|
@ -276,7 +294,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Multiple Valued Enumeration Data in "Parameter_MultipleValueLookupField" has "Parameter_MultipleLookupValue1"
|
||||
And Multiple Valued Enumeration Data in "Parameter_MultipleValueLookupField" has "Parameter_MultipleLookupValue2"
|
||||
|
||||
|
@ -286,7 +305,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And Single Valued Enumeration Data in "Parameter_FilterHasField" has "Parameter_FilterHasLookupValue"
|
||||
|
||||
@REQ-WA103-QO28.1 @bronze @2.4.4 @sortability-endorsement
|
||||
|
@ -295,7 +315,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And DateTimeOffset data in "Parameter_TimestampField" is sorted in "asc" order
|
||||
|
||||
@REQ-WA103-QO28.2 @bronze @2.4.4 @sortability-endorsement
|
||||
|
@ -304,7 +325,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And DateTimeOffset data in "Parameter_TimestampField" is sorted in "asc" order
|
||||
|
||||
@REQ-WA103-QO28.3 @bronze @2.4.4 @sortability-endorsement
|
||||
|
@ -313,7 +335,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And DateTimeOffset data in "Parameter_TimestampField" is sorted in "desc" order
|
||||
|
||||
@REQ-WA103-QO28.4 @bronze @2.4.4 @sortability-endorsement
|
||||
|
@ -322,7 +345,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And DateTimeOffset data in "Parameter_TimestampField" is sorted in "desc" order
|
||||
|
||||
|
||||
|
@ -336,7 +360,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And "year" data in Date Field "Parameter_DateField" "eq" "Parameter_YearValue"
|
||||
|
||||
@REQ-WA103-QO18.2 @gold @2.4.4 @filterability-endorsement
|
||||
|
@ -345,7 +370,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And "year" data in Timestamp Field "Parameter_TimestampField" "eq" "Parameter_YearValue"
|
||||
|
||||
@REQ-WA103-QO19.1 @gold @2.4.4 @filterability-endorsement
|
||||
|
@ -354,7 +380,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And "month" data in Date Field "Parameter_DateField" "eq" "Parameter_MonthValue"
|
||||
|
||||
@REQ-WA103-QO19.2 @gold @2.4.4 @filterability-endorsement
|
||||
|
@ -363,7 +390,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And "month" data in Timestamp Field "Parameter_TimestampField" "eq" "Parameter_MonthValue"
|
||||
|
||||
@REQ-WA103-QO20.1 @gold @2.4.4 @filterability-endorsement
|
||||
|
@ -372,7 +400,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And "day" data in Date Field "Parameter_DateField" "eq" "Parameter_DayValue"
|
||||
|
||||
@REQ-WA103-QO20.2 @gold @2.4.4 @filterability-endorsement
|
||||
|
@ -381,7 +410,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And "day" data in Timestamp Field "Parameter_TimestampField" "eq" "Parameter_DayValue"
|
||||
|
||||
@REQ-WA103-QO21 @gold @2.4.4 @filterability-endorsement
|
||||
|
@ -390,7 +420,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And "hour" data in Timestamp Field "Parameter_TimestampField" "eq" "Parameter_HourValue"
|
||||
|
||||
@REQ-WA103-QO22 @gold @2.4.4 @filterability-endorsement
|
||||
|
@ -399,7 +430,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And "minute" data in Timestamp Field "Parameter_TimestampField" "gt" "Parameter_MinuteValue"
|
||||
|
||||
@REQ-WA103-QO23 @gold @2.4.4 @filterability-endorsement
|
||||
|
@ -408,7 +440,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And "second" data in Timestamp Field "Parameter_TimestampField" "lt" "Parameter_SecondValue"
|
||||
|
||||
@REQ-WA103-QO24 @gold @2.4.4 @filterability-endorsement
|
||||
|
@ -417,7 +450,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And "fractional" data in Timestamp Field "Parameter_TimestampField" "lt" "Parameter_FractionalValue"
|
||||
|
||||
#######################################
|
||||
|
@ -430,8 +464,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And String data in "Parameter_ContainsField" "contains" "Parameter_ContainsValue"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And String data in "Parameter_StringField" "contains" "Parameter_ContainsValue"
|
||||
|
||||
@REQ-WA103-QO14 @platinum @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO14 - Query Support: $filter - String: ends with
|
||||
|
@ -439,8 +474,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And String data in "Parameter_EndsWithField" "endswith" "Parameter_EndsWithValue"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And String data in "Parameter_StringField" "endswith" "Parameter_EndsWithValue"
|
||||
|
||||
@REQ-WA103-QO15 @platinum @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO15 - Query Support: $filter - String: starts with
|
||||
|
@ -448,8 +484,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And String data in "Parameter_StartsWithField" "startswith" "Parameter_StartsWithValue"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And String data in "Parameter_StringField" "startswith" "Parameter_StartsWithValue"
|
||||
|
||||
@REQ-WA103-QO16 @platinum @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO16 - Query Support: $filter - String: tolower() support
|
||||
|
@ -457,8 +494,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And String data in "Parameter_ToLowerField" "tolower" "Parameter_ToLowerValue"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And String data in "Parameter_StringField" "tolower" "Parameter_ToLowerValue"
|
||||
|
||||
@REQ-WA103-QO17 @platinum @2.4.4 @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO17 - Query Support: $filter - String: toupper() support
|
||||
|
@ -466,8 +504,9 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And String data in "Parameter_ToUpperField" "toupper" "Parameter_ToUpperValue"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And String data in "Parameter_StringField" "toupper" "Parameter_ToUpperValue"
|
||||
|
||||
@REQ-WA103-QO29.1 @platinum @2.4.4 @expandability-endorsement
|
||||
Scenario: REQ-WA103-QO29.1 - Query Support: $expand
|
||||
|
@ -475,7 +514,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
And data and type information exist in the results and within the given "Parameter_ExpandField"
|
||||
And an OData NavigationProperty exists for the given "Parameter_EndpointResource"
|
||||
And the expanded data were found in the related resource
|
||||
|
@ -486,7 +526,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
|
||||
@REQ-WA103-QO29.3 @platinum @2.4.4 @expandability-endorsement @todo
|
||||
Scenario: REQ-WA103-QO29.3 - Query Support: $expand required field (TODO)
|
||||
|
@ -494,7 +535,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
|
||||
@REQ-WA103-QM3 @platinum @2.4.6 @queryability-endorsement @todo
|
||||
Scenario: REQ-WA103-QM3 - Support Literals: any() Lambda Expression (TODO)
|
||||
|
@ -502,7 +544,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
|
||||
@REQ-WA103-QM4 @platinum @2.4.6 @queryability-endorsement @todo
|
||||
Scenario: REQ-WA103-QM4 - Query Support Literals: all() Lambda Operator (TODO)
|
||||
|
@ -510,7 +553,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
|
||||
@REQ-WA103-QM5.1 @platinum @2.4.7 @queryability-endorsement @geospatial @todo
|
||||
Scenario: REQ-WA103-QM5.1 - Query Support: GeoSpatial Search Implementation (TODO)
|
||||
|
@ -518,7 +562,8 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
|
||||
@REQ-WA103-QM5.2 @platinum @2.4.7 @queryability-endorsement @geospatial @todo
|
||||
Scenario: REQ-WA103-QM5.2 - Query Support: GeoSpatial Search Implementation (TODO)
|
||||
|
@ -526,12 +571,13 @@ Feature: Web API Server 1.0.2 Certification
|
|||
Then the server responds with a status code of 200
|
||||
And the response is valid JSON
|
||||
And the response has results
|
||||
And data are present for fields contained within the given "Parameter_SelectList"
|
||||
And resource metadata for "Parameter_EndpointResource" contains the fields in the given select list
|
||||
And data are present for fields contained within the given select list
|
||||
|
||||
@REQ-WA103-QO12 @platinum @2.4.4 @filterability-endorsement @filterability-endorsement
|
||||
Scenario: REQ-WA103-QO12 - Query Support: $filter - Grouping: filter (ge, le) and (gt, lt) and expect (gt, lt)
|
||||
When a GET request is made to the resolved Url in "REQ-WA103-QO12" using the OData Client
|
||||
Then the server responds with a status code of 200
|
||||
And the OData client response has client entity set data
|
||||
And client entity set Integer data in "Parameter_FilterIntegerField" "gt" "Parameter_FilterIntegerValueLow"
|
||||
And client entity set Integer data in "Parameter_FilterIntegerField" "lt" "Parameter_FilterIntegerValueHigh"
|
||||
And client entity set Integer data in "Parameter_IntegerField" "gt" "Parameter_IntegerValueLow"
|
||||
And client entity set Integer data in "Parameter_IntegerField" "lt" "Parameter_IntegerValueHigh"
|
||||
|
|
|
@ -14,15 +14,16 @@ import org.apache.logging.log4j.Logger;
|
|||
import org.apache.olingo.client.api.communication.ODataClientErrorException;
|
||||
import org.apache.olingo.client.api.data.ResWrap;
|
||||
import org.apache.olingo.client.api.domain.ClientEntitySet;
|
||||
import org.apache.olingo.client.api.uri.QueryOption;
|
||||
import org.apache.olingo.commons.api.data.EntityCollection;
|
||||
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
|
||||
import org.apache.olingo.commons.api.edm.provider.CsdlEntityContainer;
|
||||
import org.apache.olingo.commons.api.edm.provider.CsdlNavigationProperty;
|
||||
import org.apache.olingo.commons.api.edm.provider.CsdlProperty;
|
||||
import org.apache.olingo.commons.api.format.ContentType;
|
||||
import org.reso.commander.Commander;
|
||||
import org.reso.commander.TestUtils;
|
||||
import org.reso.commander.certfication.containers.WebApiTestContainer;
|
||||
import org.reso.models.Request;
|
||||
import org.reso.models.Settings;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -38,18 +39,16 @@ import java.util.concurrent.atomic.AtomicReference;
|
|||
|
||||
import static io.restassured.path.json.JsonPath.from;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.reso.commander.Commander.REPORT_DIVIDER;
|
||||
import static org.reso.commander.Commander.REPORT_DIVIDER_SMALL;
|
||||
import static org.reso.commander.Commander.*;
|
||||
import static org.reso.commander.TestUtils.*;
|
||||
import static org.reso.commander.TestUtils.Operators.*;
|
||||
import static org.reso.commander.certfication.containers.WebApiTestContainer.*;
|
||||
|
||||
/**
|
||||
* Contains the glue code for the Web API Server 1.0.2 Platinum Certification
|
||||
*/
|
||||
public class WebAPIServer_1_0_2 implements En {
|
||||
private static final Logger LOG = LogManager.getLogger(WebAPIServer_1_0_2.class);
|
||||
private static final String FIELD_SEPARATOR = ",";
|
||||
private static final String PRETTY_FIELD_SEPARATOR = FIELD_SEPARATOR + " ";
|
||||
private static final String SHOW_RESPONSES = "showResponses";
|
||||
private static final boolean showResponses = Boolean.parseBoolean(System.getProperty(SHOW_RESPONSES));
|
||||
|
||||
|
@ -212,34 +211,36 @@ public class WebAPIServer_1_0_2 implements En {
|
|||
/*
|
||||
* REQ-WA103-QR3 - $select
|
||||
*/
|
||||
And("^data are present for fields contained within the given \"([^\"]*)\"$", (String parameterSelectList) -> {
|
||||
And("^data are present for fields contained within the given select list$", () -> {
|
||||
try {
|
||||
AtomicInteger numFieldsWithData = new AtomicInteger();
|
||||
List<String> fieldList = new ArrayList<>(Arrays.asList(Settings.resolveParametersString(parameterSelectList, getTestContainer().getSettings()).split(FIELD_SEPARATOR)));
|
||||
|
||||
DecimalFormat df = new DecimalFormat();
|
||||
df.setMaximumFractionDigits(1);
|
||||
double fill = 0;
|
||||
|
||||
assertNotNull("ERROR: no fields found within the given $select list. Check request Id: " + getTestContainer().getRequest().getRequestId() + " in your .resoscript file!",
|
||||
getTestContainer().getSelectList());
|
||||
|
||||
LOG.info(QueryOption.SELECT + " list is: " + getTestContainer().getSelectList() );
|
||||
|
||||
AtomicInteger numResults = new AtomicInteger();
|
||||
//iterate over the items and count the number of fields with data to determine whether there are data present
|
||||
from(getTestContainer().getResponseData()).getList(JSON_VALUE_PATH, HashMap.class).forEach(item -> {
|
||||
if (item != null) {
|
||||
numResults.getAndIncrement();
|
||||
fieldList.forEach(field -> {
|
||||
if (item.get(field) != null) {
|
||||
numFieldsWithData.getAndIncrement();
|
||||
}
|
||||
});
|
||||
}
|
||||
numResults.getAndIncrement();
|
||||
getTestContainer().getSelectList().forEach(field -> {
|
||||
if (item.get(field) != null) {
|
||||
numFieldsWithData.getAndIncrement();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
LOG.info("Number of Results: " + numResults.get());
|
||||
LOG.info("Number of Fields: " + fieldList.size());
|
||||
LOG.info("Number of Fields: " + getTestContainer().getSelectList().size());
|
||||
LOG.info("Fields with Data: " + numFieldsWithData.get());
|
||||
|
||||
if (numResults.get() > 0 && fieldList.size() > 0) {
|
||||
fill = ((100.0 * numFieldsWithData.get()) / (numResults.get() * fieldList.size()));
|
||||
if (numResults.get() > 0 && getTestContainer().getSelectList().size() > 0) {
|
||||
fill = ((100.0 * numFieldsWithData.get()) / (numResults.get() * getTestContainer().getSelectList().size()));
|
||||
LOG.info("Percent Fill: " + df.format(fill) + "%");
|
||||
} else {
|
||||
LOG.info("Percent Fill: 0% - no fields with data found!");
|
||||
|
@ -275,17 +276,20 @@ public class WebAPIServer_1_0_2 implements En {
|
|||
* REQ-WA103-QR5 - $skip
|
||||
* $skip=*Parameter_TopCount*
|
||||
*/
|
||||
And("^a GET request is made to the resolved Url in \"([^\"]*)\" with \\$skip=\"([^\"]*)\"$", (String requirementId, String parameterTopCount) -> {
|
||||
And("^a GET request is made to the resolved Url in \"([^\"]*)\" with \\$skip=\"([^\"]*)\"$", (String requestId, String parameterTopCount) -> {
|
||||
try {
|
||||
int skipCount = Integer.parseInt(Settings.resolveParametersString(parameterTopCount, getTestContainer().getSettings()));
|
||||
LOG.info("Skip count is: " + skipCount);
|
||||
|
||||
getTestContainer().setRequest(requestId);
|
||||
|
||||
//preserve initial response data for later comparisons
|
||||
getTestContainer().setInitialResponseData(getTestContainer().getResponseData());
|
||||
|
||||
//TODO: convert to OData filter factory
|
||||
getTestContainer().setRequestUri(Commander.prepareURI(Settings.resolveParameters(getTestContainer().getSettings().getRequestById(requirementId), getTestContainer().getSettings()).getUrl()
|
||||
+ "&" + Commander.ODATA_QUERY_OPTIONS.SKIP + "=" + skipCount));
|
||||
getTestContainer().setRequestUri(Commander.prepareURI(
|
||||
Settings.resolveParameters(getTestContainer().getSettings().getRequest(requestId), getTestContainer().getSettings()).getUrl()
|
||||
+ AMPERSAND + DOLLAR_SIGN + QueryOption.SKIP.toString() + EQUALS + skipCount));
|
||||
getTestContainer().executePreparedGetRequest();
|
||||
} catch (Exception ex) {
|
||||
fail(ex.toString());
|
||||
|
@ -320,10 +324,7 @@ public class WebAPIServer_1_0_2 implements En {
|
|||
/*
|
||||
* GET request by requirementId (see generic.resoscript)
|
||||
*/
|
||||
When("^a GET request is made to the resolved Url in \"([^\"]*)\"$", (String requirementId) -> executeGetRequest(requirementId));
|
||||
|
||||
When("^a GET request is made to the resolved Url in \"([^\"]*)\" without service root validation$", (String requirementId) -> {
|
||||
});
|
||||
When("^a GET request is made to the resolved Url in \"([^\"]*)\"$", this::executeGetRequest);
|
||||
|
||||
/*
|
||||
* Assert response code
|
||||
|
@ -774,23 +775,17 @@ public class WebAPIServer_1_0_2 implements En {
|
|||
* Ensures that the server metadata for the given resource in parameterResourceName contains
|
||||
* all of the fields in the given parameterSelectList.
|
||||
*/
|
||||
And("^resource metadata for \"([^\"]*)\" contains the fields in \"([^\"]*)\"$", (String parameterResourceName, String parameterSelectList) -> {
|
||||
final String selectList = Settings.resolveParametersString(parameterSelectList, getTestContainer().getSettings());
|
||||
|
||||
And("^resource metadata for \"([^\"]*)\" contains the fields in the given select list$", (String parameterResourceName) -> {
|
||||
try {
|
||||
final String resourceName = Settings.resolveParametersString(parameterResourceName, getTestContainer().getSettings());
|
||||
List<String> fieldNames = Arrays.asList(selectList.split(FIELD_SEPARATOR));
|
||||
|
||||
//create field lookup
|
||||
Map<String, CsdlProperty> fieldMap = new HashMap<>();
|
||||
TestUtils.findEntityTypesForEntityTypeName(getTestContainer().getEdm(), getTestContainer().getXMLMetadata(), resourceName)
|
||||
.forEach(csdlProperty -> fieldMap.put(csdlProperty.getName(), csdlProperty));
|
||||
|
||||
LOG.info("Searching metadata for fields in given select list: " + selectList);
|
||||
fieldNames.forEach(fieldName -> {
|
||||
//trim string just in case spaces were used after the commas
|
||||
assertNotNull("ERROR: Field name '" + fieldName + "' is not present in server metadata!", fieldMap.get(fieldName.trim()));
|
||||
LOG.info("Found: '" + fieldName.trim() + "'");
|
||||
LOG.info("Searching metadata for fields in given select list: " + getTestContainer().getSelectList().toString());
|
||||
getTestContainer().getSelectList().forEach(fieldName -> {
|
||||
//need to skip the expand field when looking through the metadata
|
||||
if (!fieldName.contentEquals(getTestContainer().getExpandField())) {
|
||||
assertNotNull("ERROR: Field name '" + fieldName + "' is not present in server metadata!", getTestContainer().getCsdlForFieldName(fieldName));
|
||||
LOG.info("Found: '" + fieldName.trim() + "'");
|
||||
}
|
||||
});
|
||||
} catch (Exception ex) {
|
||||
fail(ex.toString());
|
||||
|
@ -924,10 +919,12 @@ public class WebAPIServer_1_0_2 implements En {
|
|||
* Checks the Standard Resources requirement from Section 2.6 of the Web API specification
|
||||
*/
|
||||
And("^the metadata contains at least one resource from \"([^\"]*)\"$", (String parameterRequiredResourceList) -> {
|
||||
String requiredResourceString = Settings.resolveParametersString(parameterRequiredResourceList, getTestContainer().getSettings()).replace(" ", "");
|
||||
List<String> requiredResources = Arrays.asList(requiredResourceString.split(","));
|
||||
String requiredResourceString =
|
||||
Settings.resolveParametersString(parameterRequiredResourceList, getTestContainer().getSettings()).replace(SINGLE_SPACE, EMPTY_STRING);
|
||||
List<String> requiredResources = Arrays.asList(requiredResourceString.split(FIELD_SEPARATOR));
|
||||
|
||||
LOG.info("Searching the default entity container for one of the following Standard Resources: " + requiredResourceString.replace(FIELD_SEPARATOR, PRETTY_FIELD_SEPARATOR));
|
||||
LOG.info("Searching the default entity container for one of the following Standard Resources: "
|
||||
+ requiredResourceString.replace(FIELD_SEPARATOR, PRETTY_FIELD_SEPARATOR));
|
||||
|
||||
AtomicBoolean found = new AtomicBoolean(false);
|
||||
requiredResources.forEach(requiredResource -> {
|
||||
|
@ -958,12 +955,14 @@ public class WebAPIServer_1_0_2 implements En {
|
|||
});
|
||||
|
||||
|
||||
When("^a GET request is made to the resolved Url in \"([^\"]*)\" using the OData Client$", (String parameterRequestId) -> {
|
||||
String uriString = Settings.resolveParameters(getTestContainer().getSettings().getRequestById(parameterRequestId), getTestContainer().getSettings()).getUrl();
|
||||
assertTrue("ERROR: the resolved Url in '" + parameterRequestId + "' was invalid!", uriString != null && uriString.length() > 0);
|
||||
When("^a GET request is made to the resolved Url in \"([^\"]*)\" using the OData Client$", (String requestId) -> {
|
||||
Request request = getTestContainer().getSettings().getRequest(requestId);
|
||||
String uriString = Settings.resolveParameters(request, getTestContainer().getSettings()).getUrl();
|
||||
assertTrue("ERROR: the resolved Url in '" + requestId + "' was invalid!", uriString != null && uriString.length() > 0);
|
||||
|
||||
LOG.info("Request Id: " + parameterRequestId);
|
||||
LOG.info("Request Id: " + requestId);
|
||||
try {
|
||||
getTestContainer().setRequest(request);
|
||||
getTestContainer().setRequestUri(prepareUri(uriString));
|
||||
getTestContainer().setClientEntitySetRequest(getTestContainer().getCommander().getClient().getRetrieveRequestFactory().getEntitySetRequest(getTestContainer().getRequestUri()));
|
||||
LOG.info("OData Client Request being made to: " + uriString);
|
||||
|
@ -1018,9 +1017,12 @@ public class WebAPIServer_1_0_2 implements En {
|
|||
//reset local state each time a get request is run
|
||||
getTestContainer().resetState();
|
||||
|
||||
assertNotNull("ERROR: request Id cannot be null!", requestId);
|
||||
getTestContainer().setRequest(getTestContainer().getSettings().getRequest(requestId));
|
||||
LOG.info("Request ID: " + requestId);
|
||||
|
||||
getTestContainer().setRequestUri(Commander.prepareURI(Settings.resolveParameters(
|
||||
getTestContainer().getSettings().getRequestById(requestId), getTestContainer().getSettings()).getUrl()));
|
||||
getTestContainer().getSettings().getRequest(requestId), getTestContainer().getSettings()).getUrl()));
|
||||
LOG.info("Request URI: " + getTestContainer().getRequestUri().toString());
|
||||
getTestContainer().executePreparedGetRequest();
|
||||
} catch (Exception ex) {
|
||||
|
|
|
@ -15,6 +15,7 @@ import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse
|
|||
import org.apache.olingo.client.api.domain.ClientEntitySet;
|
||||
import org.apache.olingo.client.api.edm.xml.XMLMetadata;
|
||||
import org.apache.olingo.client.api.serialization.ODataSerializerException;
|
||||
import org.apache.olingo.client.api.uri.QueryOption;
|
||||
import org.apache.olingo.client.core.ODataClientFactory;
|
||||
import org.apache.olingo.commons.api.edm.Edm;
|
||||
import org.apache.olingo.commons.api.format.ContentType;
|
||||
|
@ -38,7 +39,6 @@ import java.util.concurrent.atomic.AtomicReference;
|
|||
import java.util.function.Function;
|
||||
|
||||
/**
|
||||
* URI
|
||||
* Most of the work done by the WebAPI commander is done by this class. Its public methods are, therefore,
|
||||
* the ones the Client programmer is expected to use.
|
||||
*/
|
||||
|
@ -46,6 +46,9 @@ public class Commander {
|
|||
//TODO move to utils class
|
||||
public static final int OK = 0;
|
||||
public static final int NOT_OK = 1;
|
||||
public static final String AMPERSAND = "&"; //TODO: find the corresponding query params constant for this
|
||||
public static final String EQUALS = "="; //TODO: find the corresponding query params constant for this
|
||||
|
||||
public static final Integer DEFAULT_PAGE_SIZE = 10;
|
||||
public static final Integer DEFAULT_PAGE_LIMIT = 1;
|
||||
public static final String REPORT_DIVIDER = "==============================================================";
|
||||
|
@ -53,8 +56,7 @@ public class Commander {
|
|||
public static final String RESOSCRIPT_EXTENSION = ".resoscript";
|
||||
public static final String EDMX_EXTENSION = ".xml";
|
||||
private static final Logger LOG = LogManager.getLogger(Commander.class);
|
||||
private static final String EDM_4_0_3_XSD = "edm.4.0.3.xsd",
|
||||
EDMX_4_0_3_XSD = "edmx.4.0.3.xsd";
|
||||
private static final String EDM_4_0_3_XSD = "edm.4.0.3.xsd", EDMX_4_0_3_XSD = "edmx.4.0.3.xsd";
|
||||
|
||||
private static String bearerToken;
|
||||
private static String clientId;
|
||||
|
@ -104,7 +106,7 @@ public class Commander {
|
|||
public static boolean validateXML(InputStream inputStream) {
|
||||
try {
|
||||
SAXParserFactory factory = SAXParserFactory.newInstance();
|
||||
factory.setValidating(false); //turn off expectation for having DTD in DOCTYPE tag
|
||||
factory.setValidating(false); //turn off expectation of having DTD in DOCTYPE tag
|
||||
factory.setNamespaceAware(true);
|
||||
|
||||
factory.setSchema(SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(new StreamSource[]{
|
||||
|
@ -121,6 +123,7 @@ public class Commander {
|
|||
reader.parse(inputSource);
|
||||
return true;
|
||||
} catch (SAXException saxEx) {
|
||||
LOG.error(saxEx);
|
||||
return false;
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
|
@ -203,8 +206,8 @@ public class Commander {
|
|||
if (requestUri != null && requestUri.length() > 0 && preparedUri != null) {
|
||||
uriBuilder = new URIBuilder(preparedUri);
|
||||
|
||||
if (skip != null && skip > 0) uriBuilder.setParameter(ODATA_QUERY_OPTIONS.SKIP, skip.toString());
|
||||
uriBuilder.setParameter(ODATA_QUERY_OPTIONS.TOP, pageSize == null || pageSize == 0 ? DEFAULT_PAGE_SIZE.toString() : pageSize.toString());
|
||||
if (skip != null && skip > 0) uriBuilder.setParameter(QueryOption.SKIP.toString(), skip.toString());
|
||||
uriBuilder.setParameter(QueryOption.TOP.toString(), pageSize == null || pageSize == 0 ? DEFAULT_PAGE_SIZE.toString() : pageSize.toString());
|
||||
|
||||
URI uri = uriBuilder.build();
|
||||
LOG.debug("URI created: " + uri.toString());
|
||||
|
@ -636,14 +639,6 @@ public class Commander {
|
|||
serializeEntitySet(entitySet, outputFilePath, ContentType.JSON);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constants for OData query parameters
|
||||
*/
|
||||
public static final class ODATA_QUERY_OPTIONS {
|
||||
public static final String TOP = "$top";
|
||||
public static final String SKIP = "$skip";
|
||||
}
|
||||
|
||||
/**
|
||||
* Error handler class for SAX parser
|
||||
*/
|
||||
|
@ -766,8 +761,7 @@ public class Commander {
|
|||
Commander.useEdmEnabledClient = this.useEdmEnabledClient;
|
||||
|
||||
//items required for OAuth client
|
||||
isOAuthClient =
|
||||
clientId != null && clientId.length() > 0
|
||||
isOAuthClient = clientId != null && clientId.length() > 0
|
||||
&& clientSecret != null && clientSecret.length() > 0
|
||||
&& tokenUri != null && tokenUri.length() > 0;
|
||||
|
||||
|
|
|
@ -11,7 +11,9 @@ import org.apache.olingo.client.api.communication.response.ODataRawResponse;
|
|||
import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
|
||||
import org.apache.olingo.client.api.domain.ClientEntitySet;
|
||||
import org.apache.olingo.client.api.edm.xml.XMLMetadata;
|
||||
import org.apache.olingo.client.api.uri.QueryOption;
|
||||
import org.apache.olingo.commons.api.edm.Edm;
|
||||
import org.apache.olingo.commons.api.edm.provider.CsdlProperty;
|
||||
import org.apache.olingo.commons.api.format.ContentType;
|
||||
import org.reso.commander.Commander;
|
||||
import org.reso.commander.TestUtils;
|
||||
|
@ -21,10 +23,13 @@ import org.reso.models.Request;
|
|||
import org.reso.models.Settings;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.reso.commander.Commander.AMPERSAND;
|
||||
import static org.reso.commander.Commander.EQUALS;
|
||||
import static org.reso.commander.TestUtils.HEADER_ODATA_VERSION;
|
||||
|
||||
/**
|
||||
|
@ -33,7 +38,30 @@ import static org.reso.commander.TestUtils.HEADER_ODATA_VERSION;
|
|||
public final class WebApiTestContainer implements TestContainer {
|
||||
private static final Logger LOG = LogManager.getLogger(WebApiTestContainer.class);
|
||||
|
||||
public static final String FIELD_SEPARATOR = ",";
|
||||
public static final String EMPTY_STRING = "";
|
||||
public static final String SINGLE_SPACE = " ";
|
||||
public static final String DOLLAR_SIGN = "$";
|
||||
public static final String PRETTY_FIELD_SEPARATOR = FIELD_SEPARATOR + SINGLE_SPACE;
|
||||
|
||||
private AtomicReference<Commander> commander = new AtomicReference<>();
|
||||
private AtomicReference<XMLMetadata> xmlMetadata = new AtomicReference<>();
|
||||
private AtomicReference<Edm> edm = new AtomicReference<>();
|
||||
private AtomicReference<Settings> settings = new AtomicReference<>();
|
||||
private AtomicReference<String> serviceRoot = new AtomicReference<>();
|
||||
private AtomicReference<String> bearerToken = new AtomicReference<>();
|
||||
private AtomicReference<String> clientId = new AtomicReference<>();
|
||||
private AtomicReference<String> clientSecret = new AtomicReference<>();
|
||||
private AtomicReference<String> authorizationUri = new AtomicReference<>();
|
||||
private AtomicReference<String> tokenUri = new AtomicReference<>();
|
||||
private AtomicReference<String> redirectUri = new AtomicReference<>();
|
||||
private AtomicReference<String> scope = new AtomicReference<>();
|
||||
private AtomicReference<String> pathToRESOScript = new AtomicReference<>();
|
||||
private AtomicReference<Map<String, CsdlProperty>> fieldMap = new AtomicReference<>(new HashMap<>());
|
||||
|
||||
|
||||
// request instance variables - these get reset with every request
|
||||
private AtomicReference<String> selectList = new AtomicReference<>();
|
||||
private AtomicReference<ODataRawResponse> oDataRawResponse = new AtomicReference<>();
|
||||
private AtomicReference<Request> request = new AtomicReference<>();
|
||||
private AtomicReference<URI> requestUri = new AtomicReference<>();
|
||||
|
@ -48,19 +76,6 @@ public final class WebApiTestContainer implements TestContainer {
|
|||
private AtomicReference<ODataEntitySetRequest<ClientEntitySet>> clientEntitySetRequest = new AtomicReference<>();
|
||||
private AtomicReference<ODataRetrieveResponse<ClientEntitySet>> clientEntitySetResponse = new AtomicReference<>();
|
||||
private AtomicReference<ClientEntitySet> clientEntitySet = new AtomicReference<>();
|
||||
private AtomicReference<XMLMetadata> xmlMetadata = new AtomicReference<>();
|
||||
private AtomicReference<Edm> edm = new AtomicReference<>();
|
||||
private AtomicReference<Settings> settings = new AtomicReference<>();
|
||||
private AtomicReference<String> serviceRoot = new AtomicReference<>();
|
||||
private AtomicReference<String> bearerToken = new AtomicReference<>();
|
||||
private AtomicReference<String> clientId = new AtomicReference<>();
|
||||
private AtomicReference<String> clientSecret = new AtomicReference<>();
|
||||
private AtomicReference<String> authorizationUri = new AtomicReference<>();
|
||||
private AtomicReference<String> tokenUri = new AtomicReference<>();
|
||||
private AtomicReference<String> redirectUri = new AtomicReference<>();
|
||||
private AtomicReference<String> scope = new AtomicReference<>();
|
||||
private AtomicReference<String> pathToRESOScript = new AtomicReference<>();
|
||||
|
||||
|
||||
public void initialize() {
|
||||
setServiceRoot(getSettings().getClientSettings().get(ClientSettings.SERVICE_ROOT));
|
||||
|
@ -92,6 +107,11 @@ public final class WebApiTestContainer implements TestContainer {
|
|||
.useEdmEnabledClient(shouldUseEdmClient())
|
||||
.build());
|
||||
}
|
||||
|
||||
//build a map of all of the discovered fields on the server for the given resource by field name
|
||||
//this can also be used to look up type information
|
||||
TestUtils.findEntityTypesForEntityTypeName(getEdm(), getXMLMetadata(), getSettings().getParameters().getValue(Parameters.WELL_KNOWN.RESOURCE_NAME))
|
||||
.forEach(csdlProperty -> fieldMap.get().put(csdlProperty.getName(), csdlProperty));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -158,14 +178,60 @@ public final class WebApiTestContainer implements TestContainer {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets OData Csdl for given field
|
||||
*
|
||||
* @param fieldName the name of the field to retrieve metadata about
|
||||
* @return the metadata for the given field
|
||||
*/
|
||||
public CsdlProperty getCsdlForFieldName(String fieldName) {
|
||||
return fieldMap.get().get(fieldName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Csdl property getter
|
||||
*
|
||||
* @return gets the local collection of Csdl Properties
|
||||
*/
|
||||
public Collection<CsdlProperty> getCsdlProperties() {
|
||||
return fieldMap.get().values();
|
||||
}
|
||||
|
||||
public Collection<String> getSelectList() {
|
||||
final String SELECT_OPERATOR = DOLLAR_SIGN + QueryOption.SELECT.toString();
|
||||
Arrays.stream(getRequestUri().getQuery().split(AMPERSAND)).forEach(fragment -> {
|
||||
if (fragment.contains(QueryOption.SELECT.toString())) {
|
||||
selectList.set(fragment.replace(SELECT_OPERATOR, EMPTY_STRING).replace(EQUALS, EMPTY_STRING));
|
||||
}
|
||||
});
|
||||
|
||||
return new ArrayList<>(Arrays.asList(selectList.get().split(FIELD_SEPARATOR)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Settings getter
|
||||
* @return local settings instance
|
||||
*/
|
||||
public Settings getSettings() {
|
||||
return settings.get();
|
||||
}
|
||||
|
||||
/**
|
||||
* Settings setter
|
||||
* @param settings sets local settings instance to the given settings
|
||||
*/
|
||||
public void setSettings(Settings settings) {
|
||||
this.settings.set(settings);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the Expand field from the RESOScript
|
||||
* @return the configured Expand field
|
||||
*/
|
||||
public String getExpandField() {
|
||||
return getSettings().getParameters().getValue(Parameters.WELL_KNOWN.EXPAND_FIELD);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets server metadata in Edm format.
|
||||
*
|
||||
|
@ -220,6 +286,10 @@ public final class WebApiTestContainer implements TestContainer {
|
|||
this.request.set(request);
|
||||
}
|
||||
|
||||
public void setRequest(String requestId) {
|
||||
setRequest(getSettings().getRequest(requestId));
|
||||
}
|
||||
|
||||
public URI getRequestUri() {
|
||||
return requestUri.get();
|
||||
}
|
||||
|
|
|
@ -73,7 +73,8 @@ public class Parameters {
|
|||
|
||||
public static final class WELL_KNOWN {
|
||||
public static final String
|
||||
RESOURCE_ENDPOINT = "EndpointResource",
|
||||
DATASYSTEM_ENDPOINT = "EndpointDataSystem";
|
||||
RESOURCE_NAME = "EndpointResource",
|
||||
DATASYSTEM_ENDPOINT = "EndpointDataSystem",
|
||||
EXPAND_FIELD = "ExpandField";
|
||||
}
|
||||
}
|
|
@ -17,7 +17,7 @@ public class Settings {
|
|||
public static final String PARAMETER_PREFIX = "Parameter_";
|
||||
private ClientSettings clientSettings;
|
||||
private Parameters parameters;
|
||||
private Map<Request, Request> requests;
|
||||
private Map<String, Request> requests;
|
||||
|
||||
public Settings() {
|
||||
clientSettings = new ClientSettings();
|
||||
|
@ -135,7 +135,7 @@ public class Settings {
|
|||
*
|
||||
* @return The request map that was loaded, indexed by request name.
|
||||
*/
|
||||
public Map<Request, Request> getRequests() {
|
||||
public Map<String, Request> getRequests() {
|
||||
return requests;
|
||||
}
|
||||
|
||||
|
@ -145,8 +145,8 @@ public class Settings {
|
|||
* @param requests a list of requests to create the request map from
|
||||
*/
|
||||
private void setRequests(List<Request> requests) {
|
||||
this.requests = new LinkedHashMap<Request, Request>();
|
||||
requests.forEach(request -> this.requests.put(request, request));
|
||||
this.requests = new LinkedHashMap<String, Request>();
|
||||
requests.forEach(request -> this.requests.put(request.getRequestId(), request));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -154,17 +154,8 @@ public class Settings {
|
|||
*
|
||||
* @return The request map that was loaded, indexed by request name.
|
||||
*/
|
||||
public Request getRequestById(String requestId) {
|
||||
Request found = null;
|
||||
for (Map.Entry<Request, Request> entry : getRequests().entrySet()) {
|
||||
Request key = entry.getKey();
|
||||
Request value = entry.getValue();
|
||||
if (key.getRequestId().contentEquals(requestId)) {
|
||||
found = value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return found;
|
||||
public Request getRequest(String requestId) {
|
||||
return getRequests().get(requestId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue