Advancements with postgres (#2510)

* Start DB runner from tests

* Connect GridstoreAdapter only when needed

* removes unused package

* better test errors reporting

* Adds support for __op.Delete

* Better test error reporting

* Makes sure all tests can run without crashing

* Use xdescribe to skip test suite

* Removes unused dependencies

* Let volatiles classes be created with PG on start

* Do not fail if class dont exist

* adds index.spec.js to the pg suite

* Use a new config each test to prevent side effects

* Enable EmailVerificationToken specs with pg

* Makes sure failure output is not cut

* Reduces number of ignored tests in ParseObject.spec

* Inspect reconfiguration errors

* Mark GlobalConfig is incompatible with PG

- Problem is with nested updates (param.prop = value)

* PG: Nested JSON queries and updates

- Adds support for nested json and . operator queries
- Adds debug support for PG adapter
- Adds loglevel support in helper

* Enable working specs in ParseUser

* Sets default logLevel in tests to undefined

* Adds File type support, retores purchaseValidation specs

* Adds support for updating jsonb objects

- Restores PushController tests

* Proper implementation of deleteByQuery and ORs

- Adds ParseInstallation spec to the test suite

* xit only failing tests

* Nit on ParseAPI spec

* add sorting operator

* properly bound order keys

* reverts describe_only_db behavior

* Enables passing tests

* Adds basic support for relations, upsertOneObject aliased to createObject

* progress on queries options

* Fix ACL update related problems

* Creates relation tables on class creation

* Adds Relation tests

* remove flaky tests

* use promises instead of CB

* disable flaky test

* nits

* Fixes on schema spec

- Next thing is to implemenet geopoint and files correctly

* fix failues

* Basic GeoPoint support

* Adds support for $nearSphere/$maxDistance geopoint queries

* enable passing tests

* drop tables afterEach for PG, clean up relation tables too

* Better initialization/dropTables
This commit is contained in:
Florent Vilmart
2016-08-15 16:48:39 -04:00
committed by GitHub
parent 2f1ee2186b
commit c0249283ac
42 changed files with 1447 additions and 716 deletions

View File

@@ -6,7 +6,7 @@ var ChildObject = Parse.Object.extend({className: "ChildObject"});
var ParentObject = Parse.Object.extend({className: "ParentObject"});
describe('Parse.Relation testing', () => {
it_exclude_dbs(['postgres'])("simple add and remove relation", (done) => {
it("simple add and remove relation", (done) => {
var child = new ChildObject();
child.set("x", 2);
var parent = new ParentObject();
@@ -41,7 +41,7 @@ describe('Parse.Relation testing', () => {
});
});
it_exclude_dbs(['postgres'])("query relation without schema", (done) => {
it("query relation without schema", (done) => {
var ChildObject = Parse.Object.extend("ChildObject");
var childObjects = [];
for (var i = 0; i < 10; i++) {
@@ -75,7 +75,7 @@ describe('Parse.Relation testing', () => {
}));
});
it_exclude_dbs(['postgres'])("relations are constructed right from query", (done) => {
it("relations are constructed right from query", (done) => {
var ChildObject = Parse.Object.extend("ChildObject");
var childObjects = [];
@@ -121,7 +121,7 @@ describe('Parse.Relation testing', () => {
});
it_exclude_dbs(['postgres'])("compound add and remove relation", (done) => {
it("compound add and remove relation", (done) => {
var ChildObject = Parse.Object.extend("ChildObject");
var childObjects = [];
for (var i = 0; i < 10; i++) {
@@ -164,7 +164,7 @@ describe('Parse.Relation testing', () => {
});
it_exclude_dbs(['postgres'])("queries with relations", (done) => {
it("queries with relations", (done) => {
var ChildObject = Parse.Object.extend("ChildObject");
var childObjects = [];
@@ -202,7 +202,7 @@ describe('Parse.Relation testing', () => {
});
});
it_exclude_dbs(['postgres'])("queries on relation fields", (done) => {
it("queries on relation fields", (done) => {
var ChildObject = Parse.Object.extend("ChildObject");
var childObjects = [];
for (var i = 0; i < 10; i++) {
@@ -248,7 +248,7 @@ describe('Parse.Relation testing', () => {
});
});
it_exclude_dbs(['postgres'])("queries on relation fields with multiple containedIn (regression test for #1271)", (done) => {
it("queries on relation fields with multiple containedIn (regression test for #1271)", (done) => {
let ChildObject = Parse.Object.extend("ChildObject");
let childObjects = [];
for (let i = 0; i < 10; i++) {
@@ -334,7 +334,7 @@ describe('Parse.Relation testing', () => {
});
});
it_exclude_dbs(['postgres'])("query on pointer and relation fields with equal bis", (done) => {
it("query on pointer and relation fields with equal bis", (done) => {
var ChildObject = Parse.Object.extend("ChildObject");
var childObjects = [];
for (var i = 0; i < 10; i++) {
@@ -419,7 +419,7 @@ describe('Parse.Relation testing', () => {
});
it_exclude_dbs(['postgres'])("Get query on relation using un-fetched parent object", (done) => {
it("Get query on relation using un-fetched parent object", (done) => {
// Setup data model
var Wheel = Parse.Object.extend('Wheel');
var Car = Parse.Object.extend('Car');
@@ -452,7 +452,7 @@ describe('Parse.Relation testing', () => {
});
});
it_exclude_dbs(['postgres'])("Find query on relation using un-fetched parent object", (done) => {
it("Find query on relation using un-fetched parent object", (done) => {
// Setup data model
var Wheel = Parse.Object.extend('Wheel');
var Car = Parse.Object.extend('Car');
@@ -486,7 +486,7 @@ describe('Parse.Relation testing', () => {
});
});
it_exclude_dbs(['postgres'])('Find objects with a related object using equalTo', (done) => {
it('Find objects with a related object using equalTo', (done) => {
// Setup the objects
var Card = Parse.Object.extend('Card');
var House = Parse.Object.extend('House');
@@ -506,7 +506,7 @@ describe('Parse.Relation testing', () => {
});
});
it_exclude_dbs(['postgres'])('should properly get related objects with unfetched queries', (done) => {
it('should properly get related objects with unfetched queries', (done) => {
let objects = [];
let owners = [];
let allObjects = [];
@@ -575,7 +575,7 @@ describe('Parse.Relation testing', () => {
})
});
it_exclude_dbs(['postgres'])("select query", function(done) {
it("select query", function(done) {
var RestaurantObject = Parse.Object.extend("Restaurant");
var PersonObject = Parse.Object.extend("Person");
var OwnerObject = Parse.Object.extend('Owner');
@@ -615,7 +615,7 @@ describe('Parse.Relation testing', () => {
});
});
it_exclude_dbs(['postgres'])("dontSelect query", function(done) {
it("dontSelect query", function(done) {
var RestaurantObject = Parse.Object.extend("Restaurant");
var PersonObject = Parse.Object.extend("Person");
var OwnerObject = Parse.Object.extend('Owner');
@@ -657,7 +657,7 @@ describe('Parse.Relation testing', () => {
});
});
it_exclude_dbs(['postgres'])('relations are not bidirectional (regression test for #871)', done => {
it('relations are not bidirectional (regression test for #871)', done => {
let PersonObject = Parse.Object.extend("Person");
let p1 = new PersonObject();
let p2 = new PersonObject();
@@ -684,7 +684,7 @@ describe('Parse.Relation testing', () => {
});
});
it_exclude_dbs(['postgres'])('can query roles in Cloud Code (regession test #1489)', done => {
it('can query roles in Cloud Code (regession test #1489)', done => {
Parse.Cloud.define('isAdmin', (request, response) => {
let query = new Parse.Query(Parse.Role);
query.equalTo('name', 'admin');