rhoconnect 3.4.5 → 4.0.0.beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +57 -3
- data/Gemfile +9 -7
- data/Gemfile.lock +37 -37
- data/Rakefile +18 -7
- data/bench/benchapp/Gemfile +1 -1
- data/bench/benchapp/config.ru +0 -3
- data/bench/benchapp/controllers/ruby/application.rb +17 -0
- data/bench/benchapp/controllers/ruby/application_controller.rb +17 -0
- data/bench/benchapp/controllers/ruby/mock_adapter_controller.rb +8 -0
- data/bench/benchapp/controllers/ruby/queue_mock_adapter_controller.rb +8 -0
- data/bench/benchapp/{sources → models/ruby}/mock_adapter.rb +1 -1
- data/bench/benchapp/{sources → models/ruby}/queue_mock_adapter.rb +0 -0
- data/bench/benchapp/spec/{sources → models/ruby}/mock_adapter_spec.rb +1 -1
- data/bench/benchapp/spec/{sources → models/ruby}/queue_mock_adapter_spec.rb +1 -1
- data/bench/benchapp/spec/spec_helper.rb +2 -2
- data/bench/blobapp/Gemfile +1 -1
- data/bench/blobapp/config.ru +0 -3
- data/bench/blobapp/controllers/ruby/application_controller.rb +17 -0
- data/bench/blobapp/controllers/ruby/blob_adapter_controller.rb +8 -0
- data/bench/blobapp/{sources → models/ruby}/blob_adapter.rb +9 -2
- data/bench/blobapp/spec/{sources → models/ruby}/blob_adapter_spec.rb +1 -1
- data/bench/blobapp/spec/spec_helper.rb +1 -1
- data/bench/lib/bench/cli.rb +1 -1
- data/bench/scripts/blob_cud_script.rb +1 -1
- data/bench/scripts/query_md_script.rb +1 -1
- data/bench/scripts/query_only_script.rb +1 -1
- data/bench/scripts/query_script.rb +1 -1
- data/bench/scripts/test_query_script.rb +7 -1
- data/bench/spec/mock_adapter_spec.rb +1 -1
- data/bench/spec/result_spec.rb +3 -3
- data/bin/rhoconnect +5 -3
- data/commands/dtach/dtach_install.rb +2 -2
- data/commands/execute.rb +8 -3
- data/commands/generators/app.rb +3 -3
- data/commands/generators/controller.rb +6 -0
- data/commands/generators/model.rb +6 -0
- data/commands/generators/source.rb +3 -3
- data/commands/generators/update.rb +1 -1
- data/commands/redis/redis_about.rb +2 -2
- data/commands/redis/redis_download.rb +1 -1
- data/commands/redis/redis_install.rb +4 -3
- data/commands/redis/redis_restart.rb +4 -4
- data/commands/redis/redis_start.rb +5 -4
- data/commands/redis/redis_startbg.rb +5 -4
- data/commands/redis/redis_status.rb +13 -0
- data/commands/redis/redis_stop.rb +3 -3
- data/commands/rhoconnect/config.rb +28 -16
- data/commands/rhoconnect/flushdb.rb +1 -2
- data/commands/rhoconnect/get_token.rb +15 -11
- data/commands/rhoconnect/restart.rb +13 -5
- data/commands/rhoconnect/set_admin_password.rb +8 -8
- data/commands/rhoconnect/start.rb +74 -16
- data/commands/rhoconnect/startbg.rb +1 -1
- data/commands/rhoconnect/startdebug.rb +1 -1
- data/commands/rhoconnect/stop.rb +13 -1
- data/commands/rhoconnect/web.rb +5 -5
- data/commands/rhoconnect_console/console.rb +7 -5
- data/commands/{rhoconnect → rhoconnect_spec}/spec.rb +0 -0
- data/commands/rhoconnect_war/war.rb +9 -9
- data/commands/utilities/blank_app.ru +56 -0
- data/commands/utilities/redis_runner.rb +54 -19
- data/doc/authentication.txt +80 -6
- data/doc/blob-sync.txt +104 -97
- data/doc/bulk-sync.txt +1 -1
- data/doc/client-java.txt +3 -3
- data/doc/client-objc.txt +2 -2
- data/doc/client.txt +4 -4
- data/doc/command-line.txt +105 -200
- data/doc/data-partitioning.txt +40 -0
- data/doc/deploying.txt +249 -77
- data/doc/extending-rhoconnect-server.txt +40 -57
- data/doc/heroku-addon.txt +2 -0
- data/doc/install.txt +45 -95
- data/doc/introduction.txt +1 -1
- data/doc/java-plugin.txt +365 -190
- data/doc/metadata.txt +1 -1
- data/doc/migration.txt +108 -142
- data/doc/preparing-production.txt +1 -1
- data/doc/push-backend-setup.txt +2 -0
- data/doc/push-client-setup-android.txt +78 -0
- data/doc/push-client-setup-bb.txt +81 -0
- data/doc/push-client-setup-ios.txt +70 -0
- data/doc/push-client-setup-rps.txt +200 -0
- data/doc/push-client-setup.txt +63 -66
- data/doc/push-server-setup.txt +67 -40
- data/doc/push-testing.txt +29 -0
- data/doc/push.txt +21 -6
- data/doc/rest-api.txt +128 -55
- data/doc/rhoconnect-redis-stack.txt +120 -0
- data/doc/settings.txt +4 -12
- data/doc/source-adapters-intro.txt +28 -0
- data/doc/source-adapters.txt +235 -272
- data/doc/stats-middleware.txt +9 -29
- data/doc/supported-platforms.txt +21 -30
- data/doc/testing.txt +40 -42
- data/doc/tutorial.txt +72 -57
- data/examples/simple/Gemfile +1 -1
- data/examples/simple/application.rb +4 -5
- data/examples/simple/my_server.rb +2 -2
- data/examples/simple/settings/settings.yml +1 -1
- data/generators/rhoconnect.rb +151 -50
- data/generators/templates/application/Gemfile +1 -1
- data/generators/templates/application/Rakefile +3 -3
- data/generators/templates/application/config.ru +1 -4
- data/generators/templates/application/controllers/application_controller.rb +17 -0
- data/generators/templates/application/controllers/js/application_controller.js +14 -0
- data/generators/templates/application/controllers/ruby/application_controller.rb +17 -0
- data/generators/templates/application/package.json +8 -0
- data/generators/templates/application/rcgemfile +2 -5
- data/generators/templates/application/settings/settings.yml +3 -3
- data/generators/templates/application/spec/application_controller_spec.rb +23 -0
- data/generators/templates/application/spec/js_spec.rb +25 -0
- data/generators/templates/application/spec/spec_helper.rb +21 -7
- data/generators/templates/source/controllers/js/controller.js +7 -0
- data/generators/templates/source/controllers/ruby/controller.rb +8 -0
- data/generators/templates/source/controllers/ruby/controller_spec.rb +27 -0
- data/generators/templates/source/models/js/model.js +46 -0
- data/generators/templates/source/{source_adapter.rb → models/ruby/model.rb} +15 -10
- data/generators/templates/source/{source_spec.rb → models/ruby/model_spec.rb} +1 -1
- data/install.sh +5 -5
- data/installer/unix-like/create_texts.rb +2 -2
- data/installer/unix-like/rho_connect_install_constants.rb +2 -2
- data/installer/unix-like/rho_connect_install_utilities.rb +1 -1
- data/installer/utils/constants.rb +4 -4
- data/js-adapters/ballroom.js +216 -0
- data/js-adapters/node.rb +52 -0
- data/js-adapters/node_channel.rb +181 -0
- data/js-adapters/request.js +27 -0
- data/js-adapters/response.js +57 -0
- data/js-adapters/rhoconnect_helpers.js +60 -0
- data/js-adapters/router.js +60 -0
- data/js-adapters/server.js +5 -0
- data/lib/rhoconnect/api/app/ans_login.rb +3 -3
- data/lib/rhoconnect/api/app/bulk_data.rb +10 -10
- data/lib/rhoconnect/api/app/fast_delete.rb +11 -10
- data/lib/rhoconnect/api/app/fast_insert.rb +11 -10
- data/lib/rhoconnect/api/app/fast_update.rb +11 -10
- data/lib/rhoconnect/api/app/login.rb +5 -5
- data/lib/rhoconnect/api/app/push_deletes.rb +12 -11
- data/lib/rhoconnect/api/app/push_objects.rb +12 -11
- data/lib/rhoconnect/api/app/query.rb +8 -7
- data/lib/rhoconnect/api/app/queue_updates.rb +98 -94
- data/lib/rhoconnect/api/app/search.rb +8 -7
- data/lib/rhoconnect/api/client/client_get_db_doc.rb +5 -5
- data/lib/rhoconnect/api/client/client_set_db_doc.rb +8 -8
- data/lib/rhoconnect/api/client/create.rb +7 -7
- data/lib/rhoconnect/api/client/get_client_params.rb +4 -4
- data/lib/rhoconnect/api/client/list_client_docs.rb +17 -17
- data/lib/rhoconnect/api/client/register.rb +12 -12
- data/lib/rhoconnect/api/client/reset.rb +5 -5
- data/lib/rhoconnect/api/readstate/set_refresh_time.rb +9 -9
- data/lib/rhoconnect/api/source/get_source_params.rb +4 -4
- data/lib/rhoconnect/api/source/list_sources.rb +16 -16
- data/lib/rhoconnect/api/source/update_source_params.rb +6 -6
- data/lib/rhoconnect/api/store/get_db_doc.rb +4 -4
- data/lib/rhoconnect/api/store/set_db_doc.rb +7 -7
- data/lib/rhoconnect/api/system/get_adapter.rb +4 -4
- data/lib/rhoconnect/api/system/get_license_info.rb +8 -8
- data/lib/rhoconnect/api/system/login.rb +15 -15
- data/lib/rhoconnect/api/system/reset.rb +11 -11
- data/lib/rhoconnect/api/system/save_adapter.rb +4 -4
- data/lib/rhoconnect/api/system/stats.rb +22 -22
- data/lib/rhoconnect/api/user/create_user.rb +7 -7
- data/lib/rhoconnect/api/user/delete_client.rb +6 -6
- data/lib/rhoconnect/api/user/delete_user.rb +11 -10
- data/lib/rhoconnect/api/user/list_clients.rb +4 -4
- data/lib/rhoconnect/api/user/list_source_docs.rb +10 -10
- data/lib/rhoconnect/api/user/list_users.rb +3 -3
- data/lib/rhoconnect/api/user/ping.rb +3 -3
- data/lib/rhoconnect/api/user/show_user.rb +3 -3
- data/lib/rhoconnect/api/user/update_user.rb +5 -5
- data/lib/rhoconnect/api/user/user_get_db_doc.rb +5 -5
- data/lib/rhoconnect/api/user/user_set_db_doc.rb +10 -10
- data/lib/rhoconnect/api_token.rb +5 -6
- data/lib/rhoconnect/app.rb +6 -46
- data/lib/rhoconnect/application/init.rb +5 -2
- data/lib/rhoconnect/async.rb +76 -39
- data/lib/rhoconnect/bulk_data/bulk_data.rb +6 -4
- data/lib/rhoconnect/client.rb +59 -9
- data/lib/rhoconnect/condition/admin_required.rb +27 -0
- data/lib/rhoconnect/condition/client_required.rb +50 -0
- data/lib/rhoconnect/condition/login_required.rb +22 -0
- data/lib/rhoconnect/condition/source_required.rb +49 -0
- data/lib/rhoconnect/condition/verbs.rb +17 -0
- data/lib/rhoconnect/condition/verify_success.rb +19 -0
- data/lib/rhoconnect/controller/app_base.rb +74 -0
- data/lib/rhoconnect/controller/base.rb +68 -0
- data/lib/rhoconnect/controller/clients_controller.rb +79 -0
- data/lib/rhoconnect/controller/dynamic_adapter_controller.rb +93 -0
- data/lib/rhoconnect/controller/js_base.rb +124 -0
- data/lib/rhoconnect/controller/read_state_controller.rb +22 -0
- data/lib/rhoconnect/controller/source_adapter_base.rb +14 -0
- data/lib/rhoconnect/controller/sources_controller.rb +44 -0
- data/lib/rhoconnect/controller/store_controller.rb +25 -0
- data/lib/rhoconnect/controller/system_controller.rb +67 -0
- data/lib/rhoconnect/controller/users_controller.rb +99 -0
- data/lib/rhoconnect/db_adapter.rb +1 -3
- data/lib/rhoconnect/document.rb +159 -50
- data/lib/rhoconnect/handler/authenticate/execute_methods.rb +77 -0
- data/lib/rhoconnect/handler/authenticate/runner.rb +49 -0
- data/lib/rhoconnect/handler/authenticate.rb +3 -0
- data/lib/rhoconnect/handler/bulk_data.rb +28 -0
- data/lib/rhoconnect/handler/changes/engine.rb +271 -0
- data/lib/rhoconnect/handler/changes/execute_methods.rb +88 -0
- data/lib/rhoconnect/handler/changes/pass_through_runner.rb +11 -0
- data/lib/rhoconnect/handler/changes/runner.rb +53 -0
- data/lib/rhoconnect/handler/changes.rb +31 -0
- data/lib/rhoconnect/handler/helpers/auth_method.rb +29 -0
- data/lib/rhoconnect/handler/helpers/binding.rb +18 -0
- data/lib/rhoconnect/handler/helpers/bulk_data.rb +53 -0
- data/lib/rhoconnect/handler/helpers/source_job.rb +14 -0
- data/lib/rhoconnect/handler/helpers.rb +4 -0
- data/lib/rhoconnect/handler/plugin_callbacks/execute_methods.rb +99 -0
- data/lib/rhoconnect/handler/plugin_callbacks/runner.rb +28 -0
- data/lib/rhoconnect/handler/plugin_callbacks.rb +67 -0
- data/lib/rhoconnect/handler/query/engine.rb +93 -0
- data/lib/rhoconnect/handler/query/execute_methods.rb +21 -0
- data/lib/rhoconnect/handler/query/pass_through_runner.rb +35 -0
- data/lib/rhoconnect/handler/query/runner.rb +270 -0
- data/lib/rhoconnect/handler/query.rb +19 -0
- data/lib/rhoconnect/handler/search/engine.rb +60 -0
- data/lib/rhoconnect/handler/search/execute_methods.rb +32 -0
- data/lib/rhoconnect/handler/search/pass_through_runner.rb +18 -0
- data/lib/rhoconnect/handler/search/runner.rb +104 -0
- data/lib/rhoconnect/handler/search.rb +26 -0
- data/lib/rhoconnect/handler/sync.rb +29 -0
- data/lib/rhoconnect/jobs/source_job.rb +13 -4
- data/lib/rhoconnect/js_adapter.rb +79 -0
- data/lib/rhoconnect/license.rb +10 -2
- data/lib/rhoconnect/middleware/current_user.rb +14 -1
- data/lib/rhoconnect/middleware/helpers.rb +10 -93
- data/lib/rhoconnect/middleware/x_domain_session_wrapper.rb +1 -1
- data/lib/rhoconnect/model/base.rb +229 -0
- data/lib/rhoconnect/model/dynamic_adapter_model.rb +90 -0
- data/lib/rhoconnect/model/js_base.rb +121 -0
- data/lib/rhoconnect/ping/android.rb +1 -1
- data/lib/rhoconnect/predefined_adapters/bench_adapter.rb +7 -4
- data/lib/rhoconnect/read_state.rb +3 -3
- data/lib/rhoconnect/server.rb +159 -190
- data/lib/rhoconnect/source.rb +100 -11
- data/lib/rhoconnect/stats/record.rb +10 -10
- data/lib/rhoconnect/store.rb +905 -591
- data/lib/rhoconnect/{model.rb → store_orm.rb} +53 -115
- data/lib/rhoconnect/tasks.rb +18 -4
- data/lib/rhoconnect/test_methods.rb +30 -17
- data/lib/rhoconnect/user.rb +35 -17
- data/lib/rhoconnect/utilities.rb +1 -1
- data/lib/rhoconnect/version.rb +2 -2
- data/lib/rhoconnect/web-console/server.rb +29 -14
- data/lib/rhoconnect/web-console/views/home.js +10 -10
- data/lib/rhoconnect/web-console/views/new_ping.js +1 -1
- data/lib/rhoconnect.rb +120 -51
- data/rhoconnect.gemspec +4 -3
- data/spec/api/api_helper.rb +1 -6
- data/spec/api/app/fast_delete_spec.rb +4 -4
- data/spec/api/app/fast_insert_spec.rb +4 -4
- data/spec/api/app/fast_update_spec.rb +8 -8
- data/spec/api/app/push_deletes_spec.rb +2 -2
- data/spec/api/app/push_objects_spec.rb +5 -5
- data/spec/api/client/client_get_db_doc_spec.rb +6 -4
- data/spec/api/client/client_set_db_doc_spec.rb +3 -2
- data/spec/api/client/get_client_params_spec.rb +14 -0
- data/spec/api/client/list_client_docs_spec.rb +30 -20
- data/spec/api/client/reset_spec.rb +36 -0
- data/spec/api/source/get_source_params_spec.rb +23 -17
- data/spec/api/system/get_license_info_spec.rb +0 -20
- data/spec/api/system/login_spec.rb +8 -0
- data/spec/api/system/reset_spec.rb +0 -1
- data/spec/api/system/stats_spec.rb +5 -5
- data/spec/api/user/create_user_spec.rb +14 -6
- data/spec/api/user/delete_user_spec.rb +20 -18
- data/spec/api/user/list_users_spec.rb +5 -6
- data/spec/api/user/update_user_spec.rb +5 -4
- data/spec/apps/rhotestapp/config.ru +16 -1
- data/spec/apps/rhotestapp/controllers/js/js_sample_controller.js +23 -0
- data/spec/apps/rhotestapp/controllers/js/sample2_controller.js +32 -0
- data/spec/apps/rhotestapp/controllers/ruby/application_controller.rb +21 -0
- data/spec/apps/rhotestapp/controllers/ruby/sample_adapter_controller.rb +8 -0
- data/spec/apps/rhotestapp/models/js/js_sample.js +55 -0
- data/spec/apps/rhotestapp/models/js/sample2.js +25 -0
- data/spec/apps/rhotestapp/{sources → models/ruby}/base_adapter.rb +0 -0
- data/spec/apps/rhotestapp/{sources → models/ruby}/fixed_schema_adapter.rb +0 -0
- data/spec/apps/rhotestapp/{sources → models/ruby}/other_adapter.rb +0 -0
- data/spec/apps/rhotestapp/{sources → models/ruby}/sample_adapter.rb +0 -0
- data/spec/apps/rhotestapp/{sources → models/ruby}/simple_adapter.rb +2 -2
- data/spec/apps/rhotestapp/{sources → models/ruby}/sub_adapter.rb +0 -0
- data/spec/apps/rhotestapp/settings/settings.yml +0 -1
- data/spec/bulk_data/bulk_data_spec.rb +20 -5
- data/spec/cli/cli_spec.rb +83 -0
- data/spec/client_spec.rb +20 -17
- data/spec/client_sync_spec.rb +244 -406
- data/spec/controllers/js_base_spec.rb +89 -0
- data/spec/doc/doc_spec.rb +18 -18
- data/spec/document_spec.rb +29 -13
- data/spec/dynamic_adapter_spec.rb +6 -6
- data/spec/generator/generator_spec.rb +7 -4
- data/spec/jobs/bulk_data_job_spec.rb +14 -10
- data/spec/jobs/source_job_spec.rb +8 -8
- data/spec/license_spec.rb +5 -2
- data/spec/models/js_model_spec.rb +39 -0
- data/spec/node_spec.rb +42 -0
- data/spec/perf/store_perf_spec.rb +67 -12
- data/spec/ping/android_spec.rb +1 -1
- data/spec/read_state_spec.rb +1 -1
- data/spec/rhoconnect_spec.rb +1 -1
- data/spec/server/cors_spec.rb +14 -18
- data/spec/server/server_spec.rb +265 -88
- data/spec/server/stats_spec.rb +1 -1
- data/spec/source_adapter_spec.rb +54 -27
- data/spec/source_spec.rb +8 -3
- data/spec/source_sync_spec.rb +538 -468
- data/spec/spec_helper.rb +35 -4
- data/spec/stats/record_spec.rb +10 -10
- data/spec/{model_spec.rb → store_orm_spec.rb} +56 -54
- data/spec/store_spec.rb +159 -179
- data/spec/support/shared_examples.rb +36 -27
- data/spec/sync_states_spec.rb +40 -33
- data/spec/test_methods_spec.rb +18 -14
- data/spec/user_spec.rb +17 -30
- metadata +156 -52
- data/bench/benchapp/application.rb +0 -39
- data/bench/blobapp/application.rb +0 -44
- data/commands/rhoconnect/clean_start.rb +0 -9
- data/commands/rhoconnect/create_user.rb +0 -18
- data/commands/rhoconnect/delete_device.rb +0 -9
- data/commands/rhoconnect/delete_user.rb +0 -8
- data/commands/rhoconnect/reset.rb +0 -16
- data/commands/rhoconnect/reset_refresh.rb +0 -11
- data/generators/templates/application/application.rb +0 -43
- data/lib/rhoconnect/client_sync.rb +0 -434
- data/lib/rhoconnect/dynamic_adapter.rb +0 -91
- data/lib/rhoconnect/middleware/admin_user.rb +0 -23
- data/lib/rhoconnect/middleware/current_request.rb +0 -16
- data/lib/rhoconnect/middleware/login_required.rb +0 -22
- data/lib/rhoconnect/source_adapter.rb +0 -132
- data/lib/rhoconnect/source_sync.rb +0 -464
- data/spec/apps/rhotestapp/application.rb +0 -23
data/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,61 @@
|
|
|
1
|
-
##
|
|
1
|
+
## 4.0.0.beta.10 (2013-04-18)
|
|
2
|
+
* B-103674 - Add specs for testing blank rhoconnect app (run "rhoconnect" from any directory)
|
|
3
|
+
* B-103671 - RhoConnect JavaScript support added
|
|
4
|
+
* D-05019 - fixed path detection issue on windows for node.js
|
|
5
|
+
* D-05020 - fixed npm install on windows
|
|
6
|
+
* TK-185016 - Initial round of documentation for model/controller framework
|
|
7
|
+
* B-102914 - RhoConnect 4.0 migration guide
|
|
8
|
+
* TK-18647 - Add controller spec template into source adapter generation
|
|
9
|
+
* B-103294 - Update RMS install docs & RhoConnect install docs with RVM autolibs info
|
|
10
|
+
|
|
11
|
+
## 4.0.0.beta.9 (skipped for RMS version parity)
|
|
12
|
+
|
|
13
|
+
## 4.0.0.beta.8 (2013-04-02)
|
|
14
|
+
* B-101472 - Validate and fix JRuby-1.7.3 support (in Ruby 1.9.x compatibility (default mode))
|
|
15
|
+
* B-97594 - Model/Controller framework (All Sinatra extenstions, base model class)
|
|
16
|
+
* B-103017 - Model/Controller generators
|
|
17
|
+
* EMBPD00090124 - Rhom models are populated with sync data when page size is set to 0 (bug fix)
|
|
18
|
+
|
|
19
|
+
## 4.0.0.beta.7 (skipped for RMS version parity)
|
|
20
|
+
|
|
21
|
+
## 4.0.0.beta.6 (2013-03-19)
|
|
22
|
+
* SPR 23631 - Document Nginx configuration for SSL with self-signed certificate
|
|
2
23
|
* TK-182435 - Run platform validation in parallel (both nightly tests and release jobs)
|
|
3
|
-
*
|
|
4
|
-
* B-
|
|
24
|
+
* B-100239 - Implement QUERY rc_handler
|
|
25
|
+
* B-101530 - Re-work CUD, Search, BulkData routes rc_handlers
|
|
26
|
+
|
|
27
|
+
## 4.0.0.beta.5 (skipped for RMS version parity)
|
|
28
|
+
|
|
29
|
+
## 4.0.0.beta.4 (2013-03-06)
|
|
30
|
+
* B-97597 - Support multiple redis customizations, documentation & package installer updates
|
|
31
|
+
* Updated production stack to ruby-1.9.3-p392, redis-2.6.10, and nginx-1.3.13.
|
|
32
|
+
|
|
33
|
+
## 4.0.0.beta.3 (2013-02-19)
|
|
34
|
+
* SPR 23549 - Reduce the amount of time it takes to delete users in RhoConnect
|
|
35
|
+
* B-97593 - Rhoconnect Controller Base class for Source Adapters
|
|
36
|
+
* B-98498 - Add specs to cover use-case with multiple Redis instances
|
|
37
|
+
* B-99420 - Increased minimum rack version to 1.5.2. Resolves the following security advisories: CVE-2013-0262, CVE-2013-0263
|
|
38
|
+
* B-03792 - Docs: Added a short section on multiple rhoconnect apps to the RhoConnect Deployment document.
|
|
39
|
+
* B-91170 - Docs: Created RhoConnect API chapters with API information taken from the RhoConnect development chapters.
|
|
40
|
+
|
|
41
|
+
## 4.0.0.beta.2 (2013-02-05)
|
|
42
|
+
* B-97601 - Refactor rhoconnect redis cli commands
|
|
43
|
+
* TK-173449 - Store support for multiple Redis instances
|
|
44
|
+
* B-97596 - re-factor Store code to provide uniform interface
|
|
45
|
+
* D-04565 - Fixed issue `"#<LoadError: cannot load such file -- rhoconnect/license> on rhoconnect-client"`
|
|
46
|
+
* B-97840 - Documentation added for new rhoconnect cli options
|
|
47
|
+
* New command line options are available here: http://edgedocs.rhomobile.com/rhoconnect/command-line#rhoconnect-command-line-interface
|
|
48
|
+
* (See rhoconnect "start" and "restart" additions at end of the list)
|
|
49
|
+
* B-97934 - New "rhoconnect-client" extension build process. See https://github.com/rhomobile/rhoconnect-client for instructions on how to build it.
|
|
50
|
+
|
|
51
|
+
## 4.0.0.beta.1 (2013-01-23)
|
|
52
|
+
* Implemented check for valid client documents (from now on any client doc not declared upfront is considered invalid and exception is thrown - thus, making calls like flush_data(*) invalid)
|
|
53
|
+
* Removed deprecation warning from SourceAdapter.initialize method (credential parameter is no longer supported)
|
|
54
|
+
* Update rhoconnect prod stack to ruby-1.9.3-p362 and latest redis (2.6.7) and nginx (1.3.10) releases.
|
|
55
|
+
* Unlocked 'fpm' gem to version >= 0.4.26 (release fixes broken rpm package build tools).
|
|
56
|
+
* Revert prod stack to ruby-1.9.3-p327 due to issue #7629 (https://bugs.ruby-lang.org/issues/7629?utm_source=rubyweekly&utm_medium=email)
|
|
57
|
+
* Update rhoconnect prod stack to ruby-1.9.3-p374
|
|
58
|
+
* Updated RhoConnect CLI: server is capable to start from any directory and accepts parameters (port, redis URL, and others)
|
|
5
59
|
|
|
6
60
|
## 3.4.4 (2013-02-27)
|
|
7
61
|
* Updated prod. stack to ruby-1.9.3-p392, redis-2.6.10, and nginx-1.3.13.
|
data/Gemfile
CHANGED
|
@@ -24,27 +24,29 @@ platforms :jruby do
|
|
|
24
24
|
gem 'dbi', ">= 0.4.5"
|
|
25
25
|
gem 'dbd-jdbc', ">= 0.1.4"
|
|
26
26
|
gem 'jruby-openssl', ">= 0.7.4"
|
|
27
|
+
gem 'puma', "~> 1.6.3"
|
|
27
28
|
gem 'warbler'
|
|
28
29
|
end
|
|
29
30
|
|
|
30
31
|
group :development do
|
|
32
|
+
# gem 'debugger'
|
|
31
33
|
gem 'aws-s3', '>= 0.6.2', :require => 'aws/s3'
|
|
32
34
|
gem 'sqlite3', ">= 1.3.3", :platforms => [:ruby, :mswin, :mingw]
|
|
33
35
|
gem 'fog', '>= 1.1.0'
|
|
34
36
|
gem 'ffaker', '~> 1.14.0'
|
|
35
|
-
gem 'webmock', '~> 1.
|
|
37
|
+
gem 'webmock', '~> 1.9.0'
|
|
36
38
|
gem 'SystemTimer', '~> 1.2.3', :platforms => :ruby_18
|
|
37
39
|
end
|
|
38
40
|
|
|
39
41
|
group :test do
|
|
40
42
|
gem 'rspec', '~> 2.10.0'
|
|
41
|
-
gem
|
|
42
|
-
gem 'simplecov', '
|
|
43
|
-
gem 'rack-test', '
|
|
44
|
-
gem 'jasmine', :platforms => :ruby_19
|
|
45
|
-
gem 'jasmine-headless-webkit', :platforms => :ruby_19
|
|
43
|
+
gem 'simplecov', '>= 0.7.1', :require => false
|
|
44
|
+
gem 'simplecov-rcov', '~> 0.2.3'
|
|
45
|
+
gem 'rack-test', '~> 0.6', :require => 'rack/test'
|
|
46
|
+
gem 'jasmine', :platforms => [:ruby_19,:jruby]
|
|
47
|
+
gem 'jasmine-headless-webkit', :platforms => [:ruby_19,:jruby]
|
|
46
48
|
end
|
|
47
49
|
|
|
48
50
|
group :build do
|
|
49
|
-
gem 'fpm', '>= 0.4.
|
|
51
|
+
gem 'fpm', '>= 0.4.26'
|
|
50
52
|
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
rhoconnect (
|
|
4
|
+
rhoconnect (4.0.0.beta.10)
|
|
5
5
|
bundler (~> 1.0)
|
|
6
|
-
connection_pool (
|
|
6
|
+
connection_pool (~> 1.0.0)
|
|
7
7
|
json (~> 1.7.7)
|
|
8
|
+
ohm (~> 0.1.3)
|
|
8
9
|
rack (~> 1.5.2)
|
|
9
|
-
rake (~> 0.
|
|
10
|
+
rake (~> 10.0.0)
|
|
10
11
|
redis (>= 3.0.1)
|
|
11
12
|
resque (>= 1.22.0)
|
|
12
13
|
rest-client (~> 1.6.1)
|
|
@@ -29,54 +30,47 @@ GEM
|
|
|
29
30
|
builder
|
|
30
31
|
mime-types
|
|
31
32
|
xml-simple
|
|
32
|
-
backports (
|
|
33
|
+
backports (2.6.2)
|
|
33
34
|
builder (3.2.0)
|
|
34
35
|
cabin (0.6.0)
|
|
35
36
|
childprocess (0.3.9)
|
|
36
37
|
ffi (~> 1.0, >= 1.0.11)
|
|
37
|
-
clamp (0.
|
|
38
|
+
clamp (0.3.1)
|
|
38
39
|
coffee-script (2.2.0)
|
|
39
40
|
coffee-script-source
|
|
40
41
|
execjs
|
|
41
42
|
coffee-script-source (1.6.2)
|
|
42
|
-
connection_pool (0.
|
|
43
|
+
connection_pool (1.0.0)
|
|
43
44
|
crack (0.3.2)
|
|
44
45
|
daemons (1.1.9)
|
|
45
46
|
diff-lcs (1.1.3)
|
|
46
47
|
eventmachine (1.0.3)
|
|
47
|
-
excon (0.
|
|
48
|
+
excon (0.20.1)
|
|
48
49
|
execjs (1.4.0)
|
|
49
50
|
multi_json (~> 1.0)
|
|
50
51
|
extlib (0.9.16)
|
|
51
52
|
ffaker (1.14.0)
|
|
52
|
-
ffi (1.
|
|
53
|
-
fog (1.
|
|
53
|
+
ffi (1.7.0)
|
|
54
|
+
fog (1.10.1)
|
|
54
55
|
builder
|
|
55
56
|
excon (~> 0.20)
|
|
56
57
|
formatador (~> 0.2.0)
|
|
57
|
-
json (~> 1.7)
|
|
58
58
|
mime-types
|
|
59
|
+
multi_json (~> 1.0)
|
|
59
60
|
net-scp (~> 1.1)
|
|
60
61
|
net-ssh (>= 2.1.3)
|
|
61
62
|
nokogiri (~> 1.5.0)
|
|
62
63
|
ruby-hmac
|
|
63
64
|
formatador (0.2.4)
|
|
64
|
-
fpm (0.4.
|
|
65
|
+
fpm (0.4.33)
|
|
65
66
|
arr-pm (~> 0.0.8)
|
|
66
|
-
backports (
|
|
67
|
+
backports (= 2.6.2)
|
|
67
68
|
cabin (>= 0.6.0)
|
|
68
|
-
clamp (= 0.
|
|
69
|
-
ftw (~> 0.0.30)
|
|
69
|
+
clamp (= 0.3.1)
|
|
70
70
|
json (~> 1.7.7)
|
|
71
71
|
open4
|
|
72
|
-
|
|
73
|
-
addressable
|
|
74
|
-
backports (>= 2.6.2)
|
|
75
|
-
cabin (> 0)
|
|
76
|
-
http_parser.rb (= 0.5.3)
|
|
77
|
-
highline (1.6.19)
|
|
72
|
+
highline (1.6.18)
|
|
78
73
|
hike (1.2.2)
|
|
79
|
-
http_parser.rb (0.5.3)
|
|
80
74
|
jasmine (1.3.2)
|
|
81
75
|
jasmine-core (~> 1.3.1)
|
|
82
76
|
rack (~> 1.0)
|
|
@@ -90,13 +84,17 @@ GEM
|
|
|
90
84
|
rainbow
|
|
91
85
|
sprockets (~> 2)
|
|
92
86
|
json (1.7.7)
|
|
93
|
-
mime-types (1.
|
|
87
|
+
mime-types (1.22)
|
|
94
88
|
mono_logger (1.0.1)
|
|
95
|
-
multi_json (1.7.
|
|
96
|
-
|
|
89
|
+
multi_json (1.7.2)
|
|
90
|
+
nest (1.1.2)
|
|
91
|
+
redis
|
|
92
|
+
net-scp (1.1.0)
|
|
97
93
|
net-ssh (>= 2.6.5)
|
|
98
94
|
net-ssh (2.6.7)
|
|
99
95
|
nokogiri (1.5.9)
|
|
96
|
+
ohm (0.1.5)
|
|
97
|
+
nest (~> 1.0)
|
|
100
98
|
open4 (1.3.0)
|
|
101
99
|
rack (1.5.2)
|
|
102
100
|
rack-fiber_pool (0.9.3)
|
|
@@ -105,10 +103,9 @@ GEM
|
|
|
105
103
|
rack-test (0.6.2)
|
|
106
104
|
rack (>= 1.0)
|
|
107
105
|
rainbow (1.1.4)
|
|
108
|
-
rake (0.
|
|
109
|
-
|
|
110
|
-
redis (
|
|
111
|
-
redis-namespace (1.3.0)
|
|
106
|
+
rake (10.0.4)
|
|
107
|
+
redis (3.0.3)
|
|
108
|
+
redis-namespace (1.2.1)
|
|
112
109
|
redis (~> 3.0.0)
|
|
113
110
|
resque (1.24.1)
|
|
114
111
|
mono_logger (~> 1.0)
|
|
@@ -137,11 +134,13 @@ GEM
|
|
|
137
134
|
multi_json (~> 1.0)
|
|
138
135
|
simplecov-html (~> 0.7.1)
|
|
139
136
|
simplecov-html (0.7.1)
|
|
137
|
+
simplecov-rcov (0.2.3)
|
|
138
|
+
simplecov (>= 0.4.1)
|
|
140
139
|
sinatra (1.4.2)
|
|
141
140
|
rack (~> 1.5, >= 1.5.2)
|
|
142
141
|
rack-protection (~> 1.4)
|
|
143
142
|
tilt (~> 1.3, >= 1.3.4)
|
|
144
|
-
sprockets (2.9.
|
|
143
|
+
sprockets (2.9.2)
|
|
145
144
|
hike (~> 1.2)
|
|
146
145
|
multi_json (~> 1.0)
|
|
147
146
|
rack (~> 1.0)
|
|
@@ -156,13 +155,13 @@ GEM
|
|
|
156
155
|
eventmachine (>= 0.12.6)
|
|
157
156
|
rack (>= 1.0.0)
|
|
158
157
|
thor (0.15.4)
|
|
159
|
-
tilt (1.
|
|
160
|
-
uuidtools (2.1.
|
|
158
|
+
tilt (1.3.7)
|
|
159
|
+
uuidtools (2.1.3)
|
|
161
160
|
vegas (0.1.11)
|
|
162
161
|
rack (>= 1.0.0)
|
|
163
|
-
webmock (1.
|
|
162
|
+
webmock (1.9.3)
|
|
164
163
|
addressable (>= 2.2.7)
|
|
165
|
-
crack (>= 0.
|
|
164
|
+
crack (>= 0.3.2)
|
|
166
165
|
websocket (1.0.7)
|
|
167
166
|
xml-simple (1.1.2)
|
|
168
167
|
|
|
@@ -178,19 +177,20 @@ DEPENDENCIES
|
|
|
178
177
|
eventmachine (~> 1.0.0)
|
|
179
178
|
ffaker (~> 1.14.0)
|
|
180
179
|
fog (>= 1.1.0)
|
|
181
|
-
fpm (>= 0.4.
|
|
180
|
+
fpm (>= 0.4.26)
|
|
182
181
|
jasmine
|
|
183
182
|
jasmine-headless-webkit
|
|
184
183
|
jdbc-sqlite3 (>= 3.7.2)
|
|
185
184
|
jruby-openssl (>= 0.7.4)
|
|
185
|
+
puma (~> 1.6.3)
|
|
186
186
|
rack-fiber_pool
|
|
187
|
-
rack-test (
|
|
188
|
-
rcov (~> 1.0.0)
|
|
187
|
+
rack-test (~> 0.6)
|
|
189
188
|
rhoconnect!
|
|
190
189
|
rspec (~> 2.10.0)
|
|
191
190
|
simplecov (>= 0.7.1)
|
|
191
|
+
simplecov-rcov (~> 0.2.3)
|
|
192
192
|
sqlite3 (>= 1.3.3)
|
|
193
193
|
thin
|
|
194
194
|
warbler
|
|
195
|
-
webmock (~> 1.
|
|
195
|
+
webmock (~> 1.9.0)
|
|
196
196
|
win32-process
|
data/Rakefile
CHANGED
|
@@ -12,12 +12,12 @@ require 'rhoconnect'
|
|
|
12
12
|
|
|
13
13
|
include Rake::DSL
|
|
14
14
|
#task :default => 'spec:all'
|
|
15
|
-
task :default => ["spec:all","jasmine:headless"]
|
|
15
|
+
task :default => ["npm_install","spec:all","jasmine:headless"]
|
|
16
16
|
task :spec => 'spec:spec'
|
|
17
17
|
|
|
18
18
|
begin
|
|
19
19
|
require 'rspec/core/rake_task'
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
TYPES = {
|
|
22
22
|
:spec => 'spec/*_spec.rb',
|
|
23
23
|
:perf => 'spec/perf/*_spec.rb',
|
|
@@ -28,9 +28,13 @@ begin
|
|
|
28
28
|
:stats => 'spec/stats/*_spec.rb',
|
|
29
29
|
:ping => 'spec/ping/*_spec.rb',
|
|
30
30
|
:generator => 'spec/generator/*_spec.rb',
|
|
31
|
-
:bench => 'bench/spec/*_spec.rb'
|
|
31
|
+
:bench => 'bench/spec/*_spec.rb',
|
|
32
|
+
:models => 'spec/models/*_spec.rb',
|
|
33
|
+
:controllers => 'spec/controllers/**/*_spec.rb',
|
|
34
|
+
:models => 'spec/models/**/*_spec.rb',
|
|
35
|
+
:cli => 'spec/cli/*_spec.rb'
|
|
32
36
|
}
|
|
33
|
-
|
|
37
|
+
|
|
34
38
|
TYPES.each do |type,files|
|
|
35
39
|
desc "Run specs in #{files}"
|
|
36
40
|
RSpec::Core::RakeTask.new("spec:#{type}") do |t|
|
|
@@ -50,13 +54,13 @@ begin
|
|
|
50
54
|
t.rcov_opts = ['--exclude', 'spec/*,gems/*,apps/*,bench/spec/*,json/*']
|
|
51
55
|
end
|
|
52
56
|
end
|
|
53
|
-
|
|
57
|
+
|
|
54
58
|
desc "Run doc generator - dumps out doc/protocol.html"
|
|
55
59
|
RSpec::Core::RakeTask.new('doc') do |t|
|
|
56
60
|
t.pattern = FileList['spec/doc/*_spec.rb']
|
|
57
61
|
t.rcov = false
|
|
58
62
|
end
|
|
59
|
-
|
|
63
|
+
|
|
60
64
|
rescue LoadError => e
|
|
61
65
|
# Array of groups whose gems are not installed
|
|
62
66
|
# if bundle install called with the --without option
|
|
@@ -73,6 +77,13 @@ end
|
|
|
73
77
|
|
|
74
78
|
# desc "Build rhoconnect gem"
|
|
75
79
|
# task :gem => [ 'spec:all', 'clobber_spec:all', :gemspec, :build ]
|
|
80
|
+
task :build => :npm_install
|
|
81
|
+
|
|
82
|
+
desc "install npm dependency packages"
|
|
83
|
+
task :npm_install do
|
|
84
|
+
system "npm install"
|
|
85
|
+
end
|
|
86
|
+
|
|
76
87
|
|
|
77
88
|
desc "Run benchmark scripts"
|
|
78
89
|
task :bench do
|
|
@@ -128,7 +139,7 @@ def build_pkg(dist, arch, deps)
|
|
|
128
139
|
|
|
129
140
|
# cd into the pkg dir so that fpm will create the package into the pkg dir.
|
|
130
141
|
Dir.chdir("./pkg") # it created by build task and should already exist
|
|
131
|
-
|
|
142
|
+
|
|
132
143
|
# Construct fpm command
|
|
133
144
|
fpm_cmd = "fpm -s dir -t #{dist} -n rhoconnect -v #{version} -a #{arch} -C #{build_dir} " +
|
|
134
145
|
"--before-install #{before_install_script} --after-install #{after_install_script} " +
|
data/bench/benchapp/Gemfile
CHANGED
|
@@ -2,7 +2,7 @@ source 'http://rubygems.org'
|
|
|
2
2
|
|
|
3
3
|
gem 'rhoconnect', :path => '../../'
|
|
4
4
|
|
|
5
|
-
gemfile_path = File.join(File.dirname(__FILE__), '..', '..', 'generators','templates', 'application', "
|
|
5
|
+
gemfile_path = File.join(File.dirname(__FILE__), '..', '..', 'generators','templates', 'application', "rcgemfile")
|
|
6
6
|
begin
|
|
7
7
|
eval(IO.read(gemfile_path))
|
|
8
8
|
rescue Exception => e
|
data/bench/benchapp/config.ru
CHANGED
|
@@ -8,9 +8,6 @@ Rhoconnect::Server.set :secret, 'cf8e8a1d3653fcfb2332d8b1af9f6762c3c45e
|
|
|
8
8
|
#Rhoconnect::Server.enable :stats
|
|
9
9
|
Rhoconnect::Server.disable :logging
|
|
10
10
|
|
|
11
|
-
# Load RhoConnect application
|
|
12
|
-
require './application'
|
|
13
|
-
|
|
14
11
|
# Setup the url map
|
|
15
12
|
# run RhoConnect Application
|
|
16
13
|
run Rhoconnect.app
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
class ApplicationController < Rhoconnect::Controller::AppBase
|
|
2
|
+
register Rhoconnect::EndPoint
|
|
3
|
+
|
|
4
|
+
post "/login", :rc_handler => :authenticate,
|
|
5
|
+
:deprecated_route => {:verb => :post, :url => ['/application/clientlogin', '/api/application/clientlogin']} do
|
|
6
|
+
login = params[:login]
|
|
7
|
+
password = params[:password]
|
|
8
|
+
true # do some interesting authentication here...
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
get "/rps_login", :rc_handler => :rps_authenticate,
|
|
12
|
+
:login_required => true do
|
|
13
|
+
login = params[:login]
|
|
14
|
+
password = params[:password]
|
|
15
|
+
true # optionally handle rhoconnect push authentication...
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
class ApplicationController < Rhoconnect::Controller::AppBase
|
|
2
|
+
register Rhoconnect::EndPoint
|
|
3
|
+
|
|
4
|
+
post "/login", :rc_handler => :authenticate,
|
|
5
|
+
:deprecated_route => {:verb => :post, :url => ['/application/clientlogin', '/api/application/clientlogin']} do
|
|
6
|
+
login = params[:login]
|
|
7
|
+
password = params[:password]
|
|
8
|
+
true # do some interesting authentication here...
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
get "/rps_login", :rc_handler => :rps_authenticate,
|
|
12
|
+
:login_required => true do
|
|
13
|
+
login = params[:login]
|
|
14
|
+
password = params[:password]
|
|
15
|
+
true # optionally handle rhoconnect push authentication...
|
|
16
|
+
end
|
|
17
|
+
end
|
|
File without changes
|
|
@@ -14,7 +14,7 @@ end
|
|
|
14
14
|
|
|
15
15
|
$:.unshift File.join(File.dirname(__FILE__), "..")
|
|
16
16
|
# Load our rhoconnect application
|
|
17
|
-
require 'application'
|
|
17
|
+
require 'rhoconnect/application/init'
|
|
18
18
|
include Rhoconnect
|
|
19
19
|
|
|
20
20
|
require 'rhoconnect/test_methods'
|
|
@@ -23,7 +23,7 @@ shared_examples_for "SpecHelper" do
|
|
|
23
23
|
include Rhoconnect::TestMethods
|
|
24
24
|
|
|
25
25
|
before(:each) do
|
|
26
|
-
Store.
|
|
26
|
+
Store.flush_all
|
|
27
27
|
Application.initializer(ROOT_PATH)
|
|
28
28
|
end
|
|
29
29
|
end
|
data/bench/blobapp/Gemfile
CHANGED
|
@@ -2,7 +2,7 @@ source 'http://rubygems.org'
|
|
|
2
2
|
|
|
3
3
|
gem 'rhoconnect', :path => '../../'
|
|
4
4
|
|
|
5
|
-
gemfile_path = File.join(File.dirname(__FILE__), '..', '..', 'generators','templates', 'application', "
|
|
5
|
+
gemfile_path = File.join(File.dirname(__FILE__), '..', '..', 'generators','templates', 'application', "rcgemfile")
|
|
6
6
|
begin
|
|
7
7
|
eval(IO.read(gemfile_path))
|
|
8
8
|
rescue Exception => e
|
data/bench/blobapp/config.ru
CHANGED
|
@@ -7,9 +7,6 @@ Rhoconnect::Server.set :secret, '096a8a4212b18d2b281d377f2c350421898a21fec78
|
|
|
7
7
|
# For example, uncomment the following line to enable Stats
|
|
8
8
|
#Rhoconnect::Server.enable :stats
|
|
9
9
|
|
|
10
|
-
# Load RhoConnect application
|
|
11
|
-
require './application'
|
|
12
|
-
|
|
13
10
|
# Setup the url map
|
|
14
11
|
# run RhoConnect Application
|
|
15
12
|
run Rhoconnect.app
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
class ApplicationController < Rhoconnect::Controller::AppBase
|
|
2
|
+
register Rhoconnect::EndPoint
|
|
3
|
+
|
|
4
|
+
post "/login", :rc_handler => :authenticate,
|
|
5
|
+
:deprecated_route => {:verb => :post, :url => ['/application/clientlogin', '/api/application/clientlogin']} do
|
|
6
|
+
login = params[:login]
|
|
7
|
+
password = params[:password]
|
|
8
|
+
true # do some interesting authentication here...
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
get "/rps_login", :rc_handler => :rps_authenticate,
|
|
12
|
+
:login_required => true do
|
|
13
|
+
login = params[:login]
|
|
14
|
+
password = params[:password]
|
|
15
|
+
true # optionally handle rhoconnect push authentication...
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class BlobAdapter <
|
|
1
|
+
class BlobAdapter < Rhoconnect::Model::Base
|
|
2
2
|
def initialize(source)
|
|
3
3
|
super(source)
|
|
4
4
|
end
|
|
@@ -58,6 +58,14 @@ class BlobAdapter < SourceAdapter
|
|
|
58
58
|
# TODO: Logout from the data source if necessary
|
|
59
59
|
end
|
|
60
60
|
|
|
61
|
+
def store_blob(object, field_name, blob)
|
|
62
|
+
# Pass to BlobAdapter path to image and its original name
|
|
63
|
+
if blob
|
|
64
|
+
object['filename'] = blob[:filename]
|
|
65
|
+
object['image_uri'] = blob[:tempfile].path
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
61
69
|
private
|
|
62
70
|
|
|
63
71
|
def db_name
|
|
@@ -67,5 +75,4 @@ class BlobAdapter < SourceAdapter
|
|
|
67
75
|
def lock_name
|
|
68
76
|
"lock:#{db_name}"
|
|
69
77
|
end
|
|
70
|
-
|
|
71
78
|
end
|
data/bench/lib/bench/cli.rb
CHANGED
|
@@ -50,7 +50,7 @@ Bench.test do |config, session|
|
|
|
50
50
|
body = { :cud => {:source_name => 'BlobAdapter',
|
|
51
51
|
:blob_fields => ['img_file-rhoblob'], :create => create_objs}.to_json
|
|
52
52
|
}
|
|
53
|
-
session.post "create-object", "#{config.host}/app/#{Rhoconnect::API_VERSION}/#{config.adapter_name}
|
|
53
|
+
session.post "create-object", "#{config.host}/app/#{Rhoconnect::API_VERSION}/#{config.adapter_name}",
|
|
54
54
|
{:content_type => :json, 'X-RhoConnect-CLIENT-ID' => session.client_id} do
|
|
55
55
|
body.merge!(Bench.get_image_data(create_objs)) # Add images to miltipart post
|
|
56
56
|
end
|
|
@@ -47,5 +47,5 @@ Bench.test do |config,session|
|
|
|
47
47
|
end
|
|
48
48
|
session.last_result.verify_code(200)
|
|
49
49
|
session.last_result.verify_body([{:version => 3},{:token => ''},{:count => 0},
|
|
50
|
-
{:progress_count =>
|
|
50
|
+
{:progress_count => 0},{:total_count => @datasize},{}].to_json)
|
|
51
51
|
end
|
|
@@ -55,5 +55,5 @@ Bench.test do |config,session|
|
|
|
55
55
|
end
|
|
56
56
|
session.last_result.verify_code(200)
|
|
57
57
|
session.last_result.verify_body([{:version => 3},{:token => ''},{:count => 0},
|
|
58
|
-
{:progress_count =>
|
|
58
|
+
{:progress_count => 0},{:total_count => @datasize},{}].to_json)
|
|
59
59
|
end
|
|
@@ -45,5 +45,5 @@ Bench.test do |config,session|
|
|
|
45
45
|
end
|
|
46
46
|
session.last_result.verify_code(200)
|
|
47
47
|
session.last_result.verify_body([{:version => 3},{:token => ''},{:count => 0},
|
|
48
|
-
{:progress_count =>
|
|
48
|
+
{:progress_count => 0},{:total_count => @datasize},{}].to_json)
|
|
49
49
|
end
|
|
@@ -28,10 +28,16 @@ Bench.config do |config|
|
|
|
28
28
|
data_to_create = data_to_create - nobjects
|
|
29
29
|
end
|
|
30
30
|
# also, simulate load for incremental syncs
|
|
31
|
-
@incr_expected =
|
|
31
|
+
@incr_expected = 130
|
|
32
|
+
incr_data_page = Bench.get_test_data(@incr_expected, true)
|
|
33
|
+
config.set_server_state("test_db_storage:application:mquser",incr_data_page)
|
|
34
|
+
|
|
35
|
+
@incr_expected = 250
|
|
32
36
|
incr_data_page = Bench.get_test_data(@incr_expected, true)
|
|
33
37
|
config.set_server_state("test_db_storage:application:nquser",incr_data_page)
|
|
34
38
|
|
|
39
|
+
#exit(1)
|
|
40
|
+
|
|
35
41
|
#config.reset_refresh_time('RhoInternalBenchmarkAdapter', 0)
|
|
36
42
|
config.set_simulate_time('RhoInternalBenchmarkAdapter', Bench.simtime)
|
|
37
43
|
end
|
data/bench/spec/result_spec.rb
CHANGED
|
@@ -21,15 +21,15 @@ describe "ResultSpec" do
|
|
|
21
21
|
|
|
22
22
|
describe "test @last_response wrapper" do
|
|
23
23
|
|
|
24
|
-
it "
|
|
24
|
+
it "should return 'code'" do
|
|
25
25
|
@result.code.should == 200
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
it "
|
|
28
|
+
it "should return 'body'" do
|
|
29
29
|
JSON.parse(@result.body).should == @s1
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
it "
|
|
32
|
+
it "should return 'cookies'" do
|
|
33
33
|
@result.cookies.should == {'session1'=>'sessval1'}
|
|
34
34
|
end
|
|
35
35
|
|