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.
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