Commit Graph

557 Commits

Author SHA1 Message Date
blagoev 8d9896d04a Merge branch 'master' of http://github.com/realm/realm-js 2017-06-29 14:28:15 +03:00
blagoev 30ad678dfa rename test variable to reflect parameter meaning 2017-06-29 14:28:08 +03:00
Marius Rackwitz 9e0a9a3bd3 Add support for accessing linking objects / backlinks (#1101)
* Add support for linkingObjects

* Test linkingObjects

* Borrow names helper from list tests

* include computed properties when serializing the schema for the RN debugger

* add API docs

* review comments

* Expose admin users to JS (#1100)

The JS binding used to conflate `SyncUser::is_admin()` with the user being created by calling `Realm.Sync.User.adminToken()`, but now that we expose a user’s role on the server under `is_admin()` this supposition is no longer correct.

#1097 attempted to fix one such case, but fixing it only uncovered another: in `UserClass<T>::all_users()`.  I’ve gone through all the callsites of `SyncUser::is_admin()` to make sure they don’t assume an admin token user.

* [1.8.3] Bump version

* add linkingObjects method to Realm.Object

* changelog
2017-06-29 11:59:10 +02:00
blagoev f54487c6cc Rename the progress function to better reflect purpose
refactored registration code to remove the unneccesary lambda
2017-06-28 15:02:28 +03:00
blagoev 55542a492e refactor code that runs helper out of process
as per review comments
2017-06-28 13:40:35 +03:00
blagoev 97f25cc1ab Add progress notifications
Support download progress notifications for Realm open and openAsync methods
2017-06-28 13:40:35 +03:00
astigsen db4e184524 Added method to find index of object in collections (#1094)
* Added method to find index of object in collections

* rework as the indexOf method
2017-06-26 13:43:49 +02:00
Yavor Georgiev 7086ed745f Do not throw when the Sync constructor isn’t there (#1086)
* Do not throw when the Sync constructor isn’t there

with unified packaging it’s there all the time now

Closes #1084
Fixes #996

* Fix running the sync tests when Sync is disabled
2017-06-20 15:40:54 +02:00
Mark Rowe 30e58022cf Include property names in type error exceptions thrown by Realm.create (#1069)
* Add and adopt `Value::is_binary` / `Value::to_binary` / `Value::from_binary`.

These methods allow conversions between `BinaryData` and the equivalent
JavaScript types without using `NativeAccessor`. Instead,
`NativeAccessor` now itself delegates to these methods.

* Have `NativeAccessor::value_for_property` and `RealmObjectClass::set_property`
verify that values are valid for the property in question.

If not, we throw an exception that includes the name and type of the
property in question.

`NativeAccessor` is changed to always hold a reference to a `Realm` and
an `ObjectSchema` in order to make this validation possible.

* Fix the Windows build.

* Remove an unused, incorrect forward declaration of a template class
  named `Realm` that caused ambiguity with object store's `Realm` class.
* Disambiguate between `realm::js::PropertyType` and
  `realm::PropertyType`.

* Update CHANGELOG.md
2017-06-20 14:40:01 +02:00
Adam Fish 37dba6bb36 Add objectSchema method to Realm Object (#1055)
* Add objectSchema property to Realm Object

* fix
2017-06-20 11:42:43 +02:00
Yavor Georgiev 28fe678a1b Use an uncached realm instance for _waitForDownload (#1083)
Fixes #1061
2017-06-19 13:58:19 +02:00
blagoev aab7171643 add test for working with local realms with async open api 2017-05-19 09:18:48 +03:00
blagoev ea7b10191a Add test for async open api with no schema usage 2017-05-19 08:59:03 +03:00
blagoev ebb8d8efa6 Revert "reverted the debugger attached timeout change that might be causing CI to hang"
This reverts commit c019ffc33a.
2017-05-17 16:23:49 +03:00
blagoev c019ffc33a reverted the debugger attached timeout change that might be causing CI to hang 2017-05-17 16:18:56 +03:00
blagoev cb72fe1977 addressed pr review comments 2017-05-17 16:09:48 +03:00
blagoev a0f963775b Fix download api for RN
fix tests when run in RN
2017-05-17 16:09:19 +03:00
blagoev 4aecf90176 enable all session-tests and Realm.openAsync 2017-05-17 16:08:24 +03:00
blagoev d0a6ca5db6 Fix showing syntax errors in sync test files 2017-05-17 16:08:12 +03:00
blagoev 315b8c1a7a Fix download api to wait correctly using schema less realm
Added tests using two processes (nodes only)
2017-05-17 16:08:01 +03:00
blagoev 216484aede Initial download api support 2017-05-17 16:07:08 +03:00
blagoev db8eb39b86 add semicolon 2017-04-20 18:23:30 +03:00
blagoev c959cc799c possible fix to session tests timeout 2017-04-20 18:23:30 +03:00
Yavor Georgiev 7543c1274d increase jasmine timeout to a ridiculously high value 2017-04-20 18:23:30 +03:00
Yavor Georgiev 9a8dc1327f remove assertion 2017-04-20 18:23:30 +03:00
Yavor Georgiev a37c38ca92 increase jasmine timeout to a ridiculously high value 2017-04-20 18:23:30 +03:00
Yavor Georgiev 95da4d81c3 refactor session tests 2017-04-20 18:23:30 +03:00
blagoev 4c9f88560e fix testCurrent user test 2017-04-06 18:26:36 +03:00
blagoev 7486ecf029 fix user-tests 2017-04-06 14:25:40 +03:00
blagoev 1aec51cfae fix tests not completing on failure 2017-04-06 11:00:29 +03:00
blagoev a33577eccb remove obsolete test nosync targets 2017-03-30 11:24:46 +03:00
blagoev 68e75a4265 enable js debugging of node tests from within vs code 2017-03-28 23:22:31 +03:00
Yavor Georgiev 80818779ba Fix opening synced realm with an encryption key (#945) 2017-03-28 14:34:27 +02:00
blagoev c5cad2fcd5 correct test-runners tests 2017-03-27 19:18:56 +03:00
blagoev d23d60f272 refactor test.sh to use npm commands
fixed license-check npm command
added test-runners npm command
2017-03-27 19:18:56 +03:00
Adam Lebsack 5ce8afa559 Merge pull request #938 from realm/ajl-fix-tests
Bump up test timeout
2017-03-24 13:36:16 +01:00
Adam Lebsack a5c0456a22 Bump up test timeout 2017-03-24 13:12:00 +01:00
Kristian Dupont 045b963d6f Change fragile test to wait for signal rather than for a period of time (#936)
* Change test to wait for signal rather than for 4 seconds

* Tiny refactoring
2017-03-24 12:49:28 +01:00
Kristian Dupont f551a51acc Add missing sync error (#925)
* Add missing sync error

* Make unit tests work without sync

* Wording fix
2017-03-22 13:52:41 +01:00
Kristian Dupont 5bece3d5c4 Validate user-methods parameters (#924)
* Validate user-methods parameters

* Switch homemade typeof operator for real one.

* Fix array prototype access
2017-03-20 12:52:41 +01:00
Yavor Georgiev db8ebd9333 Node.js Win32 support (#864)
* Remove the windows install check

* Node.js Win32 support

* Bring back the `REALM_HAVE_CONFIG` definition

* Download core for Windows when building

* Implement cross-platform node platform.cpp with libuv

* wip

* Make jasmine run quicker

https://github.com/jasmine/jasmine/issues/1204

* Wait for worker process to close in AsyncTests

* Cross-platform paths in tests

* Normalize path separator for forward slash on Windows

* MSVC exception voodoo

* cross-platform uv_cwd

* fix linux build

* make the prepublish script cross-platform

* Disable encryption tests on windows

* ignore vendor/realm-node

* jenkinsfile work

* Only run the prepublish script for publish and pack

* Jenkinsfile work

* Include gyp files in package

* rewrite default_realm_file_directory()

* fix React Native Android build

* delete all realm artifacts in remove_realm_files_from_directory

* bring back build environment variables

* node-pre-gyp windows

* Update CHANGELOG.md
2017-03-07 23:24:30 +01:00
Yavor Georgiev b93cfaf909 Temporary disable realmjs target on CI (#895)
* Temporary disable realmjs target on CI

It's broken because it doesn't support the node-fetch module. Let's disable it for now.

* Temporarily disable Android tests

They need an Object Server to talk to on CI

* Disable test assertion
2017-03-07 17:41:19 +01:00
Radu Tutueanu 833baa2118 Increase timeouts to avoid spurious failures 2017-02-09 12:11:31 +01:00
Radu Tutueanu be584856eb Increase timeout to 3s 2017-02-08 16:35:36 +01:00
Radu Tutueanu f19fd3e5dd Increase bind timeout 2017-02-08 13:52:26 +01:00
Yavor Georgiev 7c1dab7079 Propagate token refresh errors to the session error handler (#843)
* Get a session’s error handler

* Change the signature of all methods to add the callee

* Deserialize rpc callbacks

* Expose the session error handle on its config property

* When a token refresh error occurs and there is a session error handler

propagate the error to the handler
2017-02-07 11:01:26 +01:00
Yavor Georgiev 0c6000a733 Enable running android sync tests on macOS (#834)
* start ROS and forward ports when running android tests on macOS

* rework AuthError so JSC likes it
2017-02-02 02:41:27 +01:00
Yavor Georgiev b2da398559 Fix token refresh and session bugs in chrome debugging (#831) 2017-02-01 23:44:56 +01:00
Yavor Georgiev 9d1d970b1f Sync Session API (#825)
* Add Session class and expose it to JS

* Add error property on the sync config object for the event handler

* tests

* refactor access token refresh

* chrome debugging
2017-02-01 14:18:59 +01:00
Yavor Georgiev 408f5588f8 Add Permissions models and User Management Realm API (#824)
* Add Permissions models and User Management Realm API

* docs and changelog

* fix bad merge

* add test

* fix jsdoc annotation

* rename permissions to management schema
2017-01-31 22:56:09 +01:00
Kristian Dupont 0c9c5ac407 Add missing chrome debugging apis for Sync.User (#801)
* Add user tests

* Add Sync member to Realm

* Add a simple test for addListener

* Introduce browser User class

* Introduce Sync.User proxy

* Fix User.all

* Add User.logout

* Remove some console.log statements

* Update rpc.cpp from tests-folder

* Use user.current from user-methods, not cpp

* remove user.current from two missing places

* Start server in realmjs and react tests

* Add user tests

* Add Sync member to Realm

* Add a simple test for addListener

* Introduce browser User class

* Introduce Sync.User proxy

* Fix User.all

* Add User.logout

* Remove some console.log statements

* Update rpc.cpp from tests-folder

* Use user.current from user-methods, not cpp

* remove user.current from two missing places

* Start server in realmjs and react tests

* Replace needle with node-fetch

* Make AuthError work in the browser

* Allow for persistent callbacks

* Expose _authenticateRealm to native

* Use clear_test_state in roc

* Streamline test inclusion

* Fix login tests

* Promisify testLogin()

* Disable AsyncTests for now

* Mode jasmine timeout to spec/unit_tests.js

* Avoid use of global for fetch module

* Only include user-tests is sync is enabled

* Skip ROS for android tests

* Add some comments about persistent callbacks

* Fix results-test

* Run async-tests in node

* Add a comment about (user object)

* Cache all users in User.current and return promises in fetch

* node_require async-tests so RN doesn't try and package them

* Add missing parenthesis
2017-01-31 14:07:29 +01:00
Yavor Georgiev 12bde1ed35 Improve CI builds relying on Chrome (#796)
* Use ES6 Proxies to implement collections in the Chrome debugger

* rework realm-test-names event

* move React stuff on the CPH mac mini

* use node with npm3

* remove debugging aid code
2017-01-11 18:22:41 +01:00
Yavor Georgiev 6b07937c8b Upgrade react-test-app to RN 0.40 (#784)
* Upgrade react-test-app to RN 0.40.

* Give the test harness enough time to subscribe

to the `realm-test-names` event

* Disable parallel builds in the test app

http://stackoverflow.com/questions/41477241/react-native-xcode-upgrade-and-now-rctconvert-h-not-found

* Update ReactExample to RN 0.40.0
2017-01-10 14:00:23 +01:00
Kristian Dupont bd8a27b963 Improve error message for typeerrors (#785)
* Add a test

* Catch TypeErrorException

* Make exception asserts check error type

* Remove commented-out testcase and check for error type

* Test for Error, not TypeError
2017-01-10 13:41:56 +01:00
Kristian Dupont fa1f22ddc2 Fix constructor init (#774)
* Update test app to RN 0.39.0

* Fix getContext in index.js

* Add dependency on invariant

* Add some comments to getContext

* Make invariant a devdependency rather than a dependency
2017-01-06 14:30:32 +01:00
Mark Rowe 9d858d0329 Update to object store master to pick up the fix for the global notifier. (#778) 2017-01-05 11:56:11 +01:00
Emanuele Zattin 952b3f719b Fix Jenkins builds by rewriting the symlink 2017-01-03 11:32:30 +01:00
Kristian Dupont 4dc0403c58 Make eslint happy 2016-12-29 10:53:51 +01:00
Nabil Hachicha 914866beff Nh/fix 753 (#755)
* Fix Android compilation (Using  EPOLL commit helper)

* Fixe Symbol.iterator on Android

* Fixing testSchema test for Release
2016-12-28 17:16:37 +01:00
Kristian Dupont 5684fd5aa8 Disable dead code elimination (#757)
* Disable dead code elimination

* Remove changes from realmjs project
2016-12-21 16:27:04 +01:00
Mark Rowe 537bc19858 Fix running `./scripts/test.sh react-tests`. (#747)
The RealmReactTests target was failing to build because it was not
linking against libReact.a
2016-12-21 16:00:38 +01:00
Nabil Hachicha b9706b1e80 Nh/fixes 740 (#743)
* Fix Android testing CI job, we don't use the packager since we build the Release bundle
* Test run on Docker-cph-01 or Docker-cph-02
2016-12-20 19:01:45 +00:00
Nabil Hachicha 43dabf5cbd Nh/symbol iterator android (#732)
* Fix Symbol.iterator on Android
2016-12-20 18:56:51 +00:00
Kristian Dupont c1e7ddcda1 Throw when deleting detached object (#694)
* Throw when deleting detached object

* Update error message

* Add user file

* Throw when deleting detached object

* Update error message

* Revert "Add user file"

This reverts commit 2948f4cfc2dfd2d5d75594307b1e89806b817eb7.
2016-12-20 16:28:02 +01:00
Radu Tutueanu d7c44fa7e9 Use mockery in tests to setup the realm module path(#727)
* Use mockery to set up the realm module path

* Use the right path

* Add mockery to devDependencies

* Remove unnecessary symbolic link
2016-12-09 09:05:15 +01:00
Radu Tutueanu 8eb639678e Accept a custom path for the realm module (#725)
* Accept a custom path for the realm module

* Use the correct argument for the realm module path
2016-12-08 13:01:41 +01:00
Kristian Dupont 43d94d1b8b Add checks for removeListener 2016-12-07 16:31:52 +01:00
Kristian Dupont 1d4bb7c2ad Add more tests and fix add_notification 2016-12-07 16:31:52 +01:00
Kristian Dupont bf85c285a0 Add tests for closed-realm access protection 2016-12-07 16:31:52 +01:00
Ari Lazier b9a2c92a8b test fixes 2016-12-06 14:43:07 +01:00
Marius Rackwitz 8964e4d7f9 Only set the path derived from the SyncManager if none was provided (#679)
* Only set the path derived from the SyncManager if none was provided

* Disable synchronizeChangeswithTwoClientsAndOneUser
2016-11-29 10:51:26 +01:00
Adam Lebsack 9900d24181 Merge pull request #664 from realm/ajl/add-tests
Added tests directory to package.json
2016-11-28 13:44:44 +01:00
Adam Lebsack 88e840f315 Merge remote-tracking branch 'origin/master' into ajl/jenkinsfile 2016-11-25 11:33:48 +01:00
Adam Lebsack 5ac6d97833 Added support for React tests on android in docker (phew) 2016-11-24 16:58:16 +01:00
Ari Lazier 19e91c1f7b don't include ios app in the package 2016-11-17 07:35:51 -08:00
Radu Tutueanu 8d5acd7da5 Fix docs and test according to new api 2016-11-16 13:36:41 +01:00
Ari Lazier fabaf5e819 Merge pull request #653 from realm/nh/update_android
Nh/update android
2016-11-15 10:06:20 -08:00
Søren Vind 06d277aacd Bumped version of ESLint, added eslinting of specs, make all linting pass 2016-11-14 10:48:50 -08:00
Marius Rackwitz b01349087c Add a test which synchronizes a change between two clients 2016-11-14 17:36:47 +01:00
Nabil Hachicha a53e802df3 Merge branch 'al-sync-user-tests' of https://github.com/realm/realm-js into al-sync-user-tests 2016-11-14 13:26:54 +00:00
Nabil Hachicha fdf88c2f78 Adding a build type to switch between Core & Core+Sync 2016-11-14 13:26:33 +00:00
Ari Lazier eef8a2de3b property clean up sync state between tests in c++ 2016-11-12 05:26:37 -08:00
Ari Lazier 695d6f9efb suppress garbage debug info 2016-11-11 21:20:04 -08:00
Ari Lazier baa8321453 fix test 2016-11-11 19:33:21 -08:00
Søren Vind 14e75f12bc Documentation for .all and .current 2016-11-11 14:54:12 -08:00
Ari Lazier bb7e98cbbe use latest rn version 2016-11-11 12:01:31 -08:00
Ari Lazier d229cd6130 throw exception when trying to open a realm with an invalid user 2016-11-11 00:14:52 -08:00
Ari Lazier 08ffc3bf15 ccache support 2016-11-10 23:55:26 -08:00
Ari Lazier 81402f890b use yarn and fix for test app package.json 2016-11-10 23:11:31 -08:00
Søren Vind 88aae65721 Test logout, slightly better test scaffolding (so now we run tests to completion on the outer level of callbacks). 2016-11-10 18:06:27 -08:00
Ari Lazier 30679c2470 remove unneeded script phases 2016-11-10 15:54:24 -08:00
Ari Lazier 6d485866f6 all users should return a dictionary 2016-11-10 13:55:22 -08:00
Søren Vind 87b30fb4ec Add tests of Realm.Sync.User.all and Realm.Sync.User.current. Fix both to only return active (logged-in) users. Fix current return values: Throws if >1 user logged in, returns undefined if no logged in. 2016-11-10 12:54:15 -08:00
Søren Vind 448f68a787 Reformat code, 2 spaces 2016-11-10 12:54:15 -08:00
Ari Lazier fb47fb10cc remove sync test code from test app 2016-11-10 11:51:37 -08:00
Søren Vind 164ea8ec79 Port over remaining tests for Realm.Sync.User 2016-11-10 10:35:36 -08:00
Søren Vind f8eba17c48 Make it possible to run test suite with and without sync 2016-11-09 12:50:19 -08:00
Søren Vind d5cd3d7266 Download and start ROS before running tests + Run all tests + Run using node4.4.7 2016-11-08 16:47:20 -08:00
Ari Lazier 8ce8f52105 add test for login 2016-11-08 14:07:04 -08:00
Ari Lazier b2e71a5fb6 test fixes 2016-11-08 09:21:27 -08:00