web-console-rails3 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|