blob: 372a00c5ed19b4fe27417ee586cc69cc84966c98 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
var entities = require("../../lib/entities");
var should = require("should");
module.exports = {
test: function() {
var query1 = "where thirdPropertyTypeInt > 30000";
describe("get horses " + query1, function() {
it('should return a subset of results ' + query1, function() {
entities.getWithQuery('horses', query1, 10, function(err, body) {
should(err).be.null;
body.entities.should.be.an.instanceOf(Array);
if (body.entities.length > 0) {
body.entities.length.should.be.greaterThan(0).and.lessThan(11);
body.entities.forEach(function(entity) {
entity.thirdPropertyTypeInt.should.be.greaterThan(30000);
});
}
});
});
});
var query2 = "where thirdPropertyTypeInt > 30000 && thirdPropertyTypeInt < 40000";
describe("get horses " + query2, function() {
it('should return a subset of results ' + query2, function() {
entities.getWithQuery('horses', query2, 10, function(err, body) {
should(err).be.null;
body.entities.should.be.an.instanceOf(Array);
if (body.entities.length > 0) {
body.entities.length.should.be.greaterThan(0).and.lessThan(11);
body.entities.forEach(function(entity) {
entity.thirdPropertyTypeInt.should.be.greaterThan(30000).and.lessThan(40000);
});
}
});
});
});
var query3 = "select * where location within 10000 of 37.3236882,-121.9373442"; //San Jose Airport
describe("get horses " + query3, function() {
it('should return a subset of results ' + query3, function() {
//add some delay
setTimeout(function(){
entities.getWithQuery('horses', query3, 10, function(err, body) {
should(err).be.null;
body.entities.should.be.an.instanceOf(Array);
body.entities.length.should.be.greaterThan(0);
if (body.entities.length > 0) {
body.entities.length.should.be.greaterThan(0).and.lessThan(11);
body.entities.forEach(function(entity) {
// Apigee San Jose
entity.location.latitude.should.be.equal(37.3338716);
entity.location.longitude.should.be.equal(-121.894249);
});
}
});
}, 2000);
});
});
}
};