Commit Graph

369 Commits

Author SHA1 Message Date
Thomas Goyne 0047ffba13 Add object-level permissions tests 2018-03-01 16:16:58 -08:00
Kenneth Geisshirt 8e63737008 Merge branch '2.3.x' of github.com:realm/realm-js into jas/backlink-queries 2018-02-27 11:32:33 +01:00
Kenneth Geisshirt 615d6ff35e Merge branch '2.3.x' of github.com:realm/realm-js into 2.3.x 2018-02-27 10:58:58 +01:00
Kenneth Geisshirt 2e900e85e0 Merge branch 'master' of github.com:realm/realm-js into 2.3.x 2018-02-20 18:03:54 +01:00
Kenneth Geisshirt a90e9ec45f
Test of: Multiple list of primitive types (#1665)
* Adding tests for nested lists
* Updated to Realm Sync 2.2.12.
2018-02-20 14:43:36 +01:00
Kenneth Geisshirt 462856a24d
Partial sync (#1583)
The new Partial Sync API
2018-02-20 13:40:54 +01:00
James Stone bd5c237b0f Named backlink queries working with core 5.3.0 2018-02-19 16:14:10 -08:00
James Stone 6f43324636 Preliminary work for queries over named backlinks 2018-02-13 16:17:27 -08:00
James Stone b78a8a60d0 Hook up the sort/distinct orderings from parsed queries (#1653)
* Hook up the sort/distinct orderings from parsed queries
* Update changelog, better tests, fix syntax
2018-02-07 16:11:43 +01:00
Kenneth Geisshirt 74fc625eca Fix test 2018-02-05 19:51:39 +01:00
Kenneth Geisshirt 1529717577 Disable partial sync test 2018-02-05 10:21:30 +01:00
Kenneth Geisshirt ac82bd285d
Fixing a typo in _getExistingUser (#1634) 2018-01-24 08:07:19 +01:00
Kenneth Geisshirt 03a4dd1486
Better variable names in a couple of tests (#1624) 2018-01-17 16:47:23 +01:00
Kenneth Geisshirt 676eca6bf9
Updating object store (bug fix). Mildly rewrritten a test. (#1622) 2018-01-17 12:15:20 +01:00
Mark Rowe 933b3ad765 Adopt core's query parser and update to core v5.1.2 (#1563)
* Adopt core's query parser.
* Realm Core 5.1.2
* Realm Sync 2.2.9
2018-01-11 11:52:46 +01:00
Kenneth Geisshirt 16a218ad49
Adding JWT auth (#1564)
* Adding method Realm.Sync.User.authenticate()
* Adding JWT provider support to Realm.Sync.User.authenticate()
* Adding password provider support to Realm.Sync.User.authenticate()
2018-01-05 09:38:53 +01:00
Kenneth Geisshirt 839d8563a1
Adding test of timestamp's ms precision. (#1561)
* Adding test of timestamp's ms precision.
2017-12-20 14:19:42 +01:00
Mark Rowe c2de29ab0c Fix an issue where `Realm.open` would complain about the Realm already
being open with a different schema version

In order to correctly open read-only synchronized Realms, `Realm.open`
would open the Realm without specifying a schema or schema version, wait
for any remote changes to be downloaded (if appropriate), and then
re-open the Realm with the specified schema and schema version. This
would lead to an exception about the Realm being open with a different
schema version if the Realm had previously been opened with a different
schema version, due to the way `RealmCoordinator` caches information
about the schema of open Realms.

We address this by making two changes:
1. `Realm.open` for non-synchronized Realms no longer goes through
`_waitForDownload`. This means the dance described above where the Realm
is opened twice is not used for local Realms.
2. `_waitForDownload` no longer keeps the `Realm` alive until after its
callback has returned. It instead keeps the `SyncSession` alive. This is
sufficient to avoid the connection being torn down and having to
reconnect when `_waitForDownload`'s callback later opens the Realm with
the correct schema and schema version, while also allowing for
`RealmCoordinator`'s cached information to be cleared when the
schemaless Realm is closed prior to the Realm being reopened.

In addition, tests have been added that reproduced the problem in both a
local and sync context.
2017-12-18 14:54:08 -08:00
blagoev e1f69ed005
Merge pull request #1483 from realm/kneth/xcode9
Xcode 9 fixes
2017-12-14 13:51:54 +02:00
Yavor Georgiev 4e6cb299b3
Add disableFormatUpgrade to Realm configuration (#1566) 2017-12-14 07:53:03 +01:00
blagoev aa9ae00c35 Merge branch 'master' into kneth/xcode9
# Conflicts:
#	tests/js/list-tests.js
#	tests/js/results-tests.js
2017-12-13 18:56:17 +02:00
Kenneth Geisshirt aed1ea104b
Adding property Realm.isClosed. (#1560)
* Adding property Realm.isClosed.
2017-12-13 10:09:26 +01:00
Yavor Georgiev 23f965060e
Implement implicit property conversion for date and binary (#1557)
* Implement implicit property conversion for date and binary

Closes #1542
Closes #1551

* fix include

* changelog
2017-12-07 13:47:20 +01:00
Kræn Hansen 70004b9304 Checking the content-type of authentication responses (#1556)
* Checking the content-type of authentication responses
* Adding a changelog entry
* Fixing changelog typos and line endings
2017-12-07 10:36:24 +01:00
blagoev 7e8b7d7bab upgrade RN in test app + fix simulators handling + fix test app to run tests immediatelly and exit afterwards 2017-12-04 15:56:42 +02:00
Kenneth Geisshirt 28f9e027b5
Fixing unit tests (discovered on Android). (#1523)
* Fixing unit tests (discovered on Android).
2017-12-01 13:00:02 +01:00
Kenneth Geisshirt cc515a6a60 Updating to RN 0.50.3. 2017-11-22 18:05:26 +02:00
blagoev 29d1b55f7e
Merge branch 'master' into use-ros2.0-final 2017-11-20 16:04:28 +02:00
blagoev 7f75b72a09 fix permission tests 2017-11-20 13:26:47 +02:00
blagoev 3fd06badf6
don't run a sync test when sync tested are not enabled 2017-11-20 11:39:11 +02:00
blagoev 4f1d5e36a1 enable test for RN 2017-11-16 12:57:14 +02:00
blagoev e8d3470826 make eslint happy 2017-11-14 18:15:30 +02:00
Thomas Goyne 8972a20459 Update tests to not use deprecated APIs
Switch to the newer promise-based APIs rather than the callback versions.
2017-11-10 18:12:21 -08:00
Mark Rowe 848a5b1c09 Expose an object's internal object ID, and allow fetching an object by its object ID (#1460)
* Expose an object's internal object ID, and allow fetching an object by its object ID
* Throw an exception if methods related to object IDs are used on non-synced Realms.
* Use `std::stoull` to ensure we can return the entire range of possible values.
* Add tests for _objectId() / _objectForObjectId().
* Adding change log
* Skip ObjectIdTests.testSynced for non-Node.
2017-11-08 11:22:59 +01:00
Kenneth Geisshirt e81d8589ae
Post-release feedback on client reset (#1372) (#1459)
* Post-release feedback on client reset (#1372)
* Using error.name instead
2017-11-06 13:51:33 +01:00
Brian Munkholm e95d5423db
Merge pull request #1450 from realm/bug/deleting-last-object
Adding test to illustrate deleting objects while iterating
2017-11-02 04:47:10 -07:00
Kenneth Geisshirt e7137b48e3 Adding test of creating objects during migration. 2017-11-01 17:43:52 +01:00
Kenneth Geisshirt 9308e75c56 Adding test to illustrate deleting objects while iterating 2017-11-01 10:12:03 +01:00
Thomas Goyne 97ed1db18e Fix eslint errors 2017-10-30 12:55:50 -07:00
blagoev 0b5aa68c62 Revert "Merge pull request #1409 from realm/kneth/bugfix/invalid-token"
This reverts commit 4055c9e047, reversing
changes made to d6b3fcb8b1.
2017-10-17 00:51:47 +03:00
blagoev a8ac2670ea fix encryption tests 2017-10-16 21:47:35 +03:00
Kenneth Geisshirt a99e433d0a Merge branch 'master' of github.com:realm/realm-js into kneth/bugfix/invalid-token 2017-10-13 18:26:30 +02:00
Kenneth Geisshirt 7e85220e47 Merge branch 'kneth/bugfix/invalid-token' of github.com:realm/realm-js into kneth/bugfix/invalid-token 2017-10-13 18:18:05 +02:00
Kenneth Geisshirt 28c51335d2 Ugly hack. 2017-10-13 18:12:30 +02:00
Brian Munkholm 4b564c9ded Update user-tests.js 2017-10-13 17:26:14 +02:00
Kenneth Geisshirt fca7cd4566 wip 2017-10-13 14:39:28 +02:00
Yavor Georgiev feab6b2e3b
disable async tests on windows
interprocess communication seems to be broken
2017-10-12 16:57:19 +02:00
Kenneth Geisshirt 16957f62eb adminUser() throws an exception if token or url is invalid 2017-10-12 16:30:31 +02:00
Yavor Georgiev 5d2ee561a1
Disable sync tests on Windows 2017-10-12 16:06:24 +02:00
Yavor Georgiev 2ac8160b32
Merge branch 'master' of github.com:realm/realm-js into yg/windows-sync
# Conflicts:
#	binding.gyp
#	src/object-store
2017-10-12 12:52:47 +02:00
Mark Rowe 5ea64ef4b3 Merge pull request #1402 from realm/mar/simplify-wait-for-download
Remove configuration handling from Realm._waitForDownload
2017-10-11 09:56:49 -07:00
Thomas Goyne 643c19ea75 Add support for aggregates on arrays of primitives (#1401)
* Fix an unused variable warning in js_sync.hpp
* Add support for aggregates on arrays of primitives
* Update documentation and typescript declarations
* Update collection.js
2017-10-11 14:54:52 +02:00
Mark Rowe 0249722a02 Remove configuration handling from `Realm._waitForDownload`
There's no reason for `_waitForDownload` to be responsible for
constructing a new Realm instance when we can instead use the
constructor for that. This eliminates the potential for different
handling of the Realm configuration between `_waitForDownload` and `new
Realm`, which was responsible for various issues (#1391, #1392, #1393).
In turn, this requires that `_waitForDownload` become an instance method.

In addition, we update `Realm.openAsync` and `getSpecialPurposeRealm` to
delegate to `Realm.open` rather than reimplementing equivalent logic
themselves.

Finally, the private mechanism for registering a download progress
handler as part of the sync configuration (`_onDownloadProgress`) is
removed in favor of the public API (`progress()` on the promise returned
by `Realm.open`).
2017-10-10 21:16:23 -07:00
Ashwin Phatak 4bcef8baff Add support for bulk updates (#808) 2017-10-10 16:25:47 +05:30
blagoev aefd81ccf7 Kneth/fix partial sync (#1383)
* fix typo in subscribeToObjects
* Fix partial sync test
* Swap error and result order in callback
* Use correct url
2017-10-04 11:28:50 +02:00
Kenneth Geisshirt 19d05c2021 Merge `master` into `2.0.x` (#1377)
* Add 'deleteRealmIfMigrationNeeded' to configuration to delete a Realm if migration needed (#502)
* Minor update due to changes in objec store
2017-10-03 13:37:21 +02:00
Kenneth Geisshirt 53fec37e84 Frozen results during iteration. (#1368)
* Frozen results during iteration.
* Adding a note about iterators are frozen.
2017-10-02 23:15:19 +02:00
Kenneth Geisshirt feb59ae859 Partial sync (#1361) 2017-10-02 20:29:36 +02:00
Kenneth Geisshirt fe121ea27b Client reset (#1341) 2017-10-02 19:44:24 +02:00
blagoev 69c85c8b19 Enable permission tests 2017-10-02 13:30:08 +03:00
blagoev fe09dc0d5f disable failing permission test 2017-10-02 11:33:56 +03:00
blagoev 6349d22f55 Merge branch '2.0.x' into kneth/v1_v2-upgrade 2017-09-30 17:21:24 +03:00
blagoev 0b439d6c79 fix IncompatibleRealmSynced tests 2017-09-30 16:43:40 +03:00
Kenneth Geisshirt 3ca8f3b1e1 Readding schema for table in test. 2017-09-30 10:26:42 +02:00
Kenneth Geisshirt e109e32ac4 Merge branch 'master' of github.com:realm/realm-js into kneth/master-to-2.0.x 2017-09-30 09:55:14 +02:00
blagoev 6d9f85759e Fix IncompatibleSyncedRealm support 2017-09-29 21:43:04 +03:00
Yavor Georgiev 507556d1b8
Merge branch '2.0.x' of github.com:realm/realm-js into yg/windows-sync
# Conflicts:
#	src/RealmJS.xcodeproj/project.pbxproj
2017-09-29 16:22:18 +02:00
Ashwin Phatak 199210eb68 Add support for aggregates on collections (#807) (#1350) 2017-09-29 16:53:37 +05:30
blagoev 8e984feedb Merge branch '2.0.x' into kneth/v1_v2-upgrade 2017-09-29 12:42:27 +03:00
blagoev 3bf61963e8 Merge branch '2.0.x' into kneth/v1_v2-upgrade 2017-09-28 10:38:09 +03:00
blagoev 37105e7f00 Merge branch '2.0.x' into kneth/lazy-enable-sync 2017-09-28 10:29:37 +03:00
blagoev 7e048a9bee Merge pull request #1338 from realm/fix-accountInfo-2.0
Fix account info 2.0
2017-09-28 10:08:47 +03:00
Kenneth Geisshirt c370de6d5d Linker issue. 2017-09-27 22:31:27 +02:00
Kenneth Geisshirt 2caa14abf2 Don't expose an initializer function. 2017-09-27 20:16:44 +02:00
Kenneth Geisshirt fba3b3fc38 Merge branch '2.0.x' of github.com:realm/realm-js into kneth/v1_v2-upgrade 2017-09-27 18:10:39 +02:00
Kenneth Geisshirt f4248f5d30 wip 2017-09-27 15:59:21 +02:00
Kenneth Geisshirt 87ab6dd6d3 creating a Realm.Sync.initialiize() 2017-09-27 15:56:09 +02:00
Kenneth Geisshirt d52121f290 make it fail 2017-09-27 11:22:46 +02:00
Kenneth Geisshirt 20defad505 Merge branch '2.0.x' of github.com:realm/realm-js into fix-accountInfo-2.0 2017-09-27 10:01:20 +02:00
Thomas Goyne c9a3548f32 Add some missing property type validation 2017-09-26 14:43:44 -07:00
Thomas Goyne fbf5da388b Make an error message test less specific to accomodate platform differences 2017-09-26 13:43:01 -07:00
Thomas Goyne 9a31febc4c Add support for lists of things other than objects
And add a shorthand syntax for schema definitions.
2017-09-26 11:40:22 -07:00
Thomas Goyne 18dea2bc6c Add an equality assertion that does the right thing for a given property type 2017-09-26 11:40:22 -07:00
Thomas Goyne 0167e60142 Add support for choosing what stack depth to report in test failures
This gives a much more useful test failure message when an assertion is called
from within a function.
2017-09-26 11:40:22 -07:00
Yavor Georgiev c3b56c1183
testing 2017-09-26 15:18:14 +02:00
Thomas Goyne 2298609ce5 Merge remote-tracking branch 'origin/master' into tg/merge-master-to-2.0.x
* origin/master: (23 commits)
  Fix api doc error
  fix progress notifications registrations
  Fix typo in Github issue template
  Fix port conflict between RN >= 0.48 and RPC server (#1294)
  Disable testAddListener when running in chrome
  Ensure RN has an event loop running for async tests
  Make permission tests better handle server delays
  Fix race conditions in testAddListener
  Separate build and test steps in xcode to reduce chance of hitting "Early unexpected exit"
  Ignore errors when sourcing nvm.sh
  Don't forward arguments to nvh.sh
  Skip sourcing nvm.sh if it's already available
  Fix some shellcheck warnings
  Ensure node 6.5.0 is installed on CI
  Build realm from source for each test-runner test
  Improve error reporting for incorrect argument counts for Realm methods
  Use the same error messages in the RPC code as the regular code
  Silence an unused variable warning when building with sync disabled
  Check the exception message in all Realm tests which assert an exception is thrown
  Don't discard the actual error message in validated_get_X
  ...
2017-09-25 09:40:56 -07:00
Kenneth Geisshirt a717b291e8 Merge branch '2.0.x' of github.com:realm/realm-js into kneth/v1_v2-upgrade 2017-09-23 00:18:42 +02:00
Kenneth Geisshirt 39fe8c6280 Creating a proper IncompatibleSyncedRealmError class. 2017-09-23 00:05:33 +02:00
blagoev eed5395c99 Enable all tests except permissions 2017-09-22 20:25:37 +03:00
blagoev a88463bb18 fix users tests 2017-09-22 20:22:17 +03:00
Kenneth Geisshirt 4b2acf3b79 Updating documentation and test. 2017-09-22 13:50:17 +02:00
Thomas Goyne 086f31c07f Use the objectstore keypath sorting functionality
Adds support for sorting on values over links, reduces the amount of code in
the binding, and is required for sorting non-object lists.
2017-09-21 10:41:19 -07:00
blagoev 4f5e51430c Test 2.0.x on CI 2017-09-21 15:41:00 +03:00
blagoev 749c88ec74 Uncomment tests (now that they are guarded by a Fixme) 2017-09-21 02:38:22 +03:00
blagoev 3f7e693a26 Download ROS 2.0 from npm for testing
disabled permissions and account tests
2017-09-21 02:22:49 +03:00
Thomas Goyne 1490285483 Skip running tests against ROS until they are updated for 2.0 2017-09-21 02:09:05 +03:00
blagoev 0f1d916874 fix users tests (account tests still fail) 2017-09-21 01:43:08 +03:00
blagoev b7fef1b6e9 Fix tests 2017-09-21 01:43:08 +03:00
blagoev 3ee26d5719 fix error reporting 2017-09-21 01:43:08 +03:00
blagoev ac6a39728a Fix admin-user-helper for ROS 2.0 2017-09-21 01:43:08 +03:00