Commit Graph

44 Commits

Author SHA1 Message Date
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
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 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
blagoev 69c85c8b19 Enable permission tests 2017-10-02 13:30:08 +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
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
Yavor Georgiev c3b56c1183
testing 2017-09-26 15:18:14 +02:00
blagoev eed5395c99 Enable all tests except permissions 2017-09-22 20:25:37 +03: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
Kenneth Geisshirt 356033a8c4 Merge branch 'tg/update-object-store' of github.com:realm/realm-js into 2.0.x 2017-09-08 14:56:01 +02:00
Kenneth Geisshirt fa0016ba6b Merge branch 'master' of github.com:realm/realm-js into 2.0.x 2017-09-08 14:54:56 +02:00
Thomas Goyne ce749578e1 Fix error reporting from admin-user-helper.js
In some cases errors were not being bubbled out correctly.
2017-08-31 13:49:45 -07:00
Kristian Dupont 402bf48f88 Permissions api (#1244)
* Add basic permissions skeleton

* ...

* Update permissions api

* Wait for server to process management realm, add offer api

* Fix test of apply and get permissions, add offer test

* Accept permission offer

* Accept permission offer test

* Invalidate permission offer

* Add basic docs (still need some links etc)

* Refactor tests

* Only run permission tests where sync is enabled

* Use legal syntax for user name generation

* Add changelog entry

* Streamline permission tests

* Fix casing for access level names etc.

* Add basic definitions to index.d.ts

* Use settimeout for resolving promise from listener

* Complete typescript defs

* Improve docs

* Allow 'any' as default recipient in getGrantedPermissions

* Fix getSpecialPurposeRealm on iOS

* Response to PR comments

* Respond to PR comments

* Fix offer description

* Skip permission tests in chrome debugger :-/
2017-08-29 15:23:22 +02:00
Yavor Georgiev 614c699385 [2.0.0-rc4] Bump version 2017-08-17 13:21:34 +02:00
Yavor Georgiev c78f82ac0c Update download script for the new core build system 2017-08-17 13:01:41 +02:00
Kræn Hansen e4e1431c55 Running js tests in Electron renderer process (#1196)
* First take on running the tests inside an Electron render process

* Making progress

* Making it possible to override the location of the admin token

* Ignoreing the realm-object-server files

* Fixing a console.log to return a string instead of a boolean

But it should probably be removed entirely

* Making the downloaded ROS log less

* Adjusting comments in the test.sh

* Checking number of windows to determine an Electron crash

* Added a test that triggers garbage collection of ArrayBuffers

* Enabled the ability to run the tests in Electrons main process

* Run tests first in main process and the render

* Added a README.md that documents how Electron tests can be run

* Added a comment on why the garbage-collection test was added.

* Waiting with reading the admin token, until it is actually used

* Disabling the GarbageCollectionTests for now
2017-08-11 10:30:57 +02:00
blagoev 9ea5dd7f8c address review comments 2017-07-07 16:38:13 +03:00
blagoev 6a284c94b1 don’t run retrieveAccount tests on RN 2017-07-07 12:46:57 +03:00
blagoev 4a499464eb Run admin helper on node only 2017-07-07 12:43:02 +03:00
blagoev 9c63858d29 fix admin-user-helper and enable retrieveAccount tests 2017-07-07 12:16:12 +03:00
blagoev ee452963c2 Disable user lookup tests temporary 2017-07-07 10:31:29 +03:00
blagoev e31529397f Add tests for retrieveAccount method
fix admin-user-helper wait for admin to correctly wait
2017-07-07 10:31:29 +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
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
blagoev d0a6ca5db6 Fix showing syntax errors in sync test files 2017-05-17 16:08:12 +03:00
blagoev 1aec51cfae fix tests not completing on failure 2017-04-06 11:00:29 +03: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
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 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
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
Scott Kyle 723b50f649 Allow React tests to be async 2016-06-13 17:24:43 -07:00
Scott Kyle 48394d9c19 Automatically handle deleting test Realms
No longer leave this up to the test. All testing passes through the runTest() function, so we use that spot to delete the Realms. It also now deletes them beforehand too since a crash in a previous run could leave a Realm in place.
2016-05-26 15:47:30 -07:00
Ari Lazier 17e5946af4 support for data migrations 2016-04-27 08:30:59 -07:00
Scott Kyle a5ec799a7c Copy whole lib module into JS test bundle
This meant we needed to rename tests/lib to tests/js so they folder names would not conflict.
2016-02-29 03:24:58 -08:00