web-console-rails3 0.4.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/README.markdown +1 -1
  3. data/app/assets/javascripts/web_console/console_sessions.js +12 -17
  4. data/app/controllers/web_console/console_sessions_controller.rb +1 -1
  5. data/app/models/web_console/console_session.rb +22 -6
  6. data/lib/web_console/colors.rb +3 -2
  7. data/lib/web_console/colors/monokai.rb +24 -0
  8. data/lib/web_console/engine.rb.orig +3 -3
  9. data/lib/web_console/slave.rb +11 -2
  10. data/lib/web_console/version.rb +1 -1
  11. data/lib/web_console/version.rb.orig +7 -0
  12. data/test/controllers/web_console/console_sessions_controller_test.rb +20 -0
  13. data/test/dummy/config/application.rb +2 -0
  14. data/test/dummy/config/application.rb.orig +58 -0
  15. data/test/dummy/db/development.sqlite3 +0 -0
  16. data/test/dummy/db/test.sqlite3 +0 -0
  17. data/test/dummy/log/development.log +55293 -297
  18. data/test/dummy/log/test.log +3708 -16
  19. data/test/dummy/tmp/cache/assets/C9E/AD0/sprockets%2F4a42d8916f3fa47867445f696497a92c +0 -0
  20. data/test/dummy/tmp/cache/assets/{C5D/870/sprockets%2F9695d21699b362bcc13260e71b679474 → CA7/D50/sprockets%2Fd095151316fd43a3062157b72d7de7f2} +0 -0
  21. data/test/dummy/tmp/cache/assets/CA7/D70/sprockets%2F3e9e32bbc8c81a93002555265a36a852 +0 -0
  22. data/test/dummy/tmp/cache/assets/CAA/460/sprockets%2Ff71bd1e874400261bf4041d1955649ce +0 -0
  23. data/test/dummy/tmp/cache/assets/CBD/6E0/sprockets%2F3293dfc0984076f0e8371a9e7640f4a8 +0 -0
  24. data/test/dummy/tmp/cache/assets/CD0/FC0/sprockets%2Fbb2777627d42a216f3d9ced4322040b3 +0 -0
  25. data/test/dummy/tmp/cache/assets/CD5/450/sprockets%2Fe91b806f141515129b1ac8a8d0e58e31 +0 -0
  26. data/test/dummy/tmp/cache/assets/{CD0/9A0/sprockets%2F61b95b7833a131f56a2096a3d2ba0c94 → CFA/E30/sprockets%2F35be1d26565dc0310c29f1a5e2f62f10} +0 -0
  27. data/test/dummy/tmp/cache/assets/{C79/7C0/sprockets%2F831cb415f919c0a15d95e148020953f2 → D1D/FD0/sprockets%2Fa4a5ffe670666ce3d8d59179905201ef} +0 -0
  28. data/test/dummy/tmp/cache/assets/{CB7/870/sprockets%2F5358761e3329e2a4655ee7c0fd2609b5 → D21/6B0/sprockets%2F9e242803fe56d6305274ff7e6487deda} +0 -0
  29. data/test/dummy/tmp/cache/assets/D22/980/sprockets%2Fce6aa94ad2bc107104c0540f62c5128c +0 -0
  30. data/test/dummy/tmp/cache/assets/D29/380/sprockets%2F92f1a0450bc4bea3364a07be42b4f645 +0 -0
  31. data/test/dummy/tmp/cache/assets/D38/A00/sprockets%2F700155d5f77047ca613ee9c4d5c4cca3 +0 -0
  32. data/test/dummy/tmp/cache/assets/D3E/380/sprockets%2F434d98c8380bb9daf43810155aaf68ba +0 -0
  33. data/test/dummy/tmp/cache/assets/{D42/180/sprockets%2F4af57a79abba3d4790ba1e7157f41939 → D66/940/sprockets%2F6151175b6ad4f9bab0c7e2b508e7b70f} +0 -0
  34. data/test/dummy/tmp/cache/assets/D69/670/sprockets%2Fc6b4a05846fd1b98fe9252ecdd1601c0 +0 -0
  35. data/test/dummy/tmp/cache/assets/{D66/AE0/sprockets%2F25c91de251a8ab43652dc2ef55e2a29d → D69/710/sprockets%2Ff67078d4b979a58c97feede196f6b385} +0 -0
  36. data/test/dummy/tmp/cache/assets/D90/B30/sprockets%2Fe03fe93eb7fe888c9d21ee62816596ff +0 -0
  37. data/test/dummy/tmp/cache/assets/{C3D/0C0/sprockets%2Fb01666017530b122ba58894b59b1551b → D95/C40/sprockets%2F09cb0a274209abf0391cbfce6ee67b82} +0 -0
  38. data/test/dummy/tmp/cache/assets/D9B/A30/sprockets%2Fc3436b3fe5da7c2456f26e2ae36da6c5 +0 -0
  39. data/test/dummy/tmp/cache/assets/D9F/400/sprockets%2F7f60332f86073dc8ed80b4c2a9dfcbe1 +0 -0
  40. data/test/dummy/tmp/cache/assets/DAE/8C0/sprockets%2Fa9b8f7bc5ca2efe658a13d7f4609c729 +0 -0
  41. data/test/dummy/tmp/cache/assets/{DAC/A90/sprockets%2F2015f79881b518e9cdcdaf8dfb3e46c5 → DB3/0C0/sprockets%2F689fb998e2a7add3e00db88df254c87a} +0 -0
  42. data/test/dummy/tmp/cache/assets/{CDA/480/sprockets%2F26eb073018913d788d2ee3f5151eea04 → DD4/440/sprockets%2Fa33d646ac00d8bc87a4a496af6eed96f} +0 -0
  43. data/test/dummy/tmp/cache/assets/DDB/890/sprockets%2F5ed566ca9fafd1b82373ffea2a8d8681 +0 -0
  44. data/test/dummy/tmp/cache/assets/{DA9/F60/sprockets%2Fa95e444e8dca0e1a586dcef972b623f7 → DFC/780/sprockets%2F5cb5da4f4da73824ec22a7f9716cfabd} +0 -0
  45. data/test/dummy/tmp/cache/assets/E20/1B0/sprockets%2F93fcfe8f084edee9a55499a26def5d9c +0 -0
  46. data/test/dummy/tmp/cache/assets/E5A/C40/sprockets%2F164cfa0fd9eb1ec1acdfaa278c83e9c5 +0 -0
  47. data/test/models/console_session_test.rb +12 -6
  48. data/test/test_helper.rb +8 -0
  49. data/test/web_console/engine_test.rb +136 -0
  50. data/test/web_console/slave_test.rb +57 -39
  51. metadata +136 -108
  52. data/test/dummy/tmp/cache/assets/CE1/850/sprockets%2Fb962434bbb22f17db956b8091c975f30 +0 -0
  53. data/test/dummy/tmp/cache/assets/D0C/EE0/sprockets%2F3fdf5762c392175ad2cba21454e5b972 +0 -0
  54. data/test/dummy/tmp/cache/assets/D54/E60/sprockets%2F8abf0788cb7dc878ea82239456149bed +0 -0
  55. data/test/dummy/tmp/cache/assets/D5F/7E0/sprockets%2F26c1c2c6ba96ba84abf150e402d677c3 +0 -0
  56. data/test/dummy/tmp/cache/assets/D66/680/sprockets%2Fe0ba18d897f0c45f5e66b003c5ebd061 +0 -0
  57. data/test/dummy/tmp/cache/assets/DA7/470/sprockets%2F65bb61bf1edac19c0666e89b667d23ff +0 -0
  58. data/test/web_console_test.rb +0 -133
@@ -1,133 +0,0 @@
1
- require 'test_helper'
2
-
3
- class WebConsoleTest < ActiveSupport::TestCase
4
- test 'custom default_mount_path' do
5
- new_uninitialized_app do |app|
6
- app.config.web_console.default_mount_path = '/shell'
7
- app.initialize!
8
-
9
- assert app.routes.named_routes['web_console'].path.match('/shell')
10
- end
11
- end
12
-
13
- test 'disabling automounting' do
14
- new_uninitialized_app do |app|
15
- app.config.web_console.automount = false
16
- app.initialize!
17
-
18
- refute app.routes.named_routes['web_console']
19
- end
20
- end
21
-
22
- test 'blank commands are expanded to the rails console' do
23
- new_uninitialized_app do |app|
24
- app.config.web_console.command = ' '
25
- app.initialize!
26
-
27
- assert_equal 'rails_console', app.config.web_console.command
28
- end
29
- end
30
-
31
- test 'present commands are not processed' do
32
- new_uninitialized_app do |app|
33
- app.config.web_console.command = '/bin/login'
34
- app.initialize!
35
-
36
- assert_equal '/bin/login', app.config.web_console.command
37
- end
38
- end
39
-
40
- test 'whitelisted ips are courced to IPAddr' do
41
- new_uninitialized_app do |app|
42
- app.config.web_console.whitelisted_ips = '127.0.0.1'
43
- app.initialize!
44
-
45
- assert_equal [ IPAddr.new('127.0.0.1') ], app.config.web_console.whitelisted_ips
46
- end
47
- end
48
-
49
- test 'whitelisted ips are normalized and unique IPAddr' do
50
- new_uninitialized_app do |app|
51
- app.config.web_console.whitelisted_ips = [ '127.0.0.1', '127.0.0.1', nil, '', ' ' ]
52
- app.initialize!
53
-
54
- assert_equal [ IPAddr.new('127.0.0.1') ], app.config.web_console.whitelisted_ips
55
- end
56
- end
57
-
58
- test 'whitelisted_ips.include? coerces to IPAddr' do
59
- new_uninitialized_app do |app|
60
- app.config.web_console.whitelisted_ips = '127.0.0.1'
61
- app.initialize!
62
-
63
- assert app.config.web_console.whitelisted_ips.include?('127.0.0.1')
64
- end
65
- end
66
-
67
- test 'whitelisted_ips.include? works with IPAddr' do
68
- new_uninitialized_app do |app|
69
- app.config.web_console.whitelisted_ips = '127.0.0.1'
70
- app.initialize!
71
-
72
- assert app.config.web_console.whitelisted_ips.include?(IPAddr.new('127.0.0.1'))
73
- end
74
- end
75
-
76
- test 'whitelist whole networks' do
77
- new_uninitialized_app do |app|
78
- app.config.web_console.whitelisted_ips = '172.16.0.0/12'
79
- app.initialize!
80
-
81
- 1.upto(255).each do |n|
82
- assert_includes app.config.web_console.whitelisted_ips, "172.16.0.#{n}"
83
- end
84
- end
85
- end
86
-
87
- test 'whitelist multiple networks' do
88
- new_uninitialized_app do |app|
89
- app.config.web_console.whitelisted_ips = %w( 172.16.0.0/12 192.168.0.0/16 )
90
- app.initialize!
91
-
92
- 1.upto(255).each do |n|
93
- assert_includes app.config.web_console.whitelisted_ips, "172.16.0.#{n}"
94
- assert_includes app.config.web_console.whitelisted_ips, "192.168.0.#{n}"
95
- end
96
- end
97
- end
98
-
99
- private
100
-
101
- def new_uninitialized_app(root = File.expand_path('../dummy', __FILE__))
102
- skip if Rails::VERSION::MAJOR == 3
103
-
104
- old_app = Rails.application
105
-
106
- FileUtils.mkdir_p(root)
107
- Dir.chdir(root) do
108
- Rails.application = nil
109
-
110
- app = Class.new(Rails::Application)
111
- app.config.eager_load = false
112
- app.config.time_zone = 'UTC'
113
- app.config.middleware ||= Rails::Configuration::MiddlewareStackProxy.new
114
- app.config.active_support.deprecation = :notify
115
-
116
- yield app
117
- end
118
- ensure
119
- Rails.application = old_app
120
- end
121
-
122
- def teardown_fixtures(*)
123
- super
124
- rescue
125
- # This is nasty hack to prevent a connection to the database in JRuby's
126
- # activerecord-jdbcsqlite3-adapter. We don't really require a database
127
- # connection, for the tests to run.
128
- #
129
- # The sad thing is that I couldn't figure out why does it only happens on
130
- # activerecord-jdbcsqlite3-adapter and how to actually prevent it, rather
131
- # than work-around it.
132
- end
133
- end