tcell_agent 0.2.6 → 0.2.7

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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tcell_agent/agent.rb +2 -1
  3. data/lib/tcell_agent/agent/event_processor.rb +58 -9
  4. data/lib/tcell_agent/agent/fork_pipe_manager.rb +18 -15
  5. data/lib/tcell_agent/agent/static_agent.rb +4 -1
  6. data/lib/tcell_agent/configuration.rb +6 -4
  7. data/lib/tcell_agent/devise.rb +40 -40
  8. data/lib/tcell_agent/instrumentation.rb +125 -59
  9. data/lib/tcell_agent/policies/dataloss_policy.rb +74 -17
  10. data/lib/tcell_agent/policies/login_fraud_policy.rb +39 -36
  11. data/lib/tcell_agent/rails.rb +5 -14
  12. data/lib/tcell_agent/rails/auth/devise.rb +1 -0
  13. data/lib/tcell_agent/rails/dlp.rb +1 -1
  14. data/lib/tcell_agent/rails/middleware/body_filter_middleware.rb +21 -1
  15. data/lib/tcell_agent/rails/middleware/context_middleware.rb +5 -3
  16. data/lib/tcell_agent/rails/middleware/global_middleware.rb +16 -7
  17. data/lib/tcell_agent/rails/middleware/headers_middleware.rb +8 -9
  18. data/lib/tcell_agent/rails/on_start.rb +101 -0
  19. data/lib/tcell_agent/rails/routes.rb +80 -71
  20. data/lib/tcell_agent/sensor_events/app_sensor.rb +45 -14
  21. data/lib/tcell_agent/sensor_events/metrics.rb +119 -17
  22. data/lib/tcell_agent/sensor_events/server_agent.rb +8 -1
  23. data/lib/tcell_agent/servers/puma.rb +39 -37
  24. data/lib/tcell_agent/servers/thin.rb +0 -1
  25. data/lib/tcell_agent/servers/unicorn.rb +18 -5
  26. data/lib/tcell_agent/start_background_thread.rb +12 -28
  27. data/lib/tcell_agent/version.rb +1 -1
  28. data/spec/apps/rails-3.2/Gemfile +25 -0
  29. data/spec/apps/rails-3.2/Gemfile.lock +126 -0
  30. data/spec/apps/rails-3.2/Rakefile +7 -0
  31. data/spec/apps/rails-3.2/app/assets/images/rails.png +0 -0
  32. data/spec/apps/rails-3.2/app/assets/javascripts/application.js +15 -0
  33. data/spec/apps/rails-3.2/app/assets/stylesheets/application.css +13 -0
  34. data/spec/apps/rails-3.2/app/controllers/application_controller.rb +3 -0
  35. data/spec/apps/rails-3.2/app/controllers/t_cell_app_controller.rb +5 -0
  36. data/spec/apps/rails-3.2/app/helpers/application_helper.rb +2 -0
  37. data/spec/apps/rails-3.2/app/views/layouts/application.html.erb +14 -0
  38. data/spec/apps/rails-3.2/app/views/t_cell_app/index.html.erb +1 -0
  39. data/spec/apps/rails-3.2/config.ru +4 -0
  40. data/spec/apps/rails-3.2/config/application.rb +63 -0
  41. data/spec/apps/rails-3.2/config/boot.rb +6 -0
  42. data/spec/apps/rails-3.2/config/environment.rb +5 -0
  43. data/spec/apps/rails-3.2/config/environments/test.rb +37 -0
  44. data/spec/apps/rails-3.2/config/routes.rb +11 -0
  45. data/spec/apps/rails-4.1/Gemfile +7 -0
  46. data/spec/apps/rails-4.1/Gemfile.lock +114 -0
  47. data/spec/apps/rails-4.1/Rakefile +6 -0
  48. data/spec/apps/rails-4.1/app/assets/javascripts/application.js +16 -0
  49. data/spec/apps/rails-4.1/app/assets/stylesheets/application.css +15 -0
  50. data/spec/apps/rails-4.1/app/controllers/application_controller.rb +5 -0
  51. data/spec/apps/rails-4.1/app/controllers/t_cell_app_controller.rb +5 -0
  52. data/spec/apps/rails-4.1/app/helpers/application_helper.rb +2 -0
  53. data/spec/apps/rails-4.1/app/views/layouts/application.html.erb +14 -0
  54. data/spec/apps/rails-4.1/app/views/t_cell_app/index.html.erb +1 -0
  55. data/spec/apps/rails-4.1/config.ru +4 -0
  56. data/spec/apps/rails-4.1/config/application.rb +24 -0
  57. data/spec/apps/rails-4.1/config/boot.rb +4 -0
  58. data/spec/apps/rails-4.1/config/environment.rb +5 -0
  59. data/spec/apps/rails-4.1/config/environments/test.rb +41 -0
  60. data/spec/apps/rails-4.1/config/initializers/assets.rb +8 -0
  61. data/spec/apps/rails-4.1/config/initializers/backtrace_silencers.rb +7 -0
  62. data/spec/apps/rails-4.1/config/initializers/cookies_serializer.rb +3 -0
  63. data/spec/apps/rails-4.1/config/initializers/filter_parameter_logging.rb +4 -0
  64. data/spec/apps/rails-4.1/config/initializers/inflections.rb +16 -0
  65. data/spec/apps/rails-4.1/config/initializers/mime_types.rb +4 -0
  66. data/spec/apps/rails-4.1/config/initializers/session_store.rb +3 -0
  67. data/spec/apps/rails-4.1/config/initializers/wrap_parameters.rb +14 -0
  68. data/spec/apps/rails-4.1/config/locales/en.yml +23 -0
  69. data/spec/apps/rails-4.1/config/routes.rb +12 -0
  70. data/spec/apps/rails-4.1/config/secrets.yml +22 -0
  71. data/spec/integration/puma.rb +195 -0
  72. data/spec/lib/tcell_agent/agent/static_agent_spec.rb +136 -0
  73. data/spec/lib/tcell_agent/appsensor_spec.rb +0 -1
  74. data/spec/lib/tcell_agent/policies/appsensor_policy_spec.rb +0 -1
  75. data/spec/lib/tcell_agent/policies/dataloss_policy_spec.rb +94 -10
  76. data/spec/lib/tcell_agent/policies/login_policy_spec.rb +39 -34
  77. data/spec/lib/tcell_agent/rails/middleware/appsensor_middleware_spec.rb +146 -0
  78. data/spec/lib/tcell_agent/rails/middleware/global_middleware_spec.rb +13 -5
  79. data/spec/lib/tcell_agent/sensor_events/sessions_metric_spec.rb +258 -0
  80. data/spec/spec_helper.rb +6 -15
  81. data/spec/support/middleware_helper.rb +17 -0
  82. data/spec/{resources → support/resources}/normal_config.json +0 -0
  83. data/spec/support/static_agent_overrides.rb +36 -0
  84. metadata +103 -4
data/spec/spec_helper.rb CHANGED
@@ -4,21 +4,12 @@ require 'webmock/rspec'
4
4
 
5
5
  ENV['TCELL_AGENT_SERVER'] = "mock"
6
6
  require File.join(File.dirname(__FILE__), '..', 'lib', 'tcell_agent')
7
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'tcell_agent','rails') if defined?(Rails)
7
8
 
8
- module TCellAgent
9
- @@spec_event_queue = []
10
- def self.empty_event_queue
11
- @@spec_event_queue = []
12
- end
13
- def self.event_queue
14
- return @@spec_event_queue
15
- end
16
- def self.send_event(event)
17
- @@spec_event_queue.push(event)
18
- end
19
- def self.set_thread_agent(thread_agent)
20
- self.thread_agent = thread_agent
21
- end
9
+ Dir[File.join(File.dirname(__FILE__), "support", "**", "*.rb")].each { |f| require f }
10
+
11
+ def get_test_resource_path(name)
12
+ File.join(File.dirname(__FILE__), "support", "resources", name)
22
13
  end
23
14
 
24
- TCellAgent.load_route_instrumentation
15
+ require 'tcell_agent/agent'
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+ require 'rack/test'
3
+ require 'rack'
4
+
5
+ def withTCellMiddleware(app, inner_middleware=nil)
6
+ TCellAgent::Instrumentation::Rails::Middleware::ContextMiddleware.new(
7
+ TCellAgent::Instrumentation::Rails::Middleware::HeadersMiddleware.new(
8
+ ActionDispatch::ParamsParser.new(
9
+ TCellAgent::Instrumentation::Rails::Middleware::BodyFilterMiddleware.new(
10
+ TCellAgent::Instrumentation::Rails::Middleware::GlobalMiddleware.new(
11
+ app
12
+ )
13
+ )
14
+ )
15
+ )
16
+ )
17
+ end
@@ -0,0 +1,36 @@
1
+ module TCellAgent
2
+ @@spec_event_queue = []
3
+ def self.empty_event_queue
4
+ @@spec_event_queue = []
5
+ end
6
+ def self.event_queue
7
+ return @@spec_event_queue
8
+ end
9
+ def self.send_event(event)
10
+ event.post_process
11
+ @@spec_event_queue.push(event)
12
+ end
13
+ def self.set_thread_agent(thread_agent)
14
+ self.thread_agent = thread_agent
15
+ end
16
+ def self.queue_metric(event)
17
+ #puts "Queue metric"
18
+ self.thread_agent._queue_metric(event)
19
+ end
20
+ def self.increment_session_info(hmac_session_id, user_id, ip_address, user_agent)
21
+ #puts "Inc Session Info"
22
+ self.thread_agent.increment_session_info(hmac_session_id, user_id, ip_address, user_agent)
23
+ end
24
+ def self.increment_route(route_id, response_time)
25
+ self.thread_agent.increment_route(route_id, response_time)
26
+ end
27
+ def self.ensure_event_processor_running
28
+ #puts "Ensure running"
29
+ #self.thread_agent.ensure_event_processor_running
30
+ end
31
+ class TCellApi
32
+ def sendEventSet(events)
33
+ puts "Send Events"
34
+ end
35
+ end
36
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tcell_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garrett
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-03 00:00:00.000000000 Z
11
+ date: 2016-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -157,6 +157,7 @@ files:
157
157
  - lib/tcell_agent/rails/middleware/context_middleware.rb
158
158
  - lib/tcell_agent/rails/middleware/global_middleware.rb
159
159
  - lib/tcell_agent/rails/middleware/headers_middleware.rb
160
+ - lib/tcell_agent/rails/on_start.rb
160
161
  - lib/tcell_agent/rails/routes.rb
161
162
  - lib/tcell_agent/rails/settings_reporter.rb
162
163
  - lib/tcell_agent/routes/table.rb
@@ -182,7 +183,52 @@ files:
182
183
  - lib/tcell_agent/userinfo.rb
183
184
  - lib/tcell_agent/utils/queue_with_timeout.rb
184
185
  - lib/tcell_agent/version.rb
186
+ - spec/apps/rails-3.2/Gemfile
187
+ - spec/apps/rails-3.2/Gemfile.lock
188
+ - spec/apps/rails-3.2/Rakefile
189
+ - spec/apps/rails-3.2/app/assets/images/rails.png
190
+ - spec/apps/rails-3.2/app/assets/javascripts/application.js
191
+ - spec/apps/rails-3.2/app/assets/stylesheets/application.css
192
+ - spec/apps/rails-3.2/app/controllers/application_controller.rb
193
+ - spec/apps/rails-3.2/app/controllers/t_cell_app_controller.rb
194
+ - spec/apps/rails-3.2/app/helpers/application_helper.rb
195
+ - spec/apps/rails-3.2/app/views/layouts/application.html.erb
196
+ - spec/apps/rails-3.2/app/views/t_cell_app/index.html.erb
197
+ - spec/apps/rails-3.2/config.ru
198
+ - spec/apps/rails-3.2/config/application.rb
199
+ - spec/apps/rails-3.2/config/boot.rb
200
+ - spec/apps/rails-3.2/config/environment.rb
201
+ - spec/apps/rails-3.2/config/environments/test.rb
202
+ - spec/apps/rails-3.2/config/routes.rb
203
+ - spec/apps/rails-4.1/Gemfile
204
+ - spec/apps/rails-4.1/Gemfile.lock
205
+ - spec/apps/rails-4.1/Rakefile
206
+ - spec/apps/rails-4.1/app/assets/javascripts/application.js
207
+ - spec/apps/rails-4.1/app/assets/stylesheets/application.css
208
+ - spec/apps/rails-4.1/app/controllers/application_controller.rb
209
+ - spec/apps/rails-4.1/app/controllers/t_cell_app_controller.rb
210
+ - spec/apps/rails-4.1/app/helpers/application_helper.rb
211
+ - spec/apps/rails-4.1/app/views/layouts/application.html.erb
212
+ - spec/apps/rails-4.1/app/views/t_cell_app/index.html.erb
213
+ - spec/apps/rails-4.1/config.ru
214
+ - spec/apps/rails-4.1/config/application.rb
215
+ - spec/apps/rails-4.1/config/boot.rb
216
+ - spec/apps/rails-4.1/config/environment.rb
217
+ - spec/apps/rails-4.1/config/environments/test.rb
218
+ - spec/apps/rails-4.1/config/initializers/assets.rb
219
+ - spec/apps/rails-4.1/config/initializers/backtrace_silencers.rb
220
+ - spec/apps/rails-4.1/config/initializers/cookies_serializer.rb
221
+ - spec/apps/rails-4.1/config/initializers/filter_parameter_logging.rb
222
+ - spec/apps/rails-4.1/config/initializers/inflections.rb
223
+ - spec/apps/rails-4.1/config/initializers/mime_types.rb
224
+ - spec/apps/rails-4.1/config/initializers/session_store.rb
225
+ - spec/apps/rails-4.1/config/initializers/wrap_parameters.rb
226
+ - spec/apps/rails-4.1/config/locales/en.yml
227
+ - spec/apps/rails-4.1/config/routes.rb
228
+ - spec/apps/rails-4.1/config/secrets.yml
185
229
  - spec/controllers/application_controller.rb
230
+ - spec/integration/puma.rb
231
+ - spec/lib/tcell_agent/agent/static_agent_spec.rb
186
232
  - spec/lib/tcell_agent/api/api_spec.rb
187
233
  - spec/lib/tcell_agent/appsensor_spec.rb
188
234
  - spec/lib/tcell_agent/instrumentation_spec.rb
@@ -195,15 +241,19 @@ files:
195
241
  - spec/lib/tcell_agent/policies/http_tx_policy_spec.rb
196
242
  - spec/lib/tcell_agent/policies/login_policy_spec.rb
197
243
  - spec/lib/tcell_agent/policies/secure_headers_policy_spec.rb
244
+ - spec/lib/tcell_agent/rails/middleware/appsensor_middleware_spec.rb
198
245
  - spec/lib/tcell_agent/rails/middleware/global_middleware_spec.rb
199
246
  - spec/lib/tcell_agent/rails_spec.rb
200
247
  - spec/lib/tcell_agent/sensor_events/dlp_spec.rb
248
+ - spec/lib/tcell_agent/sensor_events/sessions_metric_spec.rb
201
249
  - spec/lib/tcell_agent/sensor_events/util/redirect_utils_spec.rb
202
250
  - spec/lib/tcell_agent/sensor_events/util/sanitizer_utilities_spec.rb
203
251
  - spec/lib/tcell_agent/utils/bounded_queue_spec.rb
204
252
  - spec/lib/tcell_agent_spec.rb
205
- - spec/resources/normal_config.json
206
253
  - spec/spec_helper.rb
254
+ - spec/support/middleware_helper.rb
255
+ - spec/support/resources/normal_config.json
256
+ - spec/support/static_agent_overrides.rb
207
257
  - tcell_agent.gemspec
208
258
  homepage: https://www.tcell.io
209
259
  licenses:
@@ -232,7 +282,52 @@ signing_key:
232
282
  specification_version: 4
233
283
  summary: tCell.io Agent for Rails & Sinatra
234
284
  test_files:
285
+ - spec/apps/rails-3.2/Gemfile
286
+ - spec/apps/rails-3.2/Gemfile.lock
287
+ - spec/apps/rails-3.2/Rakefile
288
+ - spec/apps/rails-3.2/app/assets/images/rails.png
289
+ - spec/apps/rails-3.2/app/assets/javascripts/application.js
290
+ - spec/apps/rails-3.2/app/assets/stylesheets/application.css
291
+ - spec/apps/rails-3.2/app/controllers/application_controller.rb
292
+ - spec/apps/rails-3.2/app/controllers/t_cell_app_controller.rb
293
+ - spec/apps/rails-3.2/app/helpers/application_helper.rb
294
+ - spec/apps/rails-3.2/app/views/layouts/application.html.erb
295
+ - spec/apps/rails-3.2/app/views/t_cell_app/index.html.erb
296
+ - spec/apps/rails-3.2/config.ru
297
+ - spec/apps/rails-3.2/config/application.rb
298
+ - spec/apps/rails-3.2/config/boot.rb
299
+ - spec/apps/rails-3.2/config/environment.rb
300
+ - spec/apps/rails-3.2/config/environments/test.rb
301
+ - spec/apps/rails-3.2/config/routes.rb
302
+ - spec/apps/rails-4.1/Gemfile
303
+ - spec/apps/rails-4.1/Gemfile.lock
304
+ - spec/apps/rails-4.1/Rakefile
305
+ - spec/apps/rails-4.1/app/assets/javascripts/application.js
306
+ - spec/apps/rails-4.1/app/assets/stylesheets/application.css
307
+ - spec/apps/rails-4.1/app/controllers/application_controller.rb
308
+ - spec/apps/rails-4.1/app/controllers/t_cell_app_controller.rb
309
+ - spec/apps/rails-4.1/app/helpers/application_helper.rb
310
+ - spec/apps/rails-4.1/app/views/layouts/application.html.erb
311
+ - spec/apps/rails-4.1/app/views/t_cell_app/index.html.erb
312
+ - spec/apps/rails-4.1/config.ru
313
+ - spec/apps/rails-4.1/config/application.rb
314
+ - spec/apps/rails-4.1/config/boot.rb
315
+ - spec/apps/rails-4.1/config/environment.rb
316
+ - spec/apps/rails-4.1/config/environments/test.rb
317
+ - spec/apps/rails-4.1/config/initializers/assets.rb
318
+ - spec/apps/rails-4.1/config/initializers/backtrace_silencers.rb
319
+ - spec/apps/rails-4.1/config/initializers/cookies_serializer.rb
320
+ - spec/apps/rails-4.1/config/initializers/filter_parameter_logging.rb
321
+ - spec/apps/rails-4.1/config/initializers/inflections.rb
322
+ - spec/apps/rails-4.1/config/initializers/mime_types.rb
323
+ - spec/apps/rails-4.1/config/initializers/session_store.rb
324
+ - spec/apps/rails-4.1/config/initializers/wrap_parameters.rb
325
+ - spec/apps/rails-4.1/config/locales/en.yml
326
+ - spec/apps/rails-4.1/config/routes.rb
327
+ - spec/apps/rails-4.1/config/secrets.yml
235
328
  - spec/controllers/application_controller.rb
329
+ - spec/integration/puma.rb
330
+ - spec/lib/tcell_agent/agent/static_agent_spec.rb
236
331
  - spec/lib/tcell_agent/api/api_spec.rb
237
332
  - spec/lib/tcell_agent/appsensor_spec.rb
238
333
  - spec/lib/tcell_agent/instrumentation_spec.rb
@@ -245,12 +340,16 @@ test_files:
245
340
  - spec/lib/tcell_agent/policies/http_tx_policy_spec.rb
246
341
  - spec/lib/tcell_agent/policies/login_policy_spec.rb
247
342
  - spec/lib/tcell_agent/policies/secure_headers_policy_spec.rb
343
+ - spec/lib/tcell_agent/rails/middleware/appsensor_middleware_spec.rb
248
344
  - spec/lib/tcell_agent/rails/middleware/global_middleware_spec.rb
249
345
  - spec/lib/tcell_agent/rails_spec.rb
250
346
  - spec/lib/tcell_agent/sensor_events/dlp_spec.rb
347
+ - spec/lib/tcell_agent/sensor_events/sessions_metric_spec.rb
251
348
  - spec/lib/tcell_agent/sensor_events/util/redirect_utils_spec.rb
252
349
  - spec/lib/tcell_agent/sensor_events/util/sanitizer_utilities_spec.rb
253
350
  - spec/lib/tcell_agent/utils/bounded_queue_spec.rb
254
351
  - spec/lib/tcell_agent_spec.rb
255
- - spec/resources/normal_config.json
256
352
  - spec/spec_helper.rb
353
+ - spec/support/middleware_helper.rb
354
+ - spec/support/resources/normal_config.json
355
+ - spec/support/static_agent_overrides.rb