test/cuba.rb in shield-0.1.0 vs test/cuba.rb in shield-1.0.0.rc1
- old
+ new
@@ -1,29 +1,32 @@
require File.expand_path("helper", File.dirname(__FILE__))
require File.expand_path("user", File.dirname(__FILE__))
Cuba.use Rack::Session::Cookie
+Cuba.use Shield::Middleware
Cuba.plugin Shield::Helpers
Cuba.define do
on get, "public" do
res.write "Public"
end
on get, "private" do
- ensure_authenticated(User)
-
- res.write "Private"
+ if authenticated(User)
+ res.write "Private"
+ else
+ res.status = 401
+ end
end
on get, "login" do
res.write "Login"
end
on post, "login", param("login"), param("password") do |u, p|
if login(User, u, p, req[:remember_me])
- res.redirect(session[:return_to] || "/")
+ res.redirect(req[:return] || "/")
else
res.redirect "/login"
end
end
@@ -48,14 +51,14 @@
end
test "successful logging in" do
get "/private"
- assert_redirected_to "/login"
- assert "/private" == session[:return_to]
+ assert_equal "/login?return=%2Fprivate", redirection_url
- post "/login", :login => "quentin", :password => "password"
+ post "/login", login: "quentin", password: "password", return: "/private"
+
assert_redirected_to "/private"
assert 1001 == session["User"]
end
@@ -70,10 +73,9 @@
post "/login", :login => "quentin", :password => "password"
get "/logout"
assert nil == session["User"]
- assert nil == session[:return_to]
end
test "remember functionality" do
post "/login", :login => "quentin", :password => "password", :remember_me => "1"