class TestActLogin
Public Instance Methods
test_open_site()
click to toggle source
# File vendor/qwik/lib/qwik/act-login.rb, line 388 def test_open_site t_add_user t_site_open # OPEN site # See FrontPage. Check login_status before login. res = session('/test/') {|req| req.cookies.clear } ok_title 'FrontPage' ok_in(['Login'], "//div[@class='adminmenu']//a") ok_in([[:a, {:href=>'.login'}, 'Login'], ["\n"], ["\n"]], "//div[@class='adminmenu']") # You can see login page before login. res = session('/test/.login') {|req| req.cookies.clear } ok_title 'Login' end
test_private_site()
click to toggle source
# File vendor/qwik/lib/qwik/act-login.rb, line 284 def test_private_site t_add_user # See FrontPage. res = session('/test/') {|req| req.cookies.clear } ok_title 'Login' ok_xp([:meta, {:content=>'1; url=/test/.login', 'http-equiv'=>'Refresh'}], '//meta[2]') # See login page. res = session('/test/.login') {|req| req.cookies.clear } ok_title 'Login' ok_xp([:input, {:istyle=>'3', :name=>'user', :class=>'focus'}], '//input') # ok_xp([:a, {:href=>'.getpass'}, [:em, 'Get Password']], '//a') assert_cookie({'user'=>'', 'pass'=>''}, @res.cookies) # Get password by e-mail. See act-getpass. # Invalid mail address res = session('/test/.login?user=test@example') {|req| req.cookies.clear } assert_text('Invalid ID (E-mail) or Password.', 'p') # Invalid password res = session('/test/.login?user=user@e.com&pass=wrongpassword') {|req| req.cookies.clear } assert_text('Invalid ID (E-mail) or Password.', 'p') # Login by GET method. Set cookies and redirect to FrontPage. res = session('/test/.login?user=user@e.com&pass=95988593') {|req| req.cookies.clear } ok_title 'Login Success' #assert_cookie({'user'=>'user@e.com', 'pass'=>'95988593'}, @res.cookies) eq 'sid', @res.cookies[0].name eq 32, @res.cookies[0].value.length #pw('//head') ok_xp([:meta, {:content=>'0; url=FrontPage.html', 'http-equiv'=>'Refresh'}], '//meta[2]') # force redirect for security reason. # Set the cookie res = session('/test/') {|req| req.cookies.update({'user'=>'user@e.com', 'pass'=>'95988593'}) } ok_title 'FrontPage' assert_cookie({'user'=>'user@e.com', 'pass'=>'95988593'}, @res.cookies) #eq 'sid', @res.cookies[0].name #eq 32, @res.cookies[0].value.length # Use POST method to set user and pass by queries. res = session('POST /test/.login?user=user@e.com&pass=95988593') {|req| req.cookies.clear } ok_title 'Login Success' eq 200, @res.status #assert_cookie({'user'=>'user@e.com', 'pass'=>'95988593'}, @res.cookies) eq 'sid', @res.cookies[0].name eq 32, @res.cookies[0].value.length ok_xp([:meta, {:content=>'0; url=FrontPage.html', 'http-equiv'=>'Refresh'}], '//meta[2]') # force redirect for security reason. # test_login_status res = session('/test/') ok_in(['user', ' | ', [:em, 'user@e.com'], ' (', [:a, {:href=>'.logout'}, 'Logout'], ')'], "//span[@class='loginstatus']") # See TextFormat res = session('/test/TextFormat.html') # See the Logout page. res = session('/test/.logout') ok_title 'Log out Confirm' ok_xp([:form, {:action=>'.logout', :method=>'POST'}, [:input, {:value=>'yes', :type=>'hidden', :name=>'confirm'}], [:input, {:value=>'Log out', :type=>'submit', :class=>'focus'}]], '//form') ok_xp([:input, {:value=>'yes', :type=>'hidden', :name=>'confirm'}], '//input') ok_xp([:input, {:value=>'Log out', :type=>'submit', :class=>'focus'}], '//input[2]') # Confirm Logout. res = session('/test/.logout?confirm=yes') ok_title 'Log out done.' assert_text('Log out done.', 'h1') ok_xp([:p, [:a, {:href=>'FrontPage.html'}, 'Go back']], "//div[@class='section']/p") assert_cookie({'user'=>'', 'pass'=>'', 'sid'=>''}, @res.cookies) #eq 'sid', @res.cookies[0].name #eq 32, @res.cookies[0].value.length end