rhoconnect 5.1.1 → 5.5.0

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 (156) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -8
  3. data/CREDITS +100 -100
  4. data/Gemfile +0 -2
  5. data/Gemfile.lock +56 -71
  6. data/LICENSE +5 -72
  7. data/README.md +0 -0
  8. data/Rakefile +0 -0
  9. data/bench/bench +0 -0
  10. data/bench/benchapp/settings/settings.yml +0 -3
  11. data/bench/blobapp/settings/settings.yml +0 -3
  12. data/bench/distr_bench/distr_bench +0 -0
  13. data/bench/distr_bench/distr_bench_main +0 -0
  14. data/bench/distr_bench/run_distr_client.sh +0 -0
  15. data/bench/distr_bench/run_test_query_script.sh +0 -0
  16. data/bench/lib/bench/bench_result_processor.rb +0 -0
  17. data/bench/lib/bench.rb +0 -8
  18. data/bench/lib/testdata/images/icon.ico +0 -0
  19. data/bench/lib/testdata/images/icon.png +0 -0
  20. data/bench/lib/testdata/images/loading-Landscape.png +0 -0
  21. data/bench/lib/testdata/images/loading-LandscapeLeft.png +0 -0
  22. data/bench/lib/testdata/images/loading-LandscapeRight.png +0 -0
  23. data/bench/lib/testdata/images/loading-Portrait.png +0 -0
  24. data/bench/lib/testdata/images/loading-PortraitUpsideDown.png +0 -0
  25. data/bench/lib/testdata/images/loading.png +0 -0
  26. data/bench/lib/testdata/images/loading@2x.png +0 -0
  27. data/bench/prepare_bench +0 -0
  28. data/bench/run_bench.sh +0 -0
  29. data/bench/run_blob_script.sh +0 -0
  30. data/bench/run_cud_script.sh +0 -0
  31. data/bench/run_query_md_script.sh +0 -0
  32. data/bench/run_query_only_script.sh +0 -0
  33. data/bench/run_query_script.sh +0 -0
  34. data/bench/run_test_query_script.sh +0 -0
  35. data/bench/run_test_source_script.sh +0 -0
  36. data/bin/rhoconnect-benchmark +0 -22
  37. data/commands/rhoconnect/restart.rb +0 -1
  38. data/commands/rhoconnect/start.rb +2 -14
  39. data/doc/adapters-crm.txt +1 -1
  40. data/doc/benchmarks-running.txt +1 -1
  41. data/doc/benchmarks.txt +0 -1
  42. data/doc/bulk-sync.txt +0 -1
  43. data/doc/command-line.txt +0 -6
  44. data/doc/java-plugin.txt +0 -6
  45. data/doc/preparing-production.txt +1 -7
  46. data/doc/public/cli.txt +0 -2
  47. data/doc/public/css/print.css +0 -0
  48. data/doc/public/css/screen.css +0 -0
  49. data/doc/public/css/style.css +0 -0
  50. data/doc/push-client-setup-android.txt +0 -1
  51. data/doc/push-client-setup-ios.txt +0 -1
  52. data/doc/push-client-setup-rps.txt +3 -3
  53. data/doc/push-server-setup.txt +1 -4
  54. data/doc/rails-plugin.txt +0 -5
  55. data/doc/rest-api.txt +2 -14
  56. data/doc/rhoconnect-redis-stack.txt +0 -1
  57. data/doc/settings.txt +0 -3
  58. data/doc/supported-platforms.txt +0 -1
  59. data/doc/tutorial.txt +0 -2
  60. data/examples/simple/config.ru +0 -0
  61. data/examples/simple/settings/settings.yml +1 -4
  62. data/generators/rhoconnect.rb +0 -1
  63. data/generators/templates/application/config.ru +0 -0
  64. data/generators/templates/application/rcgemfile +1 -0
  65. data/generators/templates/application/settings/settings.yml +0 -3
  66. data/install.sh +0 -0
  67. data/installer/utils/create_sha1.rb +0 -0
  68. data/installer/utils/delete_from_s3.rb +0 -0
  69. data/installer/utils/download_from_s3.rb +0 -0
  70. data/installer/utils/nix_install_test.rb +0 -0
  71. data/installer/utils/package_upload/repos.rake +2 -2
  72. data/installer/utils/package_upload/s3_single_file.rb +0 -0
  73. data/installer/utils/package_upload/s3_upload.rb +0 -0
  74. data/installer/utils/verify_checksum.rb +0 -0
  75. data/lib/rhoconnect/api_token.rb +0 -0
  76. data/lib/rhoconnect/app.rb +0 -0
  77. data/lib/rhoconnect/bulk_data/bulk_data.rb +0 -0
  78. data/lib/rhoconnect/bulk_data/syncdb.index.schema +0 -0
  79. data/lib/rhoconnect/bulk_data/syncdb.schema +0 -0
  80. data/lib/rhoconnect/bulk_data.rb +0 -0
  81. data/lib/rhoconnect/client.rb +0 -2
  82. data/lib/rhoconnect/controller/system_controller.rb +0 -9
  83. data/lib/rhoconnect/credential.rb +0 -0
  84. data/lib/rhoconnect/document.rb +0 -0
  85. data/lib/rhoconnect/middleware/cors.rb +209 -209
  86. data/lib/rhoconnect/middleware/x_domain_session_wrapper.rb +57 -57
  87. data/lib/rhoconnect/model/base.rb +0 -0
  88. data/lib/rhoconnect/read_state.rb +0 -0
  89. data/lib/rhoconnect/rho_indifferent_access.rb +0 -0
  90. data/lib/rhoconnect/server.rb +0 -0
  91. data/lib/rhoconnect/source.rb +0 -0
  92. data/lib/rhoconnect/store.rb +2 -0
  93. data/lib/rhoconnect/store_orm.rb +0 -0
  94. data/lib/rhoconnect/user.rb +0 -0
  95. data/lib/rhoconnect/version.rb +1 -1
  96. data/lib/rhoconnect/web-console/models/doc.js +0 -13
  97. data/lib/rhoconnect/web-console/models/source.js +0 -31
  98. data/lib/rhoconnect/web-console/public/logo.png +0 -0
  99. data/lib/rhoconnect/web-console/server.rb +0 -0
  100. data/lib/rhoconnect/web-console/templates/index.erb +1 -2
  101. data/lib/rhoconnect/web-console/views/home.js +4 -6
  102. data/lib/rhoconnect.rb +1 -3
  103. data/spec/api/api_helper.rb +0 -0
  104. data/spec/api/system/login_spec.rb +0 -0
  105. data/spec/api/system/reset_spec.rb +0 -0
  106. data/spec/api/user/create_user_spec.rb +0 -0
  107. data/spec/api/user/update_user_spec.rb +0 -0
  108. data/spec/api_token_spec.rb +0 -0
  109. data/spec/app_spec.rb +0 -0
  110. data/spec/apps/emptyapp/settings/settings.yml +1 -4
  111. data/spec/apps/jstestapp/settings/settings.yml +0 -3
  112. data/spec/apps/rhotestapp/controllers/ruby/application_controller.rb +0 -0
  113. data/spec/apps/rhotestapp/models/ruby/sample_adapter.rb +0 -0
  114. data/spec/apps/rhotestapp/models/ruby/simple_adapter.rb +0 -0
  115. data/spec/apps/rhotestapp/settings/settings.yml +0 -3
  116. data/spec/apps/rhotestapp/vendor/mygem-0.1.0/lib/mygem/mygem.rb +0 -0
  117. data/spec/apps/rhotestapp/vendor/mygem-0.1.0/lib/mygem.rb +0 -0
  118. data/spec/bulk_data/bulk_data_spec.rb +0 -0
  119. data/spec/client_spec.rb +0 -14
  120. data/spec/client_sync_spec.rb +0 -0
  121. data/spec/doc/base.html +0 -0
  122. data/spec/doc/doc_spec.rb +0 -0
  123. data/spec/doc/footer.html +0 -0
  124. data/spec/doc/header.html +0 -0
  125. data/spec/document_spec.rb +0 -0
  126. data/spec/generator/generator_spec.rb +1 -3
  127. data/spec/jobs/bulk_data_job_spec.rb +0 -0
  128. data/spec/perf/bulk_data_perf_spec.rb +0 -0
  129. data/spec/perf/perf_spec_helper.rb +0 -0
  130. data/spec/perf/store_perf_spec.rb +0 -0
  131. data/spec/read_state_spec.rb +0 -0
  132. data/spec/server/cors_spec.rb +283 -283
  133. data/spec/server/server_spec.rb +0 -15
  134. data/spec/server/x_domain_session_wrapper_spec.rb +150 -150
  135. data/spec/source_adapter_spec.rb +0 -0
  136. data/spec/source_spec.rb +0 -0
  137. data/spec/source_sync_spec.rb +0 -0
  138. data/spec/spec_helper.rb +0 -0
  139. data/spec/store_orm_spec.rb +0 -0
  140. data/spec/store_spec.rb +0 -0
  141. data/spec/sync_states_spec.rb +0 -0
  142. data/spec/testdata/1000-data.txt +0 -0
  143. data/spec/testdata/compressed/compress-data.txt +0 -0
  144. data/spec/user_spec.rb +0 -9
  145. metadata +116 -132
  146. data/bench/benchapp/settings/license.key +0 -1
  147. data/bench/blobapp/settings/license.key +0 -1
  148. data/doc/licensing.txt +0 -18
  149. data/examples/simple/settings/license.key +0 -1
  150. data/generators/templates/application/settings/license.key +0 -1
  151. data/lib/rhoconnect/license.rb +0 -94
  152. data/spec/api/system/get_license_info_spec.rb +0 -15
  153. data/spec/apps/emptyapp/settings/license.key +0 -1
  154. data/spec/apps/jstestapp/settings/license.key +0 -1
  155. data/spec/apps/rhotestapp/settings/license.key +0 -1
  156. data/spec/license_spec.rb +0 -67
@@ -1,150 +1,150 @@
1
- require 'rhoconnect/middleware/x_domain_session_wrapper'
2
- require File.join(File.dirname(__FILE__),'..','spec_helper')
3
-
4
- require "cgi"
5
-
6
- COOKIE_NAME = 'some_cookie'
7
- COOKIE_VALUE = 'some_session_key=some_session_value'
8
-
9
- COOKIE_NV = "#{COOKIE_NAME}=#{COOKIE_VALUE}"
10
- COOKIE_ANOTHER_NV = "#{COOKIE_NAME}=#{COOKIE_VALUE}_another"
11
-
12
- PROPER_QUERY_STRING = "?abc=123&#{COOKIE_NAME}=#{CGI.escape(COOKIE_VALUE)}&de=45"
13
- WRONG_QUERY_STRING = "?abc=123&#{COOKIE_NAME}_wrong=#{CGI.escape(COOKIE_VALUE)}&de=45"
14
-
15
- PROPER_URI_NEW = '/api/application'
16
- PROPER_URI_OLD = '/application'
17
- WRONG_URI = '/some/wrong/path/to/rhoconnect/application'
18
-
19
- LOGIN_URI_NEW = '/api/application/clientlogin'
20
- LOGIN_URI_OLD = '/application/clientlogin'
21
-
22
- describe "XDomainSessionWrapper middleware" do
23
-
24
- class StubApp
25
- def call(env)
26
- [200, {'Set-Cookie' => COOKIE_ANOTHER_NV, 'Content-Length' => '0'}, ['']]
27
- end
28
- end
29
-
30
- before(:each) do
31
- app ||= StubApp.new
32
-
33
- @middleware_new_routes = Rhoconnect::Middleware::XDomainSessionWrapper.new(app, {
34
- :session_cookie => COOKIE_NAME,
35
- :api_uri_regexp => /\A\/api\/application/,
36
- :login_uri_regexp => /\A\/api\/application\/clientlogin/
37
- })
38
-
39
- @middleware_old_routes = Rhoconnect::Middleware::XDomainSessionWrapper.new(app, {
40
- :session_cookie => COOKIE_NAME,
41
- :api_uri_regexp => /\A\/application/,
42
- :login_uri_regexp => /\A\/application\/clientlogin/
43
- })
44
-
45
- end
46
-
47
- it "should skip if it isn't a sync protocol URI, for new REST routes" do
48
- env = {
49
- 'PATH_INFO' => WRONG_URI,
50
- 'QUERY_STRING' => PROPER_QUERY_STRING
51
- }
52
- status, headers, body = @middleware_new_routes.call(env)
53
- 200.should == status
54
- COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
55
- COOKIE_NV.should_not == env['HTTP_COOKIE']
56
- headers['Content-Length'].should == body[0].length.to_s
57
- ''.should == body[0]
58
- end
59
-
60
- it "should skip if it isn't a sync protocol URI, for old REST routes" do
61
- env = {
62
- 'PATH_INFO' => WRONG_URI,
63
- 'QUERY_STRING' => PROPER_QUERY_STRING
64
- }
65
- status, headers, body = @middleware_old_routes.call(env)
66
- 200.should == status
67
- COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
68
- COOKIE_NV.should_not == env['HTTP_COOKIE']
69
- headers['Content-Length'].should == body[0].length.to_s
70
- ''.should == body[0]
71
- end
72
-
73
- it "should process cookie from QUERY_STRING if it is a sync protocol URI, for new REST routes" do
74
- env = {
75
- 'PATH_INFO' => PROPER_URI_NEW,
76
- 'QUERY_STRING' => PROPER_QUERY_STRING
77
- }
78
- status, headers, body = @middleware_new_routes.call(env)
79
- 200.should == status
80
- COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
81
- env['HTTP_COOKIE'].should == COOKIE_VALUE
82
- headers['Content-Length'].should == body[0].length.to_s
83
- ''.should == body[0]
84
- end
85
-
86
- it "should process cookie from QUERY_STRING if it is a sync protocol URI, for old REST routes" do
87
- env = {
88
- 'PATH_INFO' => PROPER_URI_OLD,
89
- 'QUERY_STRING' => PROPER_QUERY_STRING
90
- }
91
- status, headers, body = @middleware_old_routes.call(env)
92
- 200.should == status
93
- COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
94
- env['HTTP_COOKIE'].should == COOKIE_VALUE
95
- headers['Content-Length'].should == body[0].length.to_s
96
- ''.should == body[0]
97
- end
98
-
99
- it "shouldn't process cookie from QUERY_STRING if there is no appropriate parameter name or value, for new REST routes" do
100
- env = {
101
- 'PATH_INFO' => PROPER_URI_NEW,
102
- 'QUERY_STRING' => WRONG_QUERY_STRING
103
- }
104
- status, headers, body = @middleware_new_routes.call(env)
105
- 200.should == status
106
- COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
107
- env['HTTP_COOKIE'].should_not == COOKIE_VALUE
108
- headers['Content-Length'].should == body[0].length.to_s
109
- ''.should == body[0]
110
- end
111
-
112
- it "shouldn't process cookie from QUERY_STRING if there is no appropriate parameter name or value, for old REST routes" do
113
- env = {
114
- 'PATH_INFO' => PROPER_URI_OLD,
115
- 'QUERY_STRING' => WRONG_QUERY_STRING
116
- }
117
- status, headers, body = @middleware_old_routes.call(env)
118
- 200.should == status
119
- COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
120
- env['HTTP_COOKIE'].should_not == COOKIE_VALUE
121
- headers['Content-Length'].should == body[0].length.to_s
122
- ''.should == body[0]
123
- end
124
-
125
- it "should respond with cookie in a body if it is a login URI, for new REST routes" do
126
- env = {
127
- 'PATH_INFO' => LOGIN_URI_NEW,
128
- 'QUERY_STRING' => PROPER_QUERY_STRING
129
- }
130
- status, headers, body = @middleware_new_routes.call(env)
131
- 200.should == status
132
- headers['Set-Cookie'].should == COOKIE_ANOTHER_NV
133
- env['HTTP_COOKIE'].should == COOKIE_VALUE
134
- headers['Content-Length'].should == body[0].length.to_s
135
- ''.should_not == body[0]
136
- end
137
-
138
- it "should respond with cookie in a body if it is a login URI, for old REST routes" do
139
- env = {
140
- 'PATH_INFO' => LOGIN_URI_OLD,
141
- 'QUERY_STRING' => PROPER_QUERY_STRING
142
- }
143
- status, headers, body = @middleware_old_routes.call(env)
144
- 200.should == status
145
- headers['Set-Cookie'].should == COOKIE_ANOTHER_NV
146
- env['HTTP_COOKIE'].should == COOKIE_VALUE
147
- headers['Content-Length'].should == body[0].length.to_s
148
- ''.should_not == body[0]
149
- end
150
- end
1
+ require 'rhoconnect/middleware/x_domain_session_wrapper'
2
+ require File.join(File.dirname(__FILE__),'..','spec_helper')
3
+
4
+ require "cgi"
5
+
6
+ COOKIE_NAME = 'some_cookie'
7
+ COOKIE_VALUE = 'some_session_key=some_session_value'
8
+
9
+ COOKIE_NV = "#{COOKIE_NAME}=#{COOKIE_VALUE}"
10
+ COOKIE_ANOTHER_NV = "#{COOKIE_NAME}=#{COOKIE_VALUE}_another"
11
+
12
+ PROPER_QUERY_STRING = "?abc=123&#{COOKIE_NAME}=#{CGI.escape(COOKIE_VALUE)}&de=45"
13
+ WRONG_QUERY_STRING = "?abc=123&#{COOKIE_NAME}_wrong=#{CGI.escape(COOKIE_VALUE)}&de=45"
14
+
15
+ PROPER_URI_NEW = '/api/application'
16
+ PROPER_URI_OLD = '/application'
17
+ WRONG_URI = '/some/wrong/path/to/rhoconnect/application'
18
+
19
+ LOGIN_URI_NEW = '/api/application/clientlogin'
20
+ LOGIN_URI_OLD = '/application/clientlogin'
21
+
22
+ describe "XDomainSessionWrapper middleware" do
23
+
24
+ class StubApp
25
+ def call(env)
26
+ [200, {'Set-Cookie' => COOKIE_ANOTHER_NV, 'Content-Length' => '0'}, ['']]
27
+ end
28
+ end
29
+
30
+ before(:each) do
31
+ app ||= StubApp.new
32
+
33
+ @middleware_new_routes = Rhoconnect::Middleware::XDomainSessionWrapper.new(app, {
34
+ :session_cookie => COOKIE_NAME,
35
+ :api_uri_regexp => /\A\/api\/application/,
36
+ :login_uri_regexp => /\A\/api\/application\/clientlogin/
37
+ })
38
+
39
+ @middleware_old_routes = Rhoconnect::Middleware::XDomainSessionWrapper.new(app, {
40
+ :session_cookie => COOKIE_NAME,
41
+ :api_uri_regexp => /\A\/application/,
42
+ :login_uri_regexp => /\A\/application\/clientlogin/
43
+ })
44
+
45
+ end
46
+
47
+ it "should skip if it isn't a sync protocol URI, for new REST routes" do
48
+ env = {
49
+ 'PATH_INFO' => WRONG_URI,
50
+ 'QUERY_STRING' => PROPER_QUERY_STRING
51
+ }
52
+ status, headers, body = @middleware_new_routes.call(env)
53
+ 200.should == status
54
+ COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
55
+ COOKIE_NV.should_not == env['HTTP_COOKIE']
56
+ headers['Content-Length'].should == body[0].length.to_s
57
+ ''.should == body[0]
58
+ end
59
+
60
+ it "should skip if it isn't a sync protocol URI, for old REST routes" do
61
+ env = {
62
+ 'PATH_INFO' => WRONG_URI,
63
+ 'QUERY_STRING' => PROPER_QUERY_STRING
64
+ }
65
+ status, headers, body = @middleware_old_routes.call(env)
66
+ 200.should == status
67
+ COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
68
+ COOKIE_NV.should_not == env['HTTP_COOKIE']
69
+ headers['Content-Length'].should == body[0].length.to_s
70
+ ''.should == body[0]
71
+ end
72
+
73
+ it "should process cookie from QUERY_STRING if it is a sync protocol URI, for new REST routes" do
74
+ env = {
75
+ 'PATH_INFO' => PROPER_URI_NEW,
76
+ 'QUERY_STRING' => PROPER_QUERY_STRING
77
+ }
78
+ status, headers, body = @middleware_new_routes.call(env)
79
+ 200.should == status
80
+ COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
81
+ env['HTTP_COOKIE'].should == COOKIE_VALUE
82
+ headers['Content-Length'].should == body[0].length.to_s
83
+ ''.should == body[0]
84
+ end
85
+
86
+ it "should process cookie from QUERY_STRING if it is a sync protocol URI, for old REST routes" do
87
+ env = {
88
+ 'PATH_INFO' => PROPER_URI_OLD,
89
+ 'QUERY_STRING' => PROPER_QUERY_STRING
90
+ }
91
+ status, headers, body = @middleware_old_routes.call(env)
92
+ 200.should == status
93
+ COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
94
+ env['HTTP_COOKIE'].should == COOKIE_VALUE
95
+ headers['Content-Length'].should == body[0].length.to_s
96
+ ''.should == body[0]
97
+ end
98
+
99
+ it "shouldn't process cookie from QUERY_STRING if there is no appropriate parameter name or value, for new REST routes" do
100
+ env = {
101
+ 'PATH_INFO' => PROPER_URI_NEW,
102
+ 'QUERY_STRING' => WRONG_QUERY_STRING
103
+ }
104
+ status, headers, body = @middleware_new_routes.call(env)
105
+ 200.should == status
106
+ COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
107
+ env['HTTP_COOKIE'].should_not == COOKIE_VALUE
108
+ headers['Content-Length'].should == body[0].length.to_s
109
+ ''.should == body[0]
110
+ end
111
+
112
+ it "shouldn't process cookie from QUERY_STRING if there is no appropriate parameter name or value, for old REST routes" do
113
+ env = {
114
+ 'PATH_INFO' => PROPER_URI_OLD,
115
+ 'QUERY_STRING' => WRONG_QUERY_STRING
116
+ }
117
+ status, headers, body = @middleware_old_routes.call(env)
118
+ 200.should == status
119
+ COOKIE_ANOTHER_NV.should == headers['Set-Cookie']
120
+ env['HTTP_COOKIE'].should_not == COOKIE_VALUE
121
+ headers['Content-Length'].should == body[0].length.to_s
122
+ ''.should == body[0]
123
+ end
124
+
125
+ it "should respond with cookie in a body if it is a login URI, for new REST routes" do
126
+ env = {
127
+ 'PATH_INFO' => LOGIN_URI_NEW,
128
+ 'QUERY_STRING' => PROPER_QUERY_STRING
129
+ }
130
+ status, headers, body = @middleware_new_routes.call(env)
131
+ 200.should == status
132
+ headers['Set-Cookie'].should == COOKIE_ANOTHER_NV
133
+ env['HTTP_COOKIE'].should == COOKIE_VALUE
134
+ headers['Content-Length'].should == body[0].length.to_s
135
+ ''.should_not == body[0]
136
+ end
137
+
138
+ it "should respond with cookie in a body if it is a login URI, for old REST routes" do
139
+ env = {
140
+ 'PATH_INFO' => LOGIN_URI_OLD,
141
+ 'QUERY_STRING' => PROPER_QUERY_STRING
142
+ }
143
+ status, headers, body = @middleware_old_routes.call(env)
144
+ 200.should == status
145
+ headers['Set-Cookie'].should == COOKIE_ANOTHER_NV
146
+ env['HTTP_COOKIE'].should == COOKIE_VALUE
147
+ headers['Content-Length'].should == body[0].length.to_s
148
+ ''.should_not == body[0]
149
+ end
150
+ end
File without changes
data/spec/source_spec.rb CHANGED
File without changes
File without changes
data/spec/spec_helper.rb CHANGED
File without changes
File without changes
data/spec/store_spec.rb CHANGED
File without changes
File without changes
File without changes
File without changes
data/spec/user_spec.rb CHANGED
@@ -23,15 +23,6 @@ describe "User" do
23
23
  Store.get_value('user:count').should == "2"
24
24
  end
25
25
 
26
- it "should delete seats for user's clients" do
27
- @c_fields.delete(:id)
28
- Client.create(@c_fields,{:source_name => @s_fields[:name]})
29
- c_size = @u.clients.members.size
30
- current = Store.get_value(License::CLIENT_DOCKEY).to_i
31
- @u.delete
32
- Store.get_value(License::CLIENT_DOCKEY).to_i.should == current - c_size
33
- end
34
-
35
26
  it "should create token for user" do
36
27
  token = @u.create_token
37
28
  token.length.should == 32