rhoconnect 3.4.5 → 4.0.0.beta.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (337) hide show
  1. data/CHANGELOG.md +57 -3
  2. data/Gemfile +9 -7
  3. data/Gemfile.lock +37 -37
  4. data/Rakefile +18 -7
  5. data/bench/benchapp/Gemfile +1 -1
  6. data/bench/benchapp/config.ru +0 -3
  7. data/bench/benchapp/controllers/ruby/application.rb +17 -0
  8. data/bench/benchapp/controllers/ruby/application_controller.rb +17 -0
  9. data/bench/benchapp/controllers/ruby/mock_adapter_controller.rb +8 -0
  10. data/bench/benchapp/controllers/ruby/queue_mock_adapter_controller.rb +8 -0
  11. data/bench/benchapp/{sources → models/ruby}/mock_adapter.rb +1 -1
  12. data/bench/benchapp/{sources → models/ruby}/queue_mock_adapter.rb +0 -0
  13. data/bench/benchapp/spec/{sources → models/ruby}/mock_adapter_spec.rb +1 -1
  14. data/bench/benchapp/spec/{sources → models/ruby}/queue_mock_adapter_spec.rb +1 -1
  15. data/bench/benchapp/spec/spec_helper.rb +2 -2
  16. data/bench/blobapp/Gemfile +1 -1
  17. data/bench/blobapp/config.ru +0 -3
  18. data/bench/blobapp/controllers/ruby/application_controller.rb +17 -0
  19. data/bench/blobapp/controllers/ruby/blob_adapter_controller.rb +8 -0
  20. data/bench/blobapp/{sources → models/ruby}/blob_adapter.rb +9 -2
  21. data/bench/blobapp/spec/{sources → models/ruby}/blob_adapter_spec.rb +1 -1
  22. data/bench/blobapp/spec/spec_helper.rb +1 -1
  23. data/bench/lib/bench/cli.rb +1 -1
  24. data/bench/scripts/blob_cud_script.rb +1 -1
  25. data/bench/scripts/query_md_script.rb +1 -1
  26. data/bench/scripts/query_only_script.rb +1 -1
  27. data/bench/scripts/query_script.rb +1 -1
  28. data/bench/scripts/test_query_script.rb +7 -1
  29. data/bench/spec/mock_adapter_spec.rb +1 -1
  30. data/bench/spec/result_spec.rb +3 -3
  31. data/bin/rhoconnect +5 -3
  32. data/commands/dtach/dtach_install.rb +2 -2
  33. data/commands/execute.rb +8 -3
  34. data/commands/generators/app.rb +3 -3
  35. data/commands/generators/controller.rb +6 -0
  36. data/commands/generators/model.rb +6 -0
  37. data/commands/generators/source.rb +3 -3
  38. data/commands/generators/update.rb +1 -1
  39. data/commands/redis/redis_about.rb +2 -2
  40. data/commands/redis/redis_download.rb +1 -1
  41. data/commands/redis/redis_install.rb +4 -3
  42. data/commands/redis/redis_restart.rb +4 -4
  43. data/commands/redis/redis_start.rb +5 -4
  44. data/commands/redis/redis_startbg.rb +5 -4
  45. data/commands/redis/redis_status.rb +13 -0
  46. data/commands/redis/redis_stop.rb +3 -3
  47. data/commands/rhoconnect/config.rb +28 -16
  48. data/commands/rhoconnect/flushdb.rb +1 -2
  49. data/commands/rhoconnect/get_token.rb +15 -11
  50. data/commands/rhoconnect/restart.rb +13 -5
  51. data/commands/rhoconnect/set_admin_password.rb +8 -8
  52. data/commands/rhoconnect/start.rb +74 -16
  53. data/commands/rhoconnect/startbg.rb +1 -1
  54. data/commands/rhoconnect/startdebug.rb +1 -1
  55. data/commands/rhoconnect/stop.rb +13 -1
  56. data/commands/rhoconnect/web.rb +5 -5
  57. data/commands/rhoconnect_console/console.rb +7 -5
  58. data/commands/{rhoconnect → rhoconnect_spec}/spec.rb +0 -0
  59. data/commands/rhoconnect_war/war.rb +9 -9
  60. data/commands/utilities/blank_app.ru +56 -0
  61. data/commands/utilities/redis_runner.rb +54 -19
  62. data/doc/authentication.txt +80 -6
  63. data/doc/blob-sync.txt +104 -97
  64. data/doc/bulk-sync.txt +1 -1
  65. data/doc/client-java.txt +3 -3
  66. data/doc/client-objc.txt +2 -2
  67. data/doc/client.txt +4 -4
  68. data/doc/command-line.txt +105 -200
  69. data/doc/data-partitioning.txt +40 -0
  70. data/doc/deploying.txt +249 -77
  71. data/doc/extending-rhoconnect-server.txt +40 -57
  72. data/doc/heroku-addon.txt +2 -0
  73. data/doc/install.txt +45 -95
  74. data/doc/introduction.txt +1 -1
  75. data/doc/java-plugin.txt +365 -190
  76. data/doc/metadata.txt +1 -1
  77. data/doc/migration.txt +108 -142
  78. data/doc/preparing-production.txt +1 -1
  79. data/doc/push-backend-setup.txt +2 -0
  80. data/doc/push-client-setup-android.txt +78 -0
  81. data/doc/push-client-setup-bb.txt +81 -0
  82. data/doc/push-client-setup-ios.txt +70 -0
  83. data/doc/push-client-setup-rps.txt +200 -0
  84. data/doc/push-client-setup.txt +63 -66
  85. data/doc/push-server-setup.txt +67 -40
  86. data/doc/push-testing.txt +29 -0
  87. data/doc/push.txt +21 -6
  88. data/doc/rest-api.txt +128 -55
  89. data/doc/rhoconnect-redis-stack.txt +120 -0
  90. data/doc/settings.txt +4 -12
  91. data/doc/source-adapters-intro.txt +28 -0
  92. data/doc/source-adapters.txt +235 -272
  93. data/doc/stats-middleware.txt +9 -29
  94. data/doc/supported-platforms.txt +21 -30
  95. data/doc/testing.txt +40 -42
  96. data/doc/tutorial.txt +72 -57
  97. data/examples/simple/Gemfile +1 -1
  98. data/examples/simple/application.rb +4 -5
  99. data/examples/simple/my_server.rb +2 -2
  100. data/examples/simple/settings/settings.yml +1 -1
  101. data/generators/rhoconnect.rb +151 -50
  102. data/generators/templates/application/Gemfile +1 -1
  103. data/generators/templates/application/Rakefile +3 -3
  104. data/generators/templates/application/config.ru +1 -4
  105. data/generators/templates/application/controllers/application_controller.rb +17 -0
  106. data/generators/templates/application/controllers/js/application_controller.js +14 -0
  107. data/generators/templates/application/controllers/ruby/application_controller.rb +17 -0
  108. data/generators/templates/application/package.json +8 -0
  109. data/generators/templates/application/rcgemfile +2 -5
  110. data/generators/templates/application/settings/settings.yml +3 -3
  111. data/generators/templates/application/spec/application_controller_spec.rb +23 -0
  112. data/generators/templates/application/spec/js_spec.rb +25 -0
  113. data/generators/templates/application/spec/spec_helper.rb +21 -7
  114. data/generators/templates/source/controllers/js/controller.js +7 -0
  115. data/generators/templates/source/controllers/ruby/controller.rb +8 -0
  116. data/generators/templates/source/controllers/ruby/controller_spec.rb +27 -0
  117. data/generators/templates/source/models/js/model.js +46 -0
  118. data/generators/templates/source/{source_adapter.rb → models/ruby/model.rb} +15 -10
  119. data/generators/templates/source/{source_spec.rb → models/ruby/model_spec.rb} +1 -1
  120. data/install.sh +5 -5
  121. data/installer/unix-like/create_texts.rb +2 -2
  122. data/installer/unix-like/rho_connect_install_constants.rb +2 -2
  123. data/installer/unix-like/rho_connect_install_utilities.rb +1 -1
  124. data/installer/utils/constants.rb +4 -4
  125. data/js-adapters/ballroom.js +216 -0
  126. data/js-adapters/node.rb +52 -0
  127. data/js-adapters/node_channel.rb +181 -0
  128. data/js-adapters/request.js +27 -0
  129. data/js-adapters/response.js +57 -0
  130. data/js-adapters/rhoconnect_helpers.js +60 -0
  131. data/js-adapters/router.js +60 -0
  132. data/js-adapters/server.js +5 -0
  133. data/lib/rhoconnect/api/app/ans_login.rb +3 -3
  134. data/lib/rhoconnect/api/app/bulk_data.rb +10 -10
  135. data/lib/rhoconnect/api/app/fast_delete.rb +11 -10
  136. data/lib/rhoconnect/api/app/fast_insert.rb +11 -10
  137. data/lib/rhoconnect/api/app/fast_update.rb +11 -10
  138. data/lib/rhoconnect/api/app/login.rb +5 -5
  139. data/lib/rhoconnect/api/app/push_deletes.rb +12 -11
  140. data/lib/rhoconnect/api/app/push_objects.rb +12 -11
  141. data/lib/rhoconnect/api/app/query.rb +8 -7
  142. data/lib/rhoconnect/api/app/queue_updates.rb +98 -94
  143. data/lib/rhoconnect/api/app/search.rb +8 -7
  144. data/lib/rhoconnect/api/client/client_get_db_doc.rb +5 -5
  145. data/lib/rhoconnect/api/client/client_set_db_doc.rb +8 -8
  146. data/lib/rhoconnect/api/client/create.rb +7 -7
  147. data/lib/rhoconnect/api/client/get_client_params.rb +4 -4
  148. data/lib/rhoconnect/api/client/list_client_docs.rb +17 -17
  149. data/lib/rhoconnect/api/client/register.rb +12 -12
  150. data/lib/rhoconnect/api/client/reset.rb +5 -5
  151. data/lib/rhoconnect/api/readstate/set_refresh_time.rb +9 -9
  152. data/lib/rhoconnect/api/source/get_source_params.rb +4 -4
  153. data/lib/rhoconnect/api/source/list_sources.rb +16 -16
  154. data/lib/rhoconnect/api/source/update_source_params.rb +6 -6
  155. data/lib/rhoconnect/api/store/get_db_doc.rb +4 -4
  156. data/lib/rhoconnect/api/store/set_db_doc.rb +7 -7
  157. data/lib/rhoconnect/api/system/get_adapter.rb +4 -4
  158. data/lib/rhoconnect/api/system/get_license_info.rb +8 -8
  159. data/lib/rhoconnect/api/system/login.rb +15 -15
  160. data/lib/rhoconnect/api/system/reset.rb +11 -11
  161. data/lib/rhoconnect/api/system/save_adapter.rb +4 -4
  162. data/lib/rhoconnect/api/system/stats.rb +22 -22
  163. data/lib/rhoconnect/api/user/create_user.rb +7 -7
  164. data/lib/rhoconnect/api/user/delete_client.rb +6 -6
  165. data/lib/rhoconnect/api/user/delete_user.rb +11 -10
  166. data/lib/rhoconnect/api/user/list_clients.rb +4 -4
  167. data/lib/rhoconnect/api/user/list_source_docs.rb +10 -10
  168. data/lib/rhoconnect/api/user/list_users.rb +3 -3
  169. data/lib/rhoconnect/api/user/ping.rb +3 -3
  170. data/lib/rhoconnect/api/user/show_user.rb +3 -3
  171. data/lib/rhoconnect/api/user/update_user.rb +5 -5
  172. data/lib/rhoconnect/api/user/user_get_db_doc.rb +5 -5
  173. data/lib/rhoconnect/api/user/user_set_db_doc.rb +10 -10
  174. data/lib/rhoconnect/api_token.rb +5 -6
  175. data/lib/rhoconnect/app.rb +6 -46
  176. data/lib/rhoconnect/application/init.rb +5 -2
  177. data/lib/rhoconnect/async.rb +76 -39
  178. data/lib/rhoconnect/bulk_data/bulk_data.rb +6 -4
  179. data/lib/rhoconnect/client.rb +59 -9
  180. data/lib/rhoconnect/condition/admin_required.rb +27 -0
  181. data/lib/rhoconnect/condition/client_required.rb +50 -0
  182. data/lib/rhoconnect/condition/login_required.rb +22 -0
  183. data/lib/rhoconnect/condition/source_required.rb +49 -0
  184. data/lib/rhoconnect/condition/verbs.rb +17 -0
  185. data/lib/rhoconnect/condition/verify_success.rb +19 -0
  186. data/lib/rhoconnect/controller/app_base.rb +74 -0
  187. data/lib/rhoconnect/controller/base.rb +68 -0
  188. data/lib/rhoconnect/controller/clients_controller.rb +79 -0
  189. data/lib/rhoconnect/controller/dynamic_adapter_controller.rb +93 -0
  190. data/lib/rhoconnect/controller/js_base.rb +124 -0
  191. data/lib/rhoconnect/controller/read_state_controller.rb +22 -0
  192. data/lib/rhoconnect/controller/source_adapter_base.rb +14 -0
  193. data/lib/rhoconnect/controller/sources_controller.rb +44 -0
  194. data/lib/rhoconnect/controller/store_controller.rb +25 -0
  195. data/lib/rhoconnect/controller/system_controller.rb +67 -0
  196. data/lib/rhoconnect/controller/users_controller.rb +99 -0
  197. data/lib/rhoconnect/db_adapter.rb +1 -3
  198. data/lib/rhoconnect/document.rb +159 -50
  199. data/lib/rhoconnect/handler/authenticate/execute_methods.rb +77 -0
  200. data/lib/rhoconnect/handler/authenticate/runner.rb +49 -0
  201. data/lib/rhoconnect/handler/authenticate.rb +3 -0
  202. data/lib/rhoconnect/handler/bulk_data.rb +28 -0
  203. data/lib/rhoconnect/handler/changes/engine.rb +271 -0
  204. data/lib/rhoconnect/handler/changes/execute_methods.rb +88 -0
  205. data/lib/rhoconnect/handler/changes/pass_through_runner.rb +11 -0
  206. data/lib/rhoconnect/handler/changes/runner.rb +53 -0
  207. data/lib/rhoconnect/handler/changes.rb +31 -0
  208. data/lib/rhoconnect/handler/helpers/auth_method.rb +29 -0
  209. data/lib/rhoconnect/handler/helpers/binding.rb +18 -0
  210. data/lib/rhoconnect/handler/helpers/bulk_data.rb +53 -0
  211. data/lib/rhoconnect/handler/helpers/source_job.rb +14 -0
  212. data/lib/rhoconnect/handler/helpers.rb +4 -0
  213. data/lib/rhoconnect/handler/plugin_callbacks/execute_methods.rb +99 -0
  214. data/lib/rhoconnect/handler/plugin_callbacks/runner.rb +28 -0
  215. data/lib/rhoconnect/handler/plugin_callbacks.rb +67 -0
  216. data/lib/rhoconnect/handler/query/engine.rb +93 -0
  217. data/lib/rhoconnect/handler/query/execute_methods.rb +21 -0
  218. data/lib/rhoconnect/handler/query/pass_through_runner.rb +35 -0
  219. data/lib/rhoconnect/handler/query/runner.rb +270 -0
  220. data/lib/rhoconnect/handler/query.rb +19 -0
  221. data/lib/rhoconnect/handler/search/engine.rb +60 -0
  222. data/lib/rhoconnect/handler/search/execute_methods.rb +32 -0
  223. data/lib/rhoconnect/handler/search/pass_through_runner.rb +18 -0
  224. data/lib/rhoconnect/handler/search/runner.rb +104 -0
  225. data/lib/rhoconnect/handler/search.rb +26 -0
  226. data/lib/rhoconnect/handler/sync.rb +29 -0
  227. data/lib/rhoconnect/jobs/source_job.rb +13 -4
  228. data/lib/rhoconnect/js_adapter.rb +79 -0
  229. data/lib/rhoconnect/license.rb +10 -2
  230. data/lib/rhoconnect/middleware/current_user.rb +14 -1
  231. data/lib/rhoconnect/middleware/helpers.rb +10 -93
  232. data/lib/rhoconnect/middleware/x_domain_session_wrapper.rb +1 -1
  233. data/lib/rhoconnect/model/base.rb +229 -0
  234. data/lib/rhoconnect/model/dynamic_adapter_model.rb +90 -0
  235. data/lib/rhoconnect/model/js_base.rb +121 -0
  236. data/lib/rhoconnect/ping/android.rb +1 -1
  237. data/lib/rhoconnect/predefined_adapters/bench_adapter.rb +7 -4
  238. data/lib/rhoconnect/read_state.rb +3 -3
  239. data/lib/rhoconnect/server.rb +159 -190
  240. data/lib/rhoconnect/source.rb +100 -11
  241. data/lib/rhoconnect/stats/record.rb +10 -10
  242. data/lib/rhoconnect/store.rb +905 -591
  243. data/lib/rhoconnect/{model.rb → store_orm.rb} +53 -115
  244. data/lib/rhoconnect/tasks.rb +18 -4
  245. data/lib/rhoconnect/test_methods.rb +30 -17
  246. data/lib/rhoconnect/user.rb +35 -17
  247. data/lib/rhoconnect/utilities.rb +1 -1
  248. data/lib/rhoconnect/version.rb +2 -2
  249. data/lib/rhoconnect/web-console/server.rb +29 -14
  250. data/lib/rhoconnect/web-console/views/home.js +10 -10
  251. data/lib/rhoconnect/web-console/views/new_ping.js +1 -1
  252. data/lib/rhoconnect.rb +120 -51
  253. data/rhoconnect.gemspec +4 -3
  254. data/spec/api/api_helper.rb +1 -6
  255. data/spec/api/app/fast_delete_spec.rb +4 -4
  256. data/spec/api/app/fast_insert_spec.rb +4 -4
  257. data/spec/api/app/fast_update_spec.rb +8 -8
  258. data/spec/api/app/push_deletes_spec.rb +2 -2
  259. data/spec/api/app/push_objects_spec.rb +5 -5
  260. data/spec/api/client/client_get_db_doc_spec.rb +6 -4
  261. data/spec/api/client/client_set_db_doc_spec.rb +3 -2
  262. data/spec/api/client/get_client_params_spec.rb +14 -0
  263. data/spec/api/client/list_client_docs_spec.rb +30 -20
  264. data/spec/api/client/reset_spec.rb +36 -0
  265. data/spec/api/source/get_source_params_spec.rb +23 -17
  266. data/spec/api/system/get_license_info_spec.rb +0 -20
  267. data/spec/api/system/login_spec.rb +8 -0
  268. data/spec/api/system/reset_spec.rb +0 -1
  269. data/spec/api/system/stats_spec.rb +5 -5
  270. data/spec/api/user/create_user_spec.rb +14 -6
  271. data/spec/api/user/delete_user_spec.rb +20 -18
  272. data/spec/api/user/list_users_spec.rb +5 -6
  273. data/spec/api/user/update_user_spec.rb +5 -4
  274. data/spec/apps/rhotestapp/config.ru +16 -1
  275. data/spec/apps/rhotestapp/controllers/js/js_sample_controller.js +23 -0
  276. data/spec/apps/rhotestapp/controllers/js/sample2_controller.js +32 -0
  277. data/spec/apps/rhotestapp/controllers/ruby/application_controller.rb +21 -0
  278. data/spec/apps/rhotestapp/controllers/ruby/sample_adapter_controller.rb +8 -0
  279. data/spec/apps/rhotestapp/models/js/js_sample.js +55 -0
  280. data/spec/apps/rhotestapp/models/js/sample2.js +25 -0
  281. data/spec/apps/rhotestapp/{sources → models/ruby}/base_adapter.rb +0 -0
  282. data/spec/apps/rhotestapp/{sources → models/ruby}/fixed_schema_adapter.rb +0 -0
  283. data/spec/apps/rhotestapp/{sources → models/ruby}/other_adapter.rb +0 -0
  284. data/spec/apps/rhotestapp/{sources → models/ruby}/sample_adapter.rb +0 -0
  285. data/spec/apps/rhotestapp/{sources → models/ruby}/simple_adapter.rb +2 -2
  286. data/spec/apps/rhotestapp/{sources → models/ruby}/sub_adapter.rb +0 -0
  287. data/spec/apps/rhotestapp/settings/settings.yml +0 -1
  288. data/spec/bulk_data/bulk_data_spec.rb +20 -5
  289. data/spec/cli/cli_spec.rb +83 -0
  290. data/spec/client_spec.rb +20 -17
  291. data/spec/client_sync_spec.rb +244 -406
  292. data/spec/controllers/js_base_spec.rb +89 -0
  293. data/spec/doc/doc_spec.rb +18 -18
  294. data/spec/document_spec.rb +29 -13
  295. data/spec/dynamic_adapter_spec.rb +6 -6
  296. data/spec/generator/generator_spec.rb +7 -4
  297. data/spec/jobs/bulk_data_job_spec.rb +14 -10
  298. data/spec/jobs/source_job_spec.rb +8 -8
  299. data/spec/license_spec.rb +5 -2
  300. data/spec/models/js_model_spec.rb +39 -0
  301. data/spec/node_spec.rb +42 -0
  302. data/spec/perf/store_perf_spec.rb +67 -12
  303. data/spec/ping/android_spec.rb +1 -1
  304. data/spec/read_state_spec.rb +1 -1
  305. data/spec/rhoconnect_spec.rb +1 -1
  306. data/spec/server/cors_spec.rb +14 -18
  307. data/spec/server/server_spec.rb +265 -88
  308. data/spec/server/stats_spec.rb +1 -1
  309. data/spec/source_adapter_spec.rb +54 -27
  310. data/spec/source_spec.rb +8 -3
  311. data/spec/source_sync_spec.rb +538 -468
  312. data/spec/spec_helper.rb +35 -4
  313. data/spec/stats/record_spec.rb +10 -10
  314. data/spec/{model_spec.rb → store_orm_spec.rb} +56 -54
  315. data/spec/store_spec.rb +159 -179
  316. data/spec/support/shared_examples.rb +36 -27
  317. data/spec/sync_states_spec.rb +40 -33
  318. data/spec/test_methods_spec.rb +18 -14
  319. data/spec/user_spec.rb +17 -30
  320. metadata +156 -52
  321. data/bench/benchapp/application.rb +0 -39
  322. data/bench/blobapp/application.rb +0 -44
  323. data/commands/rhoconnect/clean_start.rb +0 -9
  324. data/commands/rhoconnect/create_user.rb +0 -18
  325. data/commands/rhoconnect/delete_device.rb +0 -9
  326. data/commands/rhoconnect/delete_user.rb +0 -8
  327. data/commands/rhoconnect/reset.rb +0 -16
  328. data/commands/rhoconnect/reset_refresh.rb +0 -11
  329. data/generators/templates/application/application.rb +0 -43
  330. data/lib/rhoconnect/client_sync.rb +0 -434
  331. data/lib/rhoconnect/dynamic_adapter.rb +0 -91
  332. data/lib/rhoconnect/middleware/admin_user.rb +0 -23
  333. data/lib/rhoconnect/middleware/current_request.rb +0 -16
  334. data/lib/rhoconnect/middleware/login_required.rb +0 -22
  335. data/lib/rhoconnect/source_adapter.rb +0 -132
  336. data/lib/rhoconnect/source_sync.rb +0 -464
  337. data/spec/apps/rhotestapp/application.rb +0 -23
data/CHANGELOG.md CHANGED
@@ -1,7 +1,61 @@
1
- ## 3.4.5 (2013-05-14)
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
- * D-04477 - Rack::Session::Cookie security warning printing on every http request
4
- * B-106356 - Update nginx package to 1.4.1 (CVE-2013-2028)
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.8.6'
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 "rcov", '~> 1.0.0', :require => false, :platforms => :ruby_18
42
- gem 'simplecov', '>= 0.7.1', :require => false, :platforms => [:ruby_19,:jruby]
43
- gem 'rack-test', '>= 0.5.3', :require => '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.9'
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 (3.4.5)
4
+ rhoconnect (4.0.0.beta.10)
5
5
  bundler (~> 1.0)
6
- connection_pool (= 0.9.2)
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.9.2.2)
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 (3.3.0)
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.6.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.9.2)
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.21.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.8.1)
53
- fog (1.11.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.35)
65
+ fpm (0.4.33)
65
66
  arr-pm (~> 0.0.8)
66
- backports (>= 2.6.2)
67
+ backports (= 2.6.2)
67
68
  cabin (>= 0.6.0)
68
- clamp (= 0.6.0)
69
- ftw (~> 0.0.30)
69
+ clamp (= 0.3.1)
70
70
  json (~> 1.7.7)
71
71
  open4
72
- ftw (0.0.33)
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.23)
87
+ mime-types (1.22)
94
88
  mono_logger (1.0.1)
95
- multi_json (1.7.3)
96
- net-scp (1.1.1)
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.9.2.2)
109
- rcov (1.0.0)
110
- redis (3.0.4)
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.3)
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.4.1)
160
- uuidtools (2.1.4)
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.8.11)
162
+ webmock (1.9.3)
164
163
  addressable (>= 2.2.7)
165
- crack (>= 0.1.7)
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.9)
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 (>= 0.5.3)
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.8.6)
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} " +
@@ -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', ".rcgemfile")
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
@@ -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
@@ -0,0 +1,8 @@
1
+ class MockAdapterController < Rhoconnect::Controller::Base
2
+ register Rhoconnect::EndPoint
3
+
4
+ # register SYNC routes
5
+ register Rhoconnect::Handler::Sync
6
+
7
+ # add your custom routes here
8
+ end
@@ -0,0 +1,8 @@
1
+ class QueueMockAdapterController < Rhoconnect::Controller::Base
2
+ register Rhoconnect::EndPoint
3
+
4
+ # register SYNC routes
5
+ register Rhoconnect::Handler::Sync
6
+
7
+ # add your custom routes here
8
+ end
@@ -1,4 +1,4 @@
1
- class MockAdapter < SourceAdapter
1
+ class MockAdapter < Rhoconnect::Model::Base
2
2
  def initialize(source)
3
3
  super(source)
4
4
  end
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__),'..','spec_helper')
1
+ require File.join(File.dirname(__FILE__),'..','..','spec_helper')
2
2
 
3
3
  describe "MockAdapter" do
4
4
  it_should_behave_like "SpecHelper" do
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__),'..','spec_helper')
1
+ require File.join(File.dirname(__FILE__),'..','..','spec_helper')
2
2
 
3
3
  describe "QueueMockAdapter" do
4
4
  it_should_behave_like "SpecHelper" do
@@ -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.db.flushdb
26
+ Store.flush_all
27
27
  Application.initializer(ROOT_PATH)
28
28
  end
29
29
  end
@@ -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', ".rcgemfile")
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
@@ -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
@@ -0,0 +1,8 @@
1
+ class BlobAdapterController < Rhoconnect::Controller::Base
2
+ register Rhoconnect::EndPoint
3
+
4
+ # register SYNC routes
5
+ register Rhoconnect::Handler::Sync
6
+
7
+ # add your custom routes here
8
+ end
@@ -1,4 +1,4 @@
1
- class BlobAdapter < SourceAdapter
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
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__),'..','spec_helper')
1
+ require File.join(File.dirname(__FILE__),'..','..','spec_helper')
2
2
 
3
3
  describe "BlobAdapter" do
4
4
  it_should_behave_like "SpecHelper" do
@@ -23,7 +23,7 @@ shared_examples_for "SpecHelper" do
23
23
  include Rhoconnect::TestMethods
24
24
 
25
25
  before(:each) do
26
- Store.db.flushdb
26
+ Store.flush_all
27
27
  Application.initializer(ROOT_PATH)
28
28
  end
29
29
  end
@@ -21,7 +21,7 @@ module Bench
21
21
  Statistics.new(Bench.concurrency,Bench.iterations,
22
22
  Bench.total_time,Bench.start_time,Bench.end_time,Bench.sessions).process.print_stats.save_results
23
23
  bench_log "Bench completed..."
24
- Bench.reset_app
24
+ #Bench.reset_app
25
25
  end
26
26
  end
27
27
 
@@ -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}/queue_updates",
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 => @datasize},{:total_count => @datasize},{}].to_json)
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 => @datasize},{:total_count => @datasize},{}].to_json)
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 => @datasize},{:total_count => @datasize},{}].to_json)
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 = 25
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
@@ -1,6 +1,6 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__))
2
2
  require 'bench_spec_helper'
3
- require 'benchapp/sources/mock_adapter'
3
+ require 'benchapp/models/ruby/mock_adapter'
4
4
 
5
5
  describe "MockAdapter" do
6
6
  # it_should_behave_like "BenchSpecHelper"
@@ -21,15 +21,15 @@ describe "ResultSpec" do
21
21
 
22
22
  describe "test @last_response wrapper" do
23
23
 
24
- it "shold return 'code'" do
24
+ it "should return 'code'" do
25
25
  @result.code.should == 200
26
26
  end
27
27
 
28
- it "shold return 'body'" do
28
+ it "should return 'body'" do
29
29
  JSON.parse(@result.body).should == @s1
30
30
  end
31
31
 
32
- it "shold return 'cookies'" do
32
+ it "should return 'cookies'" do
33
33
  @result.cookies.should == {'session1'=>'sessval1'}
34
34
  end
35
35