web-console-rails3 0.2.0 → 0.3.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.
- checksums.yaml +4 -4
- data/README.markdown +2 -2
- data/app/assets/javascripts/web_console/application.js +1 -3
- data/app/assets/javascripts/web_console/console_sessions.js +3 -24
- data/app/assets/stylesheets/web_console/application.css +1 -0
- data/app/assets/stylesheets/web_console/console_sessions.css +0 -8
- data/app/controllers/web_console/application_controller.rb +1 -0
- data/app/controllers/web_console/console_sessions_controller.rb +24 -4
- data/app/models/web_console/console_session.rb +32 -62
- data/app/views/web_console/console_sessions/index.html.erb +9 -4
- data/config/routes.rb +7 -1
- data/lib/assets/javascripts/web-console.js +1 -0
- data/lib/assets/javascripts/web_console.js +202 -0
- data/lib/web_console.rb +1 -1
- data/lib/web_console/engine.rb +17 -7
- data/lib/web_console/slave.rb +112 -0
- data/lib/web_console/version.rb +1 -1
- data/test/controllers/web_console/console_sessions_controller_test.rb +29 -11
- data/test/dummy/config/application.rb +17 -1
- data/test/dummy/config/application.rb.orig +58 -0
- data/test/dummy/log/development.log +28962 -0
- data/test/dummy/log/test.log +329 -0
- data/test/dummy/tmp/cache/assets/CBD/6E0/sprockets%2F3293dfc0984076f0e8371a9e7640f4a8 +0 -0
- data/test/dummy/tmp/cache/assets/CD0/FC0/sprockets%2Fbb2777627d42a216f3d9ced4322040b3 +0 -0
- data/test/dummy/tmp/cache/assets/CFA/E30/sprockets%2F35be1d26565dc0310c29f1a5e2f62f10 +0 -0
- data/test/dummy/tmp/cache/assets/D1D/FD0/sprockets%2Fa4a5ffe670666ce3d8d59179905201ef +0 -0
- data/test/dummy/tmp/cache/assets/D21/6B0/sprockets%2F9e242803fe56d6305274ff7e6487deda +0 -0
- data/test/dummy/tmp/cache/assets/D22/980/sprockets%2Fce6aa94ad2bc107104c0540f62c5128c +0 -0
- data/test/dummy/tmp/cache/assets/D3E/380/sprockets%2F434d98c8380bb9daf43810155aaf68ba +0 -0
- data/test/dummy/tmp/cache/assets/D66/940/sprockets%2F6151175b6ad4f9bab0c7e2b508e7b70f +0 -0
- data/test/dummy/tmp/cache/assets/D69/710/sprockets%2Ff67078d4b979a58c97feede196f6b385 +0 -0
- data/test/dummy/tmp/cache/assets/D95/C40/sprockets%2F09cb0a274209abf0391cbfce6ee67b82 +0 -0
- data/test/dummy/tmp/cache/assets/D9B/A30/sprockets%2Fc3436b3fe5da7c2456f26e2ae36da6c5 +0 -0
- data/test/dummy/tmp/cache/assets/D9F/400/sprockets%2F7f60332f86073dc8ed80b4c2a9dfcbe1 +0 -0
- data/test/dummy/tmp/cache/assets/DAE/8C0/sprockets%2Fa9b8f7bc5ca2efe658a13d7f4609c729 +0 -0
- data/test/dummy/tmp/cache/assets/DB3/0C0/sprockets%2F689fb998e2a7add3e00db88df254c87a +0 -0
- data/test/dummy/tmp/cache/assets/DD4/440/sprockets%2Fa33d646ac00d8bc87a4a496af6eed96f +0 -0
- data/test/dummy/tmp/cache/assets/DDB/890/sprockets%2F5ed566ca9fafd1b82373ffea2a8d8681 +0 -0
- data/test/models/console_session_test.rb +16 -75
- data/test/web_console/slave_test.rb +53 -0
- data/test/web_console_test.rb +51 -11
- data/vendor/assets/javascripts/vt100.js +4408 -0
- data/vendor/assets/stylesheets/vt100.css +272 -0
- metadata +23 -42
- data/lib/web_console/fiber.rb +0 -48
- data/lib/web_console/repl.rb +0 -59
- data/lib/web_console/repl/dummy.rb +0 -38
- data/lib/web_console/repl/irb.rb +0 -62
- data/lib/web_console/stream.rb +0 -30
- data/test/web_console/repl/dummy_test.rb +0 -54
- data/test/web_console/repl/irb_test.rb +0 -156
- data/test/web_console/repl_test.rb +0 -15
- data/vendor/assets/javascripts/jquery.console.js +0 -727
data/test/dummy/log/test.log
CHANGED
@@ -2120,3 +2120,332 @@ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
|
|
2120
2120
|
[1m[35m (0.0ms)[0m rollback transaction
|
2121
2121
|
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2122
2122
|
[1m[35m (0.0ms)[0m rollback transaction
|
2123
|
+
Connecting to database specified by database.yml
|
2124
|
+
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
2125
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2126
|
+
[1m[36m (33.5ms)[0m [1mbegin transaction[0m
|
2127
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2128
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2129
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2130
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2131
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2132
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2133
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2134
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2135
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2136
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2137
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2138
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2139
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2140
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2141
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2142
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2143
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2144
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2145
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2146
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2147
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2148
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2149
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2150
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2151
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2152
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2153
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2154
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2155
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2156
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2157
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2158
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2159
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2160
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2161
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2162
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2163
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2164
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2165
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2166
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2167
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2168
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2169
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2170
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2171
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2172
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2173
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2174
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2175
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2176
|
+
Completed 200 OK in 13ms (Views: 12.1ms | ActiveRecord: 0.0ms)
|
2177
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2178
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2179
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2180
|
+
Completed 200 OK in 2ms (Views: 2.0ms | ActiveRecord: 0.0ms)
|
2181
|
+
Processing by WebConsole::ConsoleSessionsController#pending_output as HTML
|
2182
|
+
Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
|
2183
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2184
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2185
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2186
|
+
Completed 200 OK in 2ms (Views: 1.9ms | ActiveRecord: 0.0ms)
|
2187
|
+
Processing by WebConsole::ConsoleSessionsController#input as HTML
|
2188
|
+
Unpermitted parameters: id
|
2189
|
+
Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.0ms)
|
2190
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2191
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2192
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2193
|
+
Completed 200 OK in 3ms (Views: 2.9ms | ActiveRecord: 0.0ms)
|
2194
|
+
Processing by WebConsole::ConsoleSessionsController#input as HTML
|
2195
|
+
Unpermitted parameters: id
|
2196
|
+
Completed 422 Unprocessable Entity in 1ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
2197
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2198
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2199
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2200
|
+
Completed 200 OK in 2ms (Views: 2.1ms | ActiveRecord: 0.0ms)
|
2201
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2202
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2203
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2204
|
+
Filter chain halted as :prevent_unauthorized_requests! rendered or redirected
|
2205
|
+
Completed 401 Unauthorized in 1ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
2206
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2207
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2208
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2209
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2210
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2211
|
+
Completed 200 OK in 2ms (Views: 2.0ms | ActiveRecord: 0.0ms)
|
2212
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2213
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2214
|
+
[1m[35m (0.2ms)[0m begin transaction
|
2215
|
+
SQLite3::SQLException: cannot start a transaction within a transaction: begin transaction
|
2216
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2217
|
+
SQLite3::SQLException: cannot start a transaction within a transaction: begin transaction
|
2218
|
+
[1m[35m (0.1ms)[0m begin transaction
|
2219
|
+
SQLite3::SQLException: cannot start a transaction within a transaction: begin transaction
|
2220
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2221
|
+
SQLite3::SQLException: cannot start a transaction within a transaction: begin transaction
|
2222
|
+
[1m[35m (0.1ms)[0m begin transaction
|
2223
|
+
SQLite3::SQLException: cannot start a transaction within a transaction: begin transaction
|
2224
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2225
|
+
SQLite3::SQLException: cannot start a transaction within a transaction: begin transaction
|
2226
|
+
[1m[35m (0.1ms)[0m begin transaction
|
2227
|
+
SQLite3::SQLException: cannot start a transaction within a transaction: begin transaction
|
2228
|
+
[1m[36m (0.2ms)[0m [1mbegin transaction[0m
|
2229
|
+
SQLite3::SQLException: cannot start a transaction within a transaction: begin transaction
|
2230
|
+
[1m[35m (0.2ms)[0m begin transaction
|
2231
|
+
SQLite3::SQLException: cannot start a transaction within a transaction: begin transaction
|
2232
|
+
Connecting to database specified by database.yml
|
2233
|
+
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
2234
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2235
|
+
[1m[36m (34.3ms)[0m [1mbegin transaction[0m
|
2236
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2237
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2238
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2239
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2240
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2241
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2242
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2243
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2244
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2245
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2246
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2247
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2248
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2249
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2250
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2251
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2252
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2253
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2254
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2255
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2256
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2257
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2258
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2259
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2260
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2261
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2262
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2263
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2264
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2265
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2266
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2267
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2268
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2269
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2270
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2271
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2272
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2273
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2274
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2275
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2276
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2277
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2278
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2279
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2280
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2281
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2282
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2283
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2284
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2285
|
+
Completed 200 OK in 11ms (Views: 9.8ms | ActiveRecord: 0.0ms)
|
2286
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2287
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2288
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2289
|
+
Completed 200 OK in 2ms (Views: 2.1ms | ActiveRecord: 0.0ms)
|
2290
|
+
Processing by WebConsole::ConsoleSessionsController#pending_output as HTML
|
2291
|
+
Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
|
2292
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2293
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2294
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2295
|
+
Completed 200 OK in 2ms (Views: 2.0ms | ActiveRecord: 0.0ms)
|
2296
|
+
Processing by WebConsole::ConsoleSessionsController#input as HTML
|
2297
|
+
Unpermitted parameters: id
|
2298
|
+
Completed 200 OK in 1ms (Views: 0.8ms | ActiveRecord: 0.0ms)
|
2299
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2300
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2301
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2302
|
+
Completed 200 OK in 3ms (Views: 2.8ms | ActiveRecord: 0.0ms)
|
2303
|
+
Processing by WebConsole::ConsoleSessionsController#input as HTML
|
2304
|
+
Unpermitted parameters: id
|
2305
|
+
Completed 422 Unprocessable Entity in 1ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
2306
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2307
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2308
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2309
|
+
Completed 200 OK in 2ms (Views: 2.0ms | ActiveRecord: 0.0ms)
|
2310
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2311
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2312
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2313
|
+
Filter chain halted as :prevent_unauthorized_requests! rendered or redirected
|
2314
|
+
Completed 401 Unauthorized in 1ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
2315
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2316
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2317
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2318
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2319
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2320
|
+
Completed 200 OK in 2ms (Views: 2.0ms | ActiveRecord: 0.0ms)
|
2321
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2322
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2323
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2324
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2325
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2326
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2327
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2328
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2329
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2330
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2331
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2332
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2333
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2334
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2335
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2336
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2337
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2338
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2339
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2340
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2341
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2342
|
+
Connecting to database specified by database.yml
|
2343
|
+
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
2344
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2345
|
+
[1m[36m (33.8ms)[0m [1mbegin transaction[0m
|
2346
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2347
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2348
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2349
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2350
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2351
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2352
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2353
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2354
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2355
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2356
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2357
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2358
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2359
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2360
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2361
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2362
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2363
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2364
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2365
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2366
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2367
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2368
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2369
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2370
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2371
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2372
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2373
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2374
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2375
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2376
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2377
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2378
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2379
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2380
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2381
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2382
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2383
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2384
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2385
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2386
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2387
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2388
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2389
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2390
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2391
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2392
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2393
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2394
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2395
|
+
Completed 200 OK in 11ms (Views: 10.1ms | ActiveRecord: 0.0ms)
|
2396
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2397
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2398
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2399
|
+
Completed 200 OK in 2ms (Views: 2.0ms | ActiveRecord: 0.0ms)
|
2400
|
+
Processing by WebConsole::ConsoleSessionsController#pending_output as HTML
|
2401
|
+
Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
|
2402
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2403
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2404
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2405
|
+
Completed 200 OK in 2ms (Views: 2.0ms | ActiveRecord: 0.0ms)
|
2406
|
+
Processing by WebConsole::ConsoleSessionsController#input as HTML
|
2407
|
+
Unpermitted parameters: id
|
2408
|
+
Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.0ms)
|
2409
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2410
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2411
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2412
|
+
Completed 200 OK in 3ms (Views: 2.9ms | ActiveRecord: 0.0ms)
|
2413
|
+
Processing by WebConsole::ConsoleSessionsController#input as HTML
|
2414
|
+
Unpermitted parameters: id
|
2415
|
+
Completed 422 Unprocessable Entity in 1ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
2416
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2417
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2418
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2419
|
+
Completed 200 OK in 2ms (Views: 2.1ms | ActiveRecord: 0.0ms)
|
2420
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2421
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2422
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2423
|
+
Filter chain halted as :prevent_unauthorized_requests! rendered or redirected
|
2424
|
+
Completed 401 Unauthorized in 1ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
2425
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2426
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2427
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2428
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2429
|
+
Processing by WebConsole::ConsoleSessionsController#index as HTML
|
2430
|
+
Completed 200 OK in 3ms (Views: 2.2ms | ActiveRecord: 0.0ms)
|
2431
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
2432
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
2433
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2434
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2435
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2436
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2437
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2438
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2439
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2440
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2441
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2442
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2443
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2444
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2445
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2446
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2447
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2448
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2449
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
2450
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
2451
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -5,72 +5,40 @@ module WebConsole
|
|
5
5
|
include ActiveModel::Lint::Tests
|
6
6
|
|
7
7
|
setup do
|
8
|
-
|
9
|
-
|
10
|
-
@
|
8
|
+
PTY.stubs(:spawn).returns([String.new, String.new, Random.rand(20000)])
|
9
|
+
ConsoleSession::INMEMORY_STORAGE.clear
|
10
|
+
@model1 = @model = ConsoleSession.new
|
11
|
+
@model2 = ConsoleSession.new
|
11
12
|
end
|
12
13
|
|
13
|
-
test '
|
14
|
-
|
15
|
-
assert_equal 2, @model2.id
|
16
|
-
end
|
17
|
-
|
18
|
-
test 'populates output on save' do
|
19
|
-
model = new_model
|
20
|
-
assert_nil model.output
|
21
|
-
model.save(input: 'puts "foo"')
|
22
|
-
assert_match %r{foo}, model.output
|
23
|
-
end
|
24
|
-
|
25
|
-
test 'populates prompt on save' do
|
26
|
-
assert_not_nil @model.prompt
|
27
|
-
end
|
28
|
-
|
29
|
-
test 'preserved models can be found' do
|
30
|
-
id = @model.tap(&:save).id
|
31
|
-
assert_equal @model, ConsoleSession.find(id)
|
32
|
-
end
|
33
|
-
|
34
|
-
test 'trying to find a model fails if no longer in storage' do
|
35
|
-
assert_raises(ConsoleSession::NotFound) { ConsoleSession.find(0) }
|
14
|
+
test 'raises ConsoleSession::NotFound on not found sessions' do
|
15
|
+
assert_raises(ConsoleSession::NotFound) { ConsoleSession.find(-1) }
|
36
16
|
end
|
37
17
|
|
38
18
|
test 'find coerces ids' do
|
39
|
-
|
40
|
-
assert_equal @model, ConsoleSession.find("#{id}")
|
19
|
+
assert_equal @model.persist, ConsoleSession.find("#{@model.pid}")
|
41
20
|
end
|
42
21
|
|
43
22
|
test 'not found exceptions are json serializable' do
|
44
|
-
exception = assert_raises(ConsoleSession::NotFound)
|
45
|
-
ConsoleSession.find(0)
|
46
|
-
end
|
23
|
+
exception = assert_raises(ConsoleSession::NotFound) { ConsoleSession.find(-1) }
|
47
24
|
assert_equal '{"error":"Session unavailable"}', exception.to_json
|
48
25
|
end
|
49
26
|
|
27
|
+
test 'can be used as slave as the methods are delegated' do
|
28
|
+
slave_methods = Slave.instance_methods - @model.methods
|
29
|
+
slave_methods.each { |method| assert @model.respond_to?(method) }
|
30
|
+
end
|
31
|
+
|
50
32
|
test 'persisted models knows that they are in memory' do
|
51
33
|
refute @model.persisted?
|
52
|
-
@model.
|
34
|
+
@model.persist
|
53
35
|
assert @model.persisted?
|
54
36
|
end
|
55
37
|
|
56
38
|
test 'persisted models knows about their keys' do
|
57
39
|
assert_nil @model.to_key
|
58
|
-
@model.
|
59
|
-
|
60
|
-
end
|
61
|
-
|
62
|
-
test 'supports json serialization' do
|
63
|
-
rails3 = Rails::VERSION::MAJOR == 3
|
64
|
-
|
65
|
-
with_dummy_adapter do
|
66
|
-
model = new_model
|
67
|
-
expected_nil_json = "{\"id\":3,\"input\":null,\"output\":null,\"prompt\":\"#{rails3 ? ">>" : "\\u003E\\u003E"} \"}"
|
68
|
-
assert_equal expected_nil_json, model.to_json
|
69
|
-
|
70
|
-
model.save(input: 'puts "foo"')
|
71
|
-
expected_json = "{\"id\":3,\"input\":\"puts \\\"foo\\\"\",\"output\":\"foo\\n=#{rails3 ? ">" : "\\u003E"} nil\\n\",\"prompt\":\"#{rails3 ? ">>" : "\\u003E\\u003E"} \"}"
|
72
|
-
assert_equal expected_json, model.to_json
|
73
|
-
end
|
40
|
+
@model.persist
|
41
|
+
assert_not_nil @model.to_key
|
74
42
|
end
|
75
43
|
|
76
44
|
test 'create gives already persisted models' do
|
@@ -80,32 +48,5 @@ module WebConsole
|
|
80
48
|
test 'no gives not persisted models' do
|
81
49
|
refute ConsoleSession.new.persisted?
|
82
50
|
end
|
83
|
-
|
84
|
-
private
|
85
|
-
def new_model(attributes = {})
|
86
|
-
ConsoleSession.new(attributes)
|
87
|
-
end
|
88
|
-
|
89
|
-
def new_valid_model(attributes = {})
|
90
|
-
attributes.merge!(input: 'puts "foo"') unless attributes[:input].present?
|
91
|
-
new_model(attributes)
|
92
|
-
end
|
93
|
-
|
94
|
-
def reset_persistent_storage!
|
95
|
-
ConsoleSession::INMEMORY_STORAGE.clear
|
96
|
-
ConsoleSession.class_variable_set(:@@counter, 0)
|
97
|
-
end
|
98
|
-
|
99
|
-
def with_dummy_adapter
|
100
|
-
previous_method = WebConsole::REPL.method(:default)
|
101
|
-
WebConsole::REPL.module_eval do
|
102
|
-
define_singleton_method(:default) { WebConsole::REPL::Dummy }
|
103
|
-
end
|
104
|
-
yield
|
105
|
-
ensure
|
106
|
-
WebConsole::REPL.module_eval do
|
107
|
-
define_singleton_method(:default, &previous_method)
|
108
|
-
end
|
109
|
-
end
|
110
51
|
end
|
111
52
|
end
|