opengeospatial / ets-sta10

Repository for the Executable Test Suite for OGC Sensor Things API
Other
6 stars 8 forks source link

Added tests for $select and $expand in one query #21

Closed mjacoby closed 7 years ago

mjacoby commented 7 years ago

Adds a test for queries with $select and $expand in combination as well as queries with $expand and nested $select.

hylkevds commented 7 years ago

I've rebased the pull request, should commit cleanly now.

taniakhalafbeigi commented 7 years ago

This test is not part of conformance test suite as of Annex A in the specification of OGC SensorThings API.

mjacoby commented 7 years ago

Actually, A.2.1.2 Test: Request Data with $expand and $select states

Send requests with the $select option following the different usages as defined in the requirement http://www.opengis.net/spec/iot_sensing/1.0/req/request-data/select, check if the server returns appropriate result as defined in this specification.

And _http://www.opengis.net/spec/iot_sensing/1.0/req/request-data/select_ states

The $select system query option requests the service to return only the properties explicitly requested by the client. The value of a $select query option SHALL be a comma-separated list of selection clauses. Each selection clause SHALL be a property name (including navigation property names). In the response, the service SHALL return the specified content, if available, along with any available expanded navigation properties.

From my understanding the last part of the last sentence

... if available, along with any available expanded navigation properties.

states that also a combination of $select and $expand should be tested. So I kindly ask you to re-open this pull request or give a further explanation why this should not be part of the test suite.

taniakhalafbeigi commented 7 years ago

The aim of the test suite is to test each of the query options separately and then test them all together to check the ordering. The whole test suite is aiming to test only the conformance of the service under test to SensorThings API and not testing the whole system. Testing the whole system can be huge and very time consuming specially when run from TEAM Engine and also it is not the goal of conformance test suite. If we want to add test for that last sentence we can only add a sample select without any navigation properties and then expand one of the navigation properties and check the result. But in my opinion it is not needed as part of the test, since A2.1.2 mentioned the request with $select.