rhoconnect 3.2.1 → 3.3.1.beta2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +24 -5
- data/Gemfile +2 -2
- data/Gemfile.lock +20 -20
- data/bench/benchapp/Gemfile +17 -20
- data/bench/benchapp/config.ru +2 -2
- data/bench/benchapp/settings/settings.yml +3 -3
- data/bench/blobapp/Gemfile +16 -13
- data/bench/blobapp/config.ru +2 -2
- data/bench/blobapp/settings/settings.yml +5 -3
- data/bench/lib/bench.rb +35 -32
- data/bench/lib/bench/session.rb +9 -1
- data/bench/scripts/blob_cud_script.rb +13 -17
- data/bench/scripts/cud_script.rb +11 -12
- data/bench/scripts/helpers.rb +5 -7
- data/bench/scripts/query_md_script.rb +18 -12
- data/bench/scripts/query_only_script.rb +19 -11
- data/bench/scripts/query_script.rb +17 -13
- data/bench/scripts/test_query_script.rb +46 -17
- data/bench/scripts/test_source_script.rb +7 -7
- data/commands/commands/dtach_commands/dtach_install.rb +44 -16
- data/commands/commands/rhoconnect/spec.rb +13 -9
- data/commands/commands/rhoconnect/version.rb +6 -0
- data/commands/execute.rb +10 -6
- data/doc/deploying.txt +75 -13
- data/doc/install.txt +3 -3
- data/doc/push-client-setup.txt +1 -1
- data/doc/rest-api.txt +4 -23
- data/doc/rhoconnect-redis-stack.txt +26 -7
- data/doc/settings.txt +9 -3
- data/examples/simple/Gemfile +3 -1
- data/examples/simple/application.rb +5 -0
- data/examples/simple/config.ru +3 -2
- data/examples/simple/my_server.rb +14 -0
- data/examples/simple/settings/settings.yml +1 -0
- data/generators/templates/application/Gemfile +4 -4
- data/generators/templates/application/application.rb +4 -0
- data/generators/templates/application/settings/settings.yml +4 -1
- data/installer/unix-like/create_texts.rb +39 -1
- data/installer/unix-like/rho_connect_install_constants.rb +1 -1
- data/installer/utils/package_upload/repos.rake +7 -5
- data/lib/rhoconnect.rb +3 -2
- data/lib/rhoconnect/api/app/ans_login.rb +3 -0
- data/lib/rhoconnect/api/app/bulk_data.rb +6 -0
- data/lib/rhoconnect/api/{source → app}/fast_delete.rb +1 -1
- data/lib/rhoconnect/api/{source → app}/fast_insert.rb +2 -2
- data/lib/rhoconnect/api/{source → app}/fast_update.rb +2 -2
- data/lib/rhoconnect/api/app/login.rb +5 -0
- data/lib/rhoconnect/api/{source → app}/push_deletes.rb +1 -1
- data/lib/rhoconnect/api/{source → app}/push_objects.rb +1 -1
- data/lib/rhoconnect/api/app/query.rb +4 -0
- data/lib/rhoconnect/api/app/queue_updates.rb +94 -0
- data/lib/rhoconnect/api/app/search.rb +4 -0
- data/lib/rhoconnect/api/client/client_get_db_doc.rb +5 -0
- data/lib/rhoconnect/api/client/client_set_db_doc.rb +8 -0
- data/lib/rhoconnect/api/client/create.rb +7 -0
- data/lib/rhoconnect/api/client/get_client_params.rb +2 -1
- data/lib/rhoconnect/api/client/list_client_docs.rb +2 -1
- data/lib/rhoconnect/api/client/register.rb +12 -0
- data/lib/rhoconnect/api/client/reset.rb +5 -0
- data/lib/rhoconnect/api/{source → readstate}/set_refresh_time.rb +2 -1
- data/lib/rhoconnect/api/source/get_source_params.rb +3 -2
- data/lib/rhoconnect/api/source/list_sources.rb +2 -1
- data/lib/rhoconnect/api/source/update_source_params.rb +3 -3
- data/lib/rhoconnect/api/store/get_db_doc.rb +4 -0
- data/lib/rhoconnect/api/store/set_db_doc.rb +7 -0
- data/lib/rhoconnect/api/system/get_adapter.rb +4 -0
- data/lib/rhoconnect/api/{admin → system}/get_license_info.rb +2 -1
- data/lib/rhoconnect/api/system/login.rb +15 -0
- data/lib/rhoconnect/api/{admin → system}/reset.rb +3 -2
- data/lib/rhoconnect/api/system/save_adapter.rb +4 -0
- data/lib/rhoconnect/api/{admin → system}/stats.rb +2 -1
- data/lib/rhoconnect/api/user/create_user.rb +2 -2
- data/lib/rhoconnect/api/user/delete_client.rb +6 -0
- data/lib/rhoconnect/api/user/delete_user.rb +2 -1
- data/lib/rhoconnect/api/user/list_clients.rb +4 -0
- data/lib/rhoconnect/api/user/list_source_docs.rb +11 -0
- data/lib/rhoconnect/api/user/list_users.rb +1 -1
- data/lib/rhoconnect/api/user/ping.rb +7 -0
- data/lib/rhoconnect/api/user/show_user.rb +3 -0
- data/lib/rhoconnect/api/user/update_user.rb +3 -2
- data/lib/rhoconnect/api/user/user_get_db_doc.rb +5 -0
- data/lib/rhoconnect/api/user/user_set_db_doc.rb +10 -0
- data/lib/rhoconnect/app.rb +12 -2
- data/lib/rhoconnect/async.rb +6 -10
- data/lib/rhoconnect/bulk_data/bulk_data.rb +4 -4
- data/lib/rhoconnect/client.rb +10 -9
- data/lib/rhoconnect/client_sync.rb +24 -19
- data/lib/rhoconnect/document.rb +18 -4
- data/lib/rhoconnect/graph_helper.rb +4 -2
- data/lib/rhoconnect/jobs/bulk_data_job.rb +1 -1
- data/lib/rhoconnect/jobs/ping_job.rb +39 -29
- data/lib/rhoconnect/middleware/admin_user.rb +23 -0
- data/lib/rhoconnect/middleware/body_content_type_parser.rb +35 -0
- data/lib/rhoconnect/{cors.rb → middleware/cors.rb} +1 -0
- data/lib/rhoconnect/middleware/current_app.rb +16 -0
- data/lib/rhoconnect/middleware/current_request.rb +16 -0
- data/lib/rhoconnect/middleware/current_user.rb +17 -0
- data/lib/rhoconnect/middleware/helpers.rb +105 -0
- data/lib/rhoconnect/middleware/login_required.rb +22 -0
- data/lib/rhoconnect/{stats/middleware.rb → middleware/stats.rb} +5 -3
- data/lib/rhoconnect/middleware/x_domain_session_wrapper.rb +58 -0
- data/lib/rhoconnect/ping.rb +1 -0
- data/lib/rhoconnect/ping/apple.rb +18 -16
- data/lib/rhoconnect/ping/blackberry.rb +9 -9
- data/lib/rhoconnect/ping/rhoconnect_push.rb +45 -0
- data/lib/rhoconnect/server.rb +98 -91
- data/lib/rhoconnect/source.rb +5 -1
- data/lib/rhoconnect/source_sync.rb +4 -3
- data/lib/rhoconnect/stats/record.rb +15 -15
- data/lib/rhoconnect/store.rb +253 -75
- data/lib/rhoconnect/tasks.rb +3 -3
- data/lib/rhoconnect/version.rb +1 -1
- data/lib/rhoconnect/web-console/controllers/admins.js +1 -14
- data/lib/rhoconnect/web-console/models/adapter.js +18 -8
- data/lib/rhoconnect/web-console/models/client.js +15 -9
- data/lib/rhoconnect/web-console/models/doc.js +7 -11
- data/lib/rhoconnect/web-console/models/session.js +5 -2
- data/lib/rhoconnect/web-console/models/source.js +55 -36
- data/lib/rhoconnect/web-console/models/user.js +20 -11
- data/lib/rhoconnect/web-console/public/backbone.js +8 -2
- data/lib/rhoconnect/web-console/templates/index.erb +11 -5
- data/lib/rhoconnect/web-console/views/doc.js +6 -8
- data/lib/rhoconnect/web-console/views/edit_user.js +6 -3
- data/lib/rhoconnect/web-console/views/home.js +98 -25
- data/lib/rhoconnect/web-console/views/index.js +1 -1
- data/lib/rhoconnect/web-console/views/new_ping.js +6 -3
- data/lib/rhoconnect/web-console/views/server_doc.js +12 -4
- data/lib/rhoconnect/web-console/views/show_device.js +6 -3
- data/rhoconnect.gemspec +1 -2
- data/spec/api/{source → app}/fast_delete_spec.rb +4 -4
- data/spec/api/{source → app}/fast_insert_spec.rb +4 -4
- data/spec/api/{source → app}/fast_update_spec.rb +22 -6
- data/spec/api/{source → app}/push_deletes_spec.rb +2 -2
- data/spec/api/app/push_objects_spec.rb +45 -0
- data/spec/api/client/client_get_db_doc_spec.rb +31 -0
- data/spec/api/client/client_set_db_doc_spec.rb +14 -0
- data/spec/api/client/get_client_params_spec.rb +3 -2
- data/spec/api/client/list_client_docs_spec.rb +2 -2
- data/spec/api/{source → readstate}/set_refresh_time_spec.rb +15 -9
- data/spec/api/source/get_source_params_spec.rb +3 -2
- data/spec/api/source/list_sources_spec.rb +3 -9
- data/spec/api/source/update_source_params_spec.rb +4 -4
- data/spec/api/store/get_db_doc_spec.rb +32 -0
- data/spec/api/store/set_db_doc_spec.rb +43 -0
- data/spec/api/system/adapter_spec.rb +33 -0
- data/spec/api/{admin → system}/get_license_info_spec.rb +2 -5
- data/spec/api/{admin/get_api_token_spec.rb → system/login_spec.rb} +4 -11
- data/spec/api/{admin → system}/reset_spec.rb +2 -2
- data/spec/api/{admin → system}/stats_spec.rb +19 -13
- data/spec/api/user/create_user_spec.rb +15 -8
- data/spec/api/{client → user}/delete_client_spec.rb +3 -4
- data/spec/api/user/delete_user_spec.rb +33 -4
- data/spec/api/user/list_clients_spec.rb +30 -0
- data/spec/api/user/list_source_docs_spec.rb +35 -0
- data/spec/api/user/list_users_spec.rb +5 -6
- data/spec/api/{client → user}/ping_spec.rb +4 -6
- data/spec/api/user/show_user_spec.rb +14 -0
- data/spec/api/user/update_user_spec.rb +28 -10
- data/spec/api/user/user_get_db_doc_spec.rb +16 -0
- data/spec/api/user/user_set_db_doc_spec.rb +41 -0
- data/spec/apps/rhotestapp/application.rb +4 -0
- data/spec/apps/rhotestapp/settings/settings.yml +3 -1
- data/spec/bulk_data/bulk_data_spec.rb +13 -0
- data/spec/client_sync_spec.rb +41 -59
- data/spec/document_spec.rb +23 -0
- data/spec/javascripts/doc_view_spec.js +1 -1
- data/spec/javascripts/home_view_spec.js +10 -5
- data/spec/javascripts/index_view_spec.js +1 -1
- data/spec/jobs/ping_job_spec.rb +26 -0
- data/spec/perf/store_perf_spec.rb +1 -1
- data/spec/ping/android_spec.rb +0 -7
- data/spec/ping/apple_spec.rb +7 -0
- data/spec/ping/blackberry_spec.rb +10 -0
- data/spec/ping/rhoconnect_push_spec.rb +58 -0
- data/spec/server/cors_spec.rb +1 -1
- data/spec/server/server_spec.rb +152 -104
- data/spec/{stats/middleware_spec.rb → server/stats_spec.rb} +4 -5
- data/spec/server/x_domain_session_wrapper_spec.rb +3 -3
- data/spec/source_spec.rb +2 -2
- data/spec/source_sync_spec.rb +2 -0
- data/spec/spec_helper.rb +17 -3
- data/spec/stats/record_spec.rb +18 -19
- data/spec/store_spec.rb +51 -26
- data/spec/support/shared_examples.rb +4 -0
- data/spec/sync_states_spec.rb +2 -2
- metadata +104 -88
- data/bench/benchapp/Gemfile.lock +0 -87
- data/bench/blobapp/Gemfile.lock +0 -107
- data/bench/lib/testdata/5-data.txt +0 -8
- data/doc/release.txt +0 -41
- data/lib/rhoconnect/api/admin/get_api_token.rb +0 -14
- data/lib/rhoconnect/api/admin/login.rb +0 -6
- data/lib/rhoconnect/api/application/bulk_data.rb +0 -7
- data/lib/rhoconnect/api/application/clientcreate.rb +0 -8
- data/lib/rhoconnect/api/application/clientlogin.rb +0 -6
- data/lib/rhoconnect/api/application/clientregister.rb +0 -13
- data/lib/rhoconnect/api/application/clientreset.rb +0 -6
- data/lib/rhoconnect/api/application/query.rb +0 -7
- data/lib/rhoconnect/api/application/queue_updates.rb +0 -20
- data/lib/rhoconnect/api/application/search.rb +0 -6
- data/lib/rhoconnect/api/client/create_client.rb +0 -3
- data/lib/rhoconnect/api/client/delete_client.rb +0 -5
- data/lib/rhoconnect/api/client/list_clients.rb +0 -3
- data/lib/rhoconnect/api/client/ping.rb +0 -7
- data/lib/rhoconnect/api/source/get_adapter.rb +0 -3
- data/lib/rhoconnect/api/source/get_db_doc.rb +0 -7
- data/lib/rhoconnect/api/source/list_source_docs.rb +0 -10
- data/lib/rhoconnect/api/source/save_adapter.rb +0 -3
- data/lib/rhoconnect/api/source/set_db_doc.rb +0 -10
- data/lib/rhoconnect/api/source/upload_file.rb +0 -4
- data/lib/rhoconnect/body_content_type_parser.rb +0 -32
- data/lib/rhoconnect/x_domain_session_wrapper.rb +0 -53
- data/spec/api/admin/api_token_spec.rb +0 -13
- data/spec/api/client/create_client_spec.rb +0 -13
- data/spec/api/client/list_clients_spec.rb +0 -22
- data/spec/api/source/adapter_spec.rb +0 -29
- data/spec/api/source/get_db_doc_spec.rb +0 -21
- data/spec/api/source/list_source_docs_spec.rb +0 -25
- data/spec/api/source/push_objects_spec.rb +0 -27
- data/spec/api/source/set_db_doc_spec.rb +0 -32
- data/spec/api/source/upload_file_spec.rb +0 -26
@@ -6,7 +6,6 @@ STATS_RECORD_RESOLUTION = 2 unless defined? STATS_RECORD_RESOLUTION
|
|
6
6
|
STATS_RECORD_SIZE = 8 unless defined? STATS_RECORD_SIZE
|
7
7
|
|
8
8
|
include Rhoconnect
|
9
|
-
include Rhoconnect::Stats
|
10
9
|
|
11
10
|
describe "Middleware" do
|
12
11
|
|
@@ -17,7 +16,7 @@ describe "Middleware" do
|
|
17
16
|
app.stub!(:call)
|
18
17
|
Rhoconnect.stats = true
|
19
18
|
Rhoconnect::Server.enable :stats
|
20
|
-
@middleware_new_routes = Middleware.new(app)
|
19
|
+
@middleware_new_routes = Rhoconnect::Middleware::Stats.new(app)
|
21
20
|
Store.stub!(:lock).and_yield
|
22
21
|
end
|
23
22
|
|
@@ -37,20 +36,20 @@ describe "Middleware" do
|
|
37
36
|
}
|
38
37
|
10.times { @middleware_new_routes.call(env) }
|
39
38
|
metric = 'http:GET:/api/application/query:SampleAdapter'
|
40
|
-
Record.key(metric).should == "stat:#{metric}"
|
39
|
+
Rhoconnect::Stats::Record.key(metric).should == "stat:#{metric}"
|
41
40
|
|
42
41
|
# The conversion algorithm (float to string) currently checks two precisions.
|
43
42
|
# In Ruby 1.9, it tries 16 digits and if that's not enough it then uses 17.
|
44
43
|
# In 1.8, it's the same but with 15 and 16.
|
45
44
|
if RUBY_VERSION =~ /1.9/
|
46
|
-
Record.range(metric, 0, -1).should == [
|
45
|
+
Rhoconnect::Stats::Record.range(metric, 0, -1).should == [
|
47
46
|
"2.0,0.6000000000000014:12",
|
48
47
|
"2.0,0.6000000000000014:14",
|
49
48
|
"2.0,0.6000000000000014:16",
|
50
49
|
"2.0,0.6000000000000014:18"
|
51
50
|
]
|
52
51
|
else
|
53
|
-
Record.range(metric, 0, -1).should == [
|
52
|
+
Rhoconnect::Stats::Record.range(metric, 0, -1).should == [
|
54
53
|
"2.0,0.600000000000002:12",
|
55
54
|
"2.0,0.600000000000002:14",
|
56
55
|
"2.0,0.600000000000002:16",
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'rhoconnect/x_domain_session_wrapper'
|
1
|
+
require 'rhoconnect/middleware/x_domain_session_wrapper'
|
2
2
|
require File.join(File.dirname(__FILE__),'..','spec_helper')
|
3
3
|
|
4
4
|
require "cgi"
|
@@ -30,13 +30,13 @@ describe "XDomainSessionWrapper middleware" do
|
|
30
30
|
before(:each) do
|
31
31
|
app ||= StubApp.new
|
32
32
|
|
33
|
-
@middleware_new_routes = XDomainSessionWrapper.new(app, {
|
33
|
+
@middleware_new_routes = Rhoconnect::Middleware::XDomainSessionWrapper.new(app, {
|
34
34
|
:session_cookie => COOKIE_NAME,
|
35
35
|
:api_uri_regexp => /\A\/api\/application/,
|
36
36
|
:login_uri_regexp => /\A\/api\/application\/clientlogin/
|
37
37
|
})
|
38
38
|
|
39
|
-
@middleware_old_routes = XDomainSessionWrapper.new(app, {
|
39
|
+
@middleware_old_routes = Rhoconnect::Middleware::XDomainSessionWrapper.new(app, {
|
40
40
|
:session_cookie => COOKIE_NAME,
|
41
41
|
:api_uri_regexp => /\A\/application/,
|
42
42
|
:login_uri_regexp => /\A\/application\/clientlogin/
|
data/spec/source_spec.rb
CHANGED
@@ -12,7 +12,7 @@ describe "Source" do
|
|
12
12
|
@s.url.should == @s_fields[:url]
|
13
13
|
@s.login.should == @s_fields[:login]
|
14
14
|
@s.app.name.should == @a_fields[:name]
|
15
|
-
@s.priority.should ==
|
15
|
+
@s.priority.should == 1
|
16
16
|
@s.callback_url.should be_nil
|
17
17
|
@s.queue.should be_nil
|
18
18
|
@s.query_queue.should be_nil
|
@@ -28,7 +28,7 @@ describe "Source" do
|
|
28
28
|
@s1.url.should == @s_fields[:url]
|
29
29
|
@s1.login.should == @s_fields[:login]
|
30
30
|
@s1.app.name.should == @a_fields[:name]
|
31
|
-
@s1.priority.should ==
|
31
|
+
@s1.priority.should == 1
|
32
32
|
@s1.callback_url.should be_nil
|
33
33
|
@s1.poll_interval.should == 300
|
34
34
|
@s1.app_id.should == @s_params[:app_id]
|
data/spec/source_sync_spec.rb
CHANGED
@@ -294,6 +294,7 @@ describe "SourceSync" do
|
|
294
294
|
|
295
295
|
it "should detect delete conflict and skip the duplicate record delete" do
|
296
296
|
set_state(@c.docname(:cd) => {'4'=> {'name' => 'Apple'}})
|
297
|
+
set_state(@c.docname(:cd_size) => 1)
|
297
298
|
set_zstate({@s.docname(:delete) => {'4'=> { 'name' => 'Apple' }}},@c.id,true)
|
298
299
|
set_zstate({@s.docname(:delete) => {'4'=> { 'name' => 'Apple', 'duplicate_of_cid' => @c.id, 'duplicate_of_key' => '4', 'duplicate_of_queue_index' => '0'}}},@c.id,true)
|
299
300
|
@ss.process_cud
|
@@ -306,6 +307,7 @@ describe "SourceSync" do
|
|
306
307
|
|
307
308
|
it "should detect delete conflict and force an error on duplicate record delete" do
|
308
309
|
set_state(@c.docname(:cd) => {'4'=> {'name' => 'Apple'}})
|
310
|
+
set_state(@c.docname(:cd_size) => 1)
|
309
311
|
set_zstate({@s.docname(:delete) => {'4'=> { 'name' => 'Apple' }}},@c.id,true)
|
310
312
|
set_zstate({@s.docname(:delete) => {'4'=> { 'name' => 'Apple', 'force_duplicate_error' => '1'}}},@c.id,true)
|
311
313
|
@ss.process_cud
|
data/spec/spec_helper.rb
CHANGED
@@ -60,8 +60,14 @@ module TestHelpers
|
|
60
60
|
File.expand_path(File.join(File.dirname(__FILE__),'apps','emptyapp'))
|
61
61
|
end
|
62
62
|
|
63
|
-
def do_post(url,params)
|
64
|
-
|
63
|
+
def do_post(url,params,headers = {})
|
64
|
+
headers.merge!('CONTENT_TYPE'=>'application/json')
|
65
|
+
post url, params.to_json, headers
|
66
|
+
end
|
67
|
+
|
68
|
+
def do_put(url,params,headers = {})
|
69
|
+
headers.merge!('CONTENT_TYPE'=>'application/json')
|
70
|
+
put url, params.to_json, headers
|
65
71
|
end
|
66
72
|
|
67
73
|
def bulk_data_docname(app_id,user_id)
|
@@ -113,6 +119,14 @@ module TestHelpers
|
|
113
119
|
def json_clone(data)
|
114
120
|
JSON.parse(data.to_json)
|
115
121
|
end
|
122
|
+
|
123
|
+
def setup_post_yield(response)
|
124
|
+
if RUBY_VERSION =~ /1.9/ or defined?(JRUBY_VERSION)
|
125
|
+
RestClient.stub!(:post).and_yield(response, nil, nil)
|
126
|
+
else
|
127
|
+
RestClient.stub!(:post).and_yield(response)
|
128
|
+
end
|
129
|
+
end
|
116
130
|
|
117
131
|
def set_state(state,append=false)
|
118
132
|
state.each do |dockey,data|
|
@@ -171,7 +185,7 @@ module TestHelpers
|
|
171
185
|
end
|
172
186
|
|
173
187
|
def validate_db(bulk_data,data)
|
174
|
-
validate_db_file(bulk_data.dbfile,bulk_data.sources
|
188
|
+
validate_db_file(bulk_data.dbfile,bulk_data.sources[0, -1],data)
|
175
189
|
end
|
176
190
|
|
177
191
|
def validate_db_file(dbfile,sources,data)
|
data/spec/stats/record_spec.rb
CHANGED
@@ -5,7 +5,6 @@ STATS_RECORD_RESOLUTION = 2 unless defined? STATS_RECORD_RESOLUTION
|
|
5
5
|
STATS_RECORD_SIZE = 8 unless defined? STATS_RECORD_SIZE
|
6
6
|
|
7
7
|
include Rhoconnect
|
8
|
-
include Rhoconnect::Stats
|
9
8
|
|
10
9
|
describe "Record" do
|
11
10
|
|
@@ -17,42 +16,42 @@ describe "Record" do
|
|
17
16
|
|
18
17
|
it "should add metric to the record and trim record size" do
|
19
18
|
Time.stub!(:now).and_return { @now += 1; @now }
|
20
|
-
10.times { Record.add('foo') }
|
19
|
+
10.times { Rhoconnect::Stats::Record.add('foo') }
|
21
20
|
Store.db.zrange('stat:foo', 0, -1).should == ["2:12", "2:14", "2:16", "2:18"]
|
22
21
|
end
|
23
22
|
|
24
23
|
it "should add single record" do
|
25
24
|
Time.stub!(:now).and_return { @now += 1; @now }
|
26
|
-
Record.add('foo')
|
25
|
+
Rhoconnect::Stats::Record.add('foo')
|
27
26
|
Store.db.zrange('stat:foo', 0, -1).should == ["1:10"]
|
28
27
|
end
|
29
28
|
|
30
29
|
it "should return type of metric" do
|
31
|
-
Record.add('foo')
|
32
|
-
Record.rtype('foo').should == 'zset'
|
30
|
+
Rhoconnect::Stats::Record.add('foo')
|
31
|
+
Rhoconnect::Stats::Record.rtype('foo').should == 'zset'
|
33
32
|
end
|
34
33
|
|
35
34
|
it "should set string metric" do
|
36
|
-
Record.set_value('foo', 'bar')
|
35
|
+
Rhoconnect::Stats::Record.set_value('foo', 'bar')
|
37
36
|
Store.db.get('stat:foo').should == 'bar'
|
38
37
|
end
|
39
38
|
|
40
39
|
it "should get string metric" do
|
41
40
|
Store.db.set('stat:foo', 'bar')
|
42
|
-
Record.get_value('foo').should == 'bar'
|
41
|
+
Rhoconnect::Stats::Record.get_value('foo').should == 'bar'
|
43
42
|
end
|
44
43
|
|
45
44
|
it "should get keys" do
|
46
|
-
Record.add('foo')
|
47
|
-
Record.add('bar')
|
48
|
-
Record.keys.sort.should == ['bar','foo']
|
45
|
+
Rhoconnect::Stats::Record.add('foo')
|
46
|
+
Rhoconnect::Stats::Record.add('bar')
|
47
|
+
Rhoconnect::Stats::Record.keys.sort.should == ['bar','foo']
|
49
48
|
end
|
50
49
|
|
51
50
|
it "should add absolute metric value" do
|
52
51
|
Time.stub!(:now).and_return { @now += 1; @now }
|
53
52
|
time = 0
|
54
53
|
4.times do
|
55
|
-
Record.save_average('foo',time)
|
54
|
+
Rhoconnect::Stats::Record.save_average('foo',time)
|
56
55
|
time += 1
|
57
56
|
end
|
58
57
|
Store.db.zrange('stat:foo', 0, -1).should == ["2.0,1.0:10", "2.0,5.0:12"]
|
@@ -62,7 +61,7 @@ describe "Record" do
|
|
62
61
|
Rhoconnect.stats = true
|
63
62
|
Time.stub!(:now).and_return { @now += 1; @now }
|
64
63
|
4.times do
|
65
|
-
Record.update('foo') do
|
64
|
+
Rhoconnect::Stats::Record.update('foo') do
|
66
65
|
# something interesting
|
67
66
|
end
|
68
67
|
end
|
@@ -72,22 +71,22 @@ describe "Record" do
|
|
72
71
|
|
73
72
|
it "should get range of metric values" do
|
74
73
|
Time.stub!(:now).and_return { @now += 1; @now }
|
75
|
-
10.times { Record.add('foo') }
|
76
|
-
Record.range('foo', 0, 1).should == ["2:12", "2:14"]
|
74
|
+
10.times { Rhoconnect::Stats::Record.add('foo') }
|
75
|
+
Rhoconnect::Stats::Record.range('foo', 0, 1).should == ["2:12", "2:14"]
|
77
76
|
end
|
78
77
|
|
79
78
|
it "should reset metric" do
|
80
79
|
Time.stub!(:now).and_return { @now += 1; @now }
|
81
|
-
10.times { Record.add('foo') }
|
80
|
+
10.times { Rhoconnect::Stats::Record.add('foo') }
|
82
81
|
Store.db.zrange('stat:foo', 0, -1).should == ["2:12", "2:14", "2:16", "2:18"]
|
83
|
-
Record.reset('foo')
|
82
|
+
Rhoconnect::Stats::Record.reset('foo')
|
84
83
|
Store.db.zrange('stat:foo', 0, -1).should == []
|
85
84
|
end
|
86
85
|
|
87
86
|
it "should reset all metrics" do
|
88
|
-
Record.add('foo')
|
89
|
-
Record.add('bar')
|
90
|
-
Record.reset_all
|
87
|
+
Rhoconnect::Stats::Record.add('foo')
|
88
|
+
Rhoconnect::Stats::Record.add('bar')
|
89
|
+
Rhoconnect::Stats::Record.reset_all
|
91
90
|
Store.db.keys('stat:*').should == []
|
92
91
|
end
|
93
92
|
end
|
data/spec/store_spec.rb
CHANGED
@@ -59,11 +59,11 @@ describe "Store" do
|
|
59
59
|
it "should update_objects with simple data and one changed attribute" do
|
60
60
|
data = { '1' => { 'hello' => 'world', "attr1" => 'value1' } }
|
61
61
|
update_data = { '1' => {'attr1' => 'value2'}}
|
62
|
-
Store.put_data(
|
63
|
-
Store.get_data(
|
64
|
-
Store.update_objects(
|
62
|
+
Store.put_data(:md, data)
|
63
|
+
Store.get_data(:md).should == data
|
64
|
+
Store.update_objects(:md, update_data)
|
65
65
|
data['1'].merge!(update_data['1'])
|
66
|
-
Store.get_data(
|
66
|
+
Store.get_data(:md).should == data
|
67
67
|
end
|
68
68
|
|
69
69
|
it "should update_objects with simple data and verify that srem and sadd is called only on affected fields" do
|
@@ -91,10 +91,16 @@ describe "Store" do
|
|
91
91
|
Store.delete_objects('mydata', ['1'])
|
92
92
|
end
|
93
93
|
|
94
|
-
it "should add simple array data to new
|
94
|
+
it "should add simple array data to new list" do
|
95
|
+
@data = ['1','2','3']
|
96
|
+
Store.put_list(@s.docname(:md),@data).should == true
|
97
|
+
Store.get_list(@s.docname(:md)).should == @data
|
98
|
+
end
|
99
|
+
|
100
|
+
it "should add simple array data to new list using *_data methods" do
|
95
101
|
@data = ['1','2','3']
|
96
102
|
Store.put_data(@s.docname(:md),@data).should == true
|
97
|
-
Store.get_data(@s.docname(:md),Array).
|
103
|
+
Store.get_data(@s.docname(:md),Array).should == @data
|
98
104
|
end
|
99
105
|
|
100
106
|
it "should replace simple data to existing set" do
|
@@ -118,13 +124,6 @@ describe "Store" do
|
|
118
124
|
Store.decr('foo').should == 9
|
119
125
|
end
|
120
126
|
|
121
|
-
it "should return true/false if element ismember of a set" do
|
122
|
-
Store.put_data('foo',['a'])
|
123
|
-
Store.ismember?('foo','a').should == true
|
124
|
-
|
125
|
-
Store.ismember?('foo','b').should == false
|
126
|
-
end
|
127
|
-
|
128
127
|
it "should return attributes modified in doc2" do
|
129
128
|
Store.put_data(@s.docname(:md),@data).should == true
|
130
129
|
Store.get_data(@s.docname(:md)).should == @data
|
@@ -135,7 +134,7 @@ describe "Store" do
|
|
135
134
|
|
136
135
|
Store.put_data(@c.docname(:cd),@data1)
|
137
136
|
Store.get_data(@c.docname(:cd)).should == @data1
|
138
|
-
Store.get_diff_data(@s.docname(:md),@c.docname(:cd)).should ==
|
137
|
+
Store.get_diff_data(@s.docname(:md),@c.docname(:cd)).should == expected
|
139
138
|
end
|
140
139
|
|
141
140
|
it "should return attributes modified and missed in doc2" do
|
@@ -148,7 +147,7 @@ describe "Store" do
|
|
148
147
|
|
149
148
|
Store.put_data(@c.docname(:cd),@data1)
|
150
149
|
Store.get_data(@c.docname(:cd)).should == @data1
|
151
|
-
Store.get_diff_data(@c.docname(:cd),@s.docname(:md)).should ==
|
150
|
+
Store.get_diff_data(@c.docname(:cd),@s.docname(:md)).should == expected
|
152
151
|
end
|
153
152
|
|
154
153
|
it "should ignore reserved attributes" do
|
@@ -183,25 +182,22 @@ describe "Store" do
|
|
183
182
|
key = 'test_flash_data'
|
184
183
|
Store.put_data(key,@data)
|
185
184
|
Store.db.should_not_receive(:keys)
|
186
|
-
Store.db.should_receive(:del).once.with(key).and_return(true)
|
185
|
+
Store.db.should_receive(:del).once.with("#{key}:#{get_sha1('1')[0..1]}").and_return(true)
|
186
|
+
Store.db.should_receive(:del).once.with("#{key}:#{get_sha1('2')[0..1]}").and_return(true)
|
187
|
+
Store.db.should_receive(:del).once.with("#{key}:#{get_sha1('3')[0..1]}").and_return(true)
|
188
|
+
Store.db.should_receive(:del).once.with("#{key}:indices").and_return(true)
|
187
189
|
Store.flash_data(key)
|
188
190
|
end
|
189
191
|
|
190
192
|
it "should flash_data and call KEYS when there are pattern matching characters in the provided keymask" do
|
191
193
|
keys = ['test_flash_data1','test_flash_data2']
|
192
194
|
keys.each {|key| Store.put_data(key,@data)}
|
193
|
-
Store.db.
|
194
|
-
Store.db.should_receive(:
|
195
|
+
docs = Store.db.keys("test_flash_data*")
|
196
|
+
Store.db.should_receive(:keys).exactly(1).times.with("test_flash_data*").and_return(docs)
|
197
|
+
Store.db.should_receive(:del).exactly(8).times.and_return(true)
|
195
198
|
Store.flash_data("test_flash_data*")
|
196
199
|
end
|
197
200
|
|
198
|
-
it "should get_keys" do
|
199
|
-
expected = ["doc1:1:1:1:source1", "doc1:1:1:1:source2"]
|
200
|
-
Store.put_data(expected[0],@data)
|
201
|
-
Store.put_data(expected[1],@data)
|
202
|
-
Store.get_keys('doc1:1:1:1:*').sort.should == expected
|
203
|
-
end
|
204
|
-
|
205
201
|
it "should put_zdata and get_zdata" do
|
206
202
|
create_doc = {'1' => {'foo' => 'bar'}}
|
207
203
|
assoc_key = 'my_assoc_key'
|
@@ -350,7 +346,36 @@ describe "Store" do
|
|
350
346
|
Store.put_data('somedoc',{'foo'=>'bar'})
|
351
347
|
}.to raise_exception(ArgumentError, "Invalid value object: #{foobar['foo'].inspect}. Hash is expected.")
|
352
348
|
end
|
353
|
-
|
349
|
+
|
350
|
+
it "should put_object into the bucketed md" do
|
351
|
+
key1 = '1'
|
352
|
+
data1 = {'foo' => 'bar'}
|
353
|
+
key2 = '2'
|
354
|
+
data2 = {'one' => 'two', 'three' => 'four'}
|
355
|
+
docindex1 = get_sha1(key1)[0..1]
|
356
|
+
docindex2 = get_sha1(key2)[0..1]
|
357
|
+
Store.put_object(:md, key1, data1)
|
358
|
+
Store.put_object(:md, key2, data2)
|
359
|
+
Store.db.exists(:md).should be_false
|
360
|
+
Store.db.exists("#{:md}:#{docindex1}").should be_true
|
361
|
+
Store.db.exists("#{:md}:#{docindex2}").should be_true
|
362
|
+
Store.db.exists("#{:md}:indices").should be_true
|
363
|
+
Store.db.hkeys("#{:md}:indices").should == ["#{docindex1}", "#{docindex2}"]
|
364
|
+
Store.db.hvals("#{:md}:indices").should == ["#{:md}:#{docindex1}", "#{:md}:#{docindex2}"]
|
365
|
+
end
|
366
|
+
|
367
|
+
it "should get_object from the bucketed md" do
|
368
|
+
key1 = '1'
|
369
|
+
data1 = {'foo' => 'bar'}
|
370
|
+
key2 = '2'
|
371
|
+
data2 = {'one' => 'two', 'three' => 'four'}
|
372
|
+
docindex1 = get_sha1(key1)[0..1]
|
373
|
+
docindex2 = get_sha1(key2)[0..1]
|
374
|
+
Store.put_object(:md, key1, data1)
|
375
|
+
Store.put_object(:md, key2, data2)
|
376
|
+
obj2 = Store.get_object(:md, key2)
|
377
|
+
obj2.should == data2
|
378
|
+
end
|
354
379
|
end
|
355
380
|
end
|
356
381
|
end
|
@@ -37,12 +37,14 @@ shared_examples_for "SharedRhoconnectHelper" do |params|
|
|
37
37
|
:url => 'http://example.com',
|
38
38
|
:login => 'testuser',
|
39
39
|
:password => 'testpass',
|
40
|
+
:priority => '1'
|
40
41
|
}
|
41
42
|
@s1_fields = {
|
42
43
|
:name => 'FixedSchemaAdapter',
|
43
44
|
:url => 'http://example.com',
|
44
45
|
:login => 'testuser',
|
45
46
|
:password => 'testpass',
|
47
|
+
:priority => '5'
|
46
48
|
}
|
47
49
|
@s_params = {
|
48
50
|
:user_id => @u.id,
|
@@ -130,12 +132,14 @@ shared_examples_for "ApiHelper" do
|
|
130
132
|
:url => 'http://example.com',
|
131
133
|
:login => 'testuser',
|
132
134
|
:password => 'testpass',
|
135
|
+
:priority => '1'
|
133
136
|
}
|
134
137
|
@s1_fields = {
|
135
138
|
:name => 'FixedSchemaAdapter',
|
136
139
|
:url => 'http://example.com',
|
137
140
|
:login => 'testuser',
|
138
141
|
:password => 'testpass',
|
142
|
+
:priority => '5'
|
139
143
|
}
|
140
144
|
@s_params = {
|
141
145
|
:user_id => @u.id,
|
data/spec/sync_states_spec.rb
CHANGED
@@ -40,8 +40,8 @@ describe "Sync Server States" do
|
|
40
40
|
@c.docname(:create_links) => {'1'=>{'l'=>'backend_id'}},
|
41
41
|
@s.docname(:md) => backend_data)
|
42
42
|
res = @cs.send_cud
|
43
|
-
res.should == [{
|
44
|
-
{"count"=>0}, {"progress_count"=>
|
43
|
+
res.should == [{'version'=>ClientSync::SYNC_VERSION},{"token"=>res[1]['token']},
|
44
|
+
{"count"=>0}, {"progress_count"=>0}, {"total_count"=>1},
|
45
45
|
{"links"=> {'1'=>{'l'=>'backend_id'}}}]
|
46
46
|
|
47
47
|
end
|
metadata
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhoconnect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 62196479
|
5
|
+
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 3
|
8
|
-
-
|
8
|
+
- 3
|
9
9
|
- 1
|
10
|
-
|
10
|
+
- beta
|
11
|
+
- 2
|
12
|
+
version: 3.3.1.beta2
|
11
13
|
platform: ruby
|
12
14
|
authors:
|
13
15
|
- Rhomobile
|
@@ -15,7 +17,7 @@ autorequire:
|
|
15
17
|
bindir: bin
|
16
18
|
cert_chain: []
|
17
19
|
|
18
|
-
date: 2012-
|
20
|
+
date: 2012-07-10 00:00:00 Z
|
19
21
|
dependencies:
|
20
22
|
- !ruby/object:Gem::Dependency
|
21
23
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
@@ -181,12 +183,12 @@ dependencies:
|
|
181
183
|
requirements:
|
182
184
|
- - ~>
|
183
185
|
- !ruby/object:Gem::Version
|
184
|
-
hash:
|
186
|
+
hash: 35
|
185
187
|
segments:
|
186
188
|
- 0
|
187
|
-
-
|
188
|
-
-
|
189
|
-
version: 0.
|
189
|
+
- 15
|
190
|
+
- 0
|
191
|
+
version: 0.15.0
|
190
192
|
requirement: *id011
|
191
193
|
prerelease: false
|
192
194
|
name: thor
|
@@ -239,7 +241,6 @@ files:
|
|
239
241
|
- bench/lib/testdata/images/icon.ico
|
240
242
|
- bench/lib/testdata/images/loading.png
|
241
243
|
- bench/lib/testdata/100-data.txt
|
242
|
-
- bench/lib/testdata/5-data.txt
|
243
244
|
- bench/benchapp/application.rb
|
244
245
|
- bench/benchapp/sources/queue_mock_adapter.rb
|
245
246
|
- bench/benchapp/sources/mock_adapter.rb
|
@@ -250,7 +251,6 @@ files:
|
|
250
251
|
- bench/benchapp/spec/sources/mock_adapter_spec.rb
|
251
252
|
- bench/benchapp/spec/spec_helper.rb
|
252
253
|
- bench/benchapp/config.ru
|
253
|
-
- bench/benchapp/Gemfile.lock
|
254
254
|
- bench/benchapp/Rakefile
|
255
255
|
- bench/run_query_only_script.sh
|
256
256
|
- bench/spec/bench_spec_helper.rb
|
@@ -280,7 +280,6 @@ files:
|
|
280
280
|
- bench/blobapp/spec/sources/blob_adapter_spec.rb
|
281
281
|
- bench/blobapp/spec/spec_helper.rb
|
282
282
|
- bench/blobapp/config.ru
|
283
|
-
- bench/blobapp/Gemfile.lock
|
284
283
|
- bench/blobapp/Rakefile
|
285
284
|
- bench/run_blob_script.sh
|
286
285
|
- bench/distr_bench/run_test_query_script.sh
|
@@ -307,6 +306,7 @@ files:
|
|
307
306
|
- commands/commands/rhoconnect/start.rb
|
308
307
|
- commands/commands/rhoconnect/attach.rb
|
309
308
|
- commands/commands/rhoconnect/console_helper.rb
|
309
|
+
- commands/commands/rhoconnect/version.rb
|
310
310
|
- commands/commands/rhoconnect/spec.rb
|
311
311
|
- commands/commands/rhoconnect/flushdb.rb
|
312
312
|
- commands/commands/rhoconnect/set_admin_password.rb
|
@@ -337,7 +337,6 @@ files:
|
|
337
337
|
- doc/migration.txt
|
338
338
|
- doc/client-objc.txt
|
339
339
|
- doc/push-server-setup.txt
|
340
|
-
- doc/release.txt
|
341
340
|
- doc/settings.txt
|
342
341
|
- doc/tutorial.txt
|
343
342
|
- doc/benchmarks.txt
|
@@ -377,6 +376,7 @@ files:
|
|
377
376
|
- examples/simple/settings/license.key
|
378
377
|
- examples/simple/settings/settings.yml
|
379
378
|
- examples/simple/Gemfile
|
379
|
+
- examples/simple/my_server.rb
|
380
380
|
- examples/simple/config.ru
|
381
381
|
- examples/simple/Rakefile
|
382
382
|
- generators/rhoconnect.rb
|
@@ -424,13 +424,11 @@ files:
|
|
424
424
|
- lib/rhoconnect/source_sync.rb
|
425
425
|
- lib/rhoconnect/server.rb
|
426
426
|
- lib/rhoconnect/stats/record.rb
|
427
|
-
- lib/rhoconnect/stats/middleware.rb
|
428
427
|
- lib/rhoconnect/document.rb
|
429
428
|
- lib/rhoconnect/async.rb
|
430
429
|
- lib/rhoconnect/db_adapter.rb
|
431
430
|
- lib/rhoconnect/client.rb
|
432
431
|
- lib/rhoconnect/lock_ops.rb
|
433
|
-
- lib/rhoconnect/body_content_type_parser.rb
|
434
432
|
- lib/rhoconnect/console/server.rb
|
435
433
|
- lib/rhoconnect/utilities.rb
|
436
434
|
- lib/rhoconnect/web-console/server.rb
|
@@ -477,44 +475,47 @@ files:
|
|
477
475
|
- lib/rhoconnect/web-console/controllers/admins.js
|
478
476
|
- lib/rhoconnect/web-console/templates/jqplot.erb
|
479
477
|
- lib/rhoconnect/web-console/templates/index.erb
|
478
|
+
- lib/rhoconnect/api/client/client_get_db_doc.rb
|
480
479
|
- lib/rhoconnect/api/client/get_client_params.rb
|
481
|
-
- lib/rhoconnect/api/client/
|
482
|
-
- lib/rhoconnect/api/client/
|
480
|
+
- lib/rhoconnect/api/client/register.rb
|
481
|
+
- lib/rhoconnect/api/client/client_set_db_doc.rb
|
482
|
+
- lib/rhoconnect/api/client/reset.rb
|
483
483
|
- lib/rhoconnect/api/client/list_client_docs.rb
|
484
|
-
- lib/rhoconnect/api/client/
|
485
|
-
- lib/rhoconnect/api/
|
486
|
-
- lib/rhoconnect/api/
|
487
|
-
- lib/rhoconnect/api/
|
488
|
-
- lib/rhoconnect/api/
|
489
|
-
- lib/rhoconnect/api/
|
490
|
-
- lib/rhoconnect/api/
|
491
|
-
- lib/rhoconnect/api/
|
492
|
-
- lib/rhoconnect/api/application/bulk_data.rb
|
493
|
-
- lib/rhoconnect/api/application/clientreset.rb
|
484
|
+
- lib/rhoconnect/api/client/create.rb
|
485
|
+
- lib/rhoconnect/api/system/save_adapter.rb
|
486
|
+
- lib/rhoconnect/api/system/get_adapter.rb
|
487
|
+
- lib/rhoconnect/api/system/login.rb
|
488
|
+
- lib/rhoconnect/api/system/stats.rb
|
489
|
+
- lib/rhoconnect/api/system/get_license_info.rb
|
490
|
+
- lib/rhoconnect/api/system/reset.rb
|
491
|
+
- lib/rhoconnect/api/user/user_get_db_doc.rb
|
494
492
|
- lib/rhoconnect/api/user/create_user.rb
|
495
493
|
- lib/rhoconnect/api/user/list_users.rb
|
496
494
|
- lib/rhoconnect/api/user/delete_user.rb
|
495
|
+
- lib/rhoconnect/api/user/list_clients.rb
|
496
|
+
- lib/rhoconnect/api/user/list_source_docs.rb
|
497
|
+
- lib/rhoconnect/api/user/show_user.rb
|
498
|
+
- lib/rhoconnect/api/user/user_set_db_doc.rb
|
499
|
+
- lib/rhoconnect/api/user/delete_client.rb
|
497
500
|
- lib/rhoconnect/api/user/update_user.rb
|
498
|
-
- lib/rhoconnect/api/
|
499
|
-
- lib/rhoconnect/api/
|
500
|
-
- lib/rhoconnect/api/source/fast_insert.rb
|
501
|
-
- lib/rhoconnect/api/source/set_refresh_time.rb
|
501
|
+
- lib/rhoconnect/api/user/ping.rb
|
502
|
+
- lib/rhoconnect/api/readstate/set_refresh_time.rb
|
502
503
|
- lib/rhoconnect/api/source/update_source_params.rb
|
503
|
-
- lib/rhoconnect/api/source/save_adapter.rb
|
504
|
-
- lib/rhoconnect/api/source/get_adapter.rb
|
505
|
-
- lib/rhoconnect/api/source/push_objects.rb
|
506
|
-
- lib/rhoconnect/api/source/fast_update.rb
|
507
|
-
- lib/rhoconnect/api/source/get_db_doc.rb
|
508
|
-
- lib/rhoconnect/api/source/push_deletes.rb
|
509
|
-
- lib/rhoconnect/api/source/set_db_doc.rb
|
510
|
-
- lib/rhoconnect/api/source/list_source_docs.rb
|
511
504
|
- lib/rhoconnect/api/source/list_sources.rb
|
512
505
|
- lib/rhoconnect/api/source/get_source_params.rb
|
513
|
-
- lib/rhoconnect/api/
|
514
|
-
- lib/rhoconnect/api/
|
515
|
-
- lib/rhoconnect/api/
|
516
|
-
- lib/rhoconnect/api/
|
517
|
-
- lib/rhoconnect/api/
|
506
|
+
- lib/rhoconnect/api/store/get_db_doc.rb
|
507
|
+
- lib/rhoconnect/api/store/set_db_doc.rb
|
508
|
+
- lib/rhoconnect/api/app/fast_delete.rb
|
509
|
+
- lib/rhoconnect/api/app/fast_insert.rb
|
510
|
+
- lib/rhoconnect/api/app/push_objects.rb
|
511
|
+
- lib/rhoconnect/api/app/fast_update.rb
|
512
|
+
- lib/rhoconnect/api/app/queue_updates.rb
|
513
|
+
- lib/rhoconnect/api/app/push_deletes.rb
|
514
|
+
- lib/rhoconnect/api/app/query.rb
|
515
|
+
- lib/rhoconnect/api/app/login.rb
|
516
|
+
- lib/rhoconnect/api/app/search.rb
|
517
|
+
- lib/rhoconnect/api/app/bulk_data.rb
|
518
|
+
- lib/rhoconnect/api/app/ans_login.rb
|
518
519
|
- lib/rhoconnect/graph_helper.rb
|
519
520
|
- lib/rhoconnect/bulk_data/syncdb.index.schema
|
520
521
|
- lib/rhoconnect/bulk_data/bulk_data.rb
|
@@ -528,12 +529,11 @@ files:
|
|
528
529
|
- lib/rhoconnect/ping/apple.rb
|
529
530
|
- lib/rhoconnect/ping/blackberry.rb
|
530
531
|
- lib/rhoconnect/ping/android.rb
|
532
|
+
- lib/rhoconnect/ping/rhoconnect_push.rb
|
531
533
|
- lib/rhoconnect/source_adapter.rb
|
532
|
-
- lib/rhoconnect/cors.rb
|
533
534
|
- lib/rhoconnect/generator.rb
|
534
535
|
- lib/rhoconnect/version.rb
|
535
536
|
- lib/rhoconnect/rho_indifferent_access.rb
|
536
|
-
- lib/rhoconnect/x_domain_session_wrapper.rb
|
537
537
|
- lib/rhoconnect/credential.rb
|
538
538
|
- lib/rhoconnect/test_methods.rb
|
539
539
|
- lib/rhoconnect/bulk_data.rb
|
@@ -545,6 +545,16 @@ files:
|
|
545
545
|
- lib/rhoconnect/app.rb
|
546
546
|
- lib/rhoconnect/model.rb
|
547
547
|
- lib/rhoconnect/source.rb
|
548
|
+
- lib/rhoconnect/middleware/current_request.rb
|
549
|
+
- lib/rhoconnect/middleware/current_user.rb
|
550
|
+
- lib/rhoconnect/middleware/current_app.rb
|
551
|
+
- lib/rhoconnect/middleware/body_content_type_parser.rb
|
552
|
+
- lib/rhoconnect/middleware/login_required.rb
|
553
|
+
- lib/rhoconnect/middleware/admin_user.rb
|
554
|
+
- lib/rhoconnect/middleware/helpers.rb
|
555
|
+
- lib/rhoconnect/middleware/cors.rb
|
556
|
+
- lib/rhoconnect/middleware/stats.rb
|
557
|
+
- lib/rhoconnect/middleware/x_domain_session_wrapper.rb
|
548
558
|
- lib/rhoconnect/console.rb
|
549
559
|
- lib/rhoconnect/read_state.rb
|
550
560
|
- lib/rhoconnect.rb
|
@@ -555,44 +565,46 @@ files:
|
|
555
565
|
- spec/license_spec.rb
|
556
566
|
- spec/user_spec.rb
|
557
567
|
- spec/stats/record_spec.rb
|
558
|
-
- spec/stats/middleware_spec.rb
|
559
568
|
- spec/spec_helper.rb
|
560
569
|
- spec/read_state_spec.rb
|
561
570
|
- spec/spec.opts
|
562
571
|
- spec/dynamic_adapter_spec.rb
|
563
572
|
- spec/server/cors_spec.rb
|
564
573
|
- spec/server/x_domain_session_wrapper_spec.rb
|
574
|
+
- spec/server/stats_spec.rb
|
565
575
|
- spec/server/server_spec.rb
|
566
576
|
- spec/api/client/get_client_params_spec.rb
|
567
|
-
- spec/api/client/
|
568
|
-
- spec/api/client/delete_client_spec.rb
|
577
|
+
- spec/api/client/client_get_db_doc_spec.rb
|
569
578
|
- spec/api/client/list_client_docs_spec.rb
|
570
|
-
- spec/api/client/
|
571
|
-
- spec/api/
|
579
|
+
- spec/api/client/client_set_db_doc_spec.rb
|
580
|
+
- spec/api/system/login_spec.rb
|
581
|
+
- spec/api/system/get_license_info_spec.rb
|
582
|
+
- spec/api/system/reset_spec.rb
|
583
|
+
- spec/api/system/stats_spec.rb
|
584
|
+
- spec/api/system/adapter_spec.rb
|
585
|
+
- spec/api/user/ping_spec.rb
|
572
586
|
- spec/api/user/delete_user_spec.rb
|
587
|
+
- spec/api/user/user_set_db_doc_spec.rb
|
573
588
|
- spec/api/user/create_user_spec.rb
|
574
589
|
- spec/api/user/list_users_spec.rb
|
590
|
+
- spec/api/user/delete_client_spec.rb
|
591
|
+
- spec/api/user/user_get_db_doc_spec.rb
|
592
|
+
- spec/api/user/show_user_spec.rb
|
575
593
|
- spec/api/user/update_user_spec.rb
|
594
|
+
- spec/api/user/list_source_docs_spec.rb
|
595
|
+
- spec/api/user/list_clients_spec.rb
|
596
|
+
- spec/api/readstate/set_refresh_time_spec.rb
|
576
597
|
- spec/api/source/update_source_params_spec.rb
|
577
|
-
- spec/api/source/set_db_doc_spec.rb
|
578
|
-
- spec/api/source/set_refresh_time_spec.rb
|
579
|
-
- spec/api/source/upload_file_spec.rb
|
580
|
-
- spec/api/source/fast_delete_spec.rb
|
581
598
|
- spec/api/source/list_sources_spec.rb
|
582
|
-
- spec/api/source/push_objects_spec.rb
|
583
|
-
- spec/api/source/fast_update_spec.rb
|
584
|
-
- spec/api/source/adapter_spec.rb
|
585
|
-
- spec/api/source/list_source_docs_spec.rb
|
586
|
-
- spec/api/source/push_deletes_spec.rb
|
587
|
-
- spec/api/source/get_db_doc_spec.rb
|
588
|
-
- spec/api/source/fast_insert_spec.rb
|
589
599
|
- spec/api/source/get_source_params_spec.rb
|
590
|
-
- spec/api/admin/get_license_info_spec.rb
|
591
|
-
- spec/api/admin/reset_spec.rb
|
592
|
-
- spec/api/admin/api_token_spec.rb
|
593
|
-
- spec/api/admin/get_api_token_spec.rb
|
594
|
-
- spec/api/admin/stats_spec.rb
|
595
600
|
- spec/api/api_helper.rb
|
601
|
+
- spec/api/store/set_db_doc_spec.rb
|
602
|
+
- spec/api/store/get_db_doc_spec.rb
|
603
|
+
- spec/api/app/fast_delete_spec.rb
|
604
|
+
- spec/api/app/push_objects_spec.rb
|
605
|
+
- spec/api/app/fast_update_spec.rb
|
606
|
+
- spec/api/app/push_deletes_spec.rb
|
607
|
+
- spec/api/app/fast_insert_spec.rb
|
596
608
|
- spec/bulk_data/bulk_data_spec.rb
|
597
609
|
- spec/api_token_spec.rb
|
598
610
|
- spec/app_spec.rb
|
@@ -603,6 +615,7 @@ files:
|
|
603
615
|
- spec/jobs/bulk_data_job_spec.rb
|
604
616
|
- spec/store_spec.rb
|
605
617
|
- spec/ping/blackberry_spec.rb
|
618
|
+
- spec/ping/rhoconnect_push_spec.rb
|
606
619
|
- spec/ping/apple_spec.rb
|
607
620
|
- spec/ping/android_spec.rb
|
608
621
|
- spec/rhoconnect_spec.rb
|
@@ -708,44 +721,46 @@ test_files:
|
|
708
721
|
- spec/license_spec.rb
|
709
722
|
- spec/user_spec.rb
|
710
723
|
- spec/stats/record_spec.rb
|
711
|
-
- spec/stats/middleware_spec.rb
|
712
724
|
- spec/spec_helper.rb
|
713
725
|
- spec/read_state_spec.rb
|
714
726
|
- spec/spec.opts
|
715
727
|
- spec/dynamic_adapter_spec.rb
|
716
728
|
- spec/server/cors_spec.rb
|
717
729
|
- spec/server/x_domain_session_wrapper_spec.rb
|
730
|
+
- spec/server/stats_spec.rb
|
718
731
|
- spec/server/server_spec.rb
|
719
732
|
- spec/api/client/get_client_params_spec.rb
|
720
|
-
- spec/api/client/
|
721
|
-
- spec/api/client/delete_client_spec.rb
|
733
|
+
- spec/api/client/client_get_db_doc_spec.rb
|
722
734
|
- spec/api/client/list_client_docs_spec.rb
|
723
|
-
- spec/api/client/
|
724
|
-
- spec/api/
|
735
|
+
- spec/api/client/client_set_db_doc_spec.rb
|
736
|
+
- spec/api/system/login_spec.rb
|
737
|
+
- spec/api/system/get_license_info_spec.rb
|
738
|
+
- spec/api/system/reset_spec.rb
|
739
|
+
- spec/api/system/stats_spec.rb
|
740
|
+
- spec/api/system/adapter_spec.rb
|
741
|
+
- spec/api/user/ping_spec.rb
|
725
742
|
- spec/api/user/delete_user_spec.rb
|
743
|
+
- spec/api/user/user_set_db_doc_spec.rb
|
726
744
|
- spec/api/user/create_user_spec.rb
|
727
745
|
- spec/api/user/list_users_spec.rb
|
746
|
+
- spec/api/user/delete_client_spec.rb
|
747
|
+
- spec/api/user/user_get_db_doc_spec.rb
|
748
|
+
- spec/api/user/show_user_spec.rb
|
728
749
|
- spec/api/user/update_user_spec.rb
|
750
|
+
- spec/api/user/list_source_docs_spec.rb
|
751
|
+
- spec/api/user/list_clients_spec.rb
|
752
|
+
- spec/api/readstate/set_refresh_time_spec.rb
|
729
753
|
- spec/api/source/update_source_params_spec.rb
|
730
|
-
- spec/api/source/set_db_doc_spec.rb
|
731
|
-
- spec/api/source/set_refresh_time_spec.rb
|
732
|
-
- spec/api/source/upload_file_spec.rb
|
733
|
-
- spec/api/source/fast_delete_spec.rb
|
734
754
|
- spec/api/source/list_sources_spec.rb
|
735
|
-
- spec/api/source/push_objects_spec.rb
|
736
|
-
- spec/api/source/fast_update_spec.rb
|
737
|
-
- spec/api/source/adapter_spec.rb
|
738
|
-
- spec/api/source/list_source_docs_spec.rb
|
739
|
-
- spec/api/source/push_deletes_spec.rb
|
740
|
-
- spec/api/source/get_db_doc_spec.rb
|
741
|
-
- spec/api/source/fast_insert_spec.rb
|
742
755
|
- spec/api/source/get_source_params_spec.rb
|
743
|
-
- spec/api/admin/get_license_info_spec.rb
|
744
|
-
- spec/api/admin/reset_spec.rb
|
745
|
-
- spec/api/admin/api_token_spec.rb
|
746
|
-
- spec/api/admin/get_api_token_spec.rb
|
747
|
-
- spec/api/admin/stats_spec.rb
|
748
756
|
- spec/api/api_helper.rb
|
757
|
+
- spec/api/store/set_db_doc_spec.rb
|
758
|
+
- spec/api/store/get_db_doc_spec.rb
|
759
|
+
- spec/api/app/fast_delete_spec.rb
|
760
|
+
- spec/api/app/push_objects_spec.rb
|
761
|
+
- spec/api/app/fast_update_spec.rb
|
762
|
+
- spec/api/app/push_deletes_spec.rb
|
763
|
+
- spec/api/app/fast_insert_spec.rb
|
749
764
|
- spec/bulk_data/bulk_data_spec.rb
|
750
765
|
- spec/api_token_spec.rb
|
751
766
|
- spec/app_spec.rb
|
@@ -756,6 +771,7 @@ test_files:
|
|
756
771
|
- spec/jobs/bulk_data_job_spec.rb
|
757
772
|
- spec/store_spec.rb
|
758
773
|
- spec/ping/blackberry_spec.rb
|
774
|
+
- spec/ping/rhoconnect_push_spec.rb
|
759
775
|
- spec/ping/apple_spec.rb
|
760
776
|
- spec/ping/android_spec.rb
|
761
777
|
- spec/rhoconnect_spec.rb
|