Files
fizzy/test/controllers/allow_browser_test.rb
T
Mike Dalessio 0bf62ba4cf Update to basecamp's useragent fork
and assert it's working by testing for Baidu
2025-11-25 16:18:23 -05:00

45 lines
1.2 KiB
Ruby

require "test_helper"
class AllowBrowserTest < ActionDispatch::IntegrationTest
test "Baidu browser is allowed" do
sign_in_as :kevin
get cards_path, headers: {
"User-Agent" => "Mozilla/5.0 (Linux; Android 7.0; HUAWEI NXT-AL10 Build/HUAWEINXT-AL10; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.2564.116 Mobile Safari/537.36 baidubrowser/7.9.12.0 (Baidu; P1 7.0)NULL"
}
assert_response :success
end
test "nonsense user agent with bot in name is allowed" do
sign_in_as :kevin
get cards_path, headers: {
"User-Agent" => "TotallyFakeBot/1.0 (NonsenseBrowser; Testing)"
}
assert_response :success
end
test "nonsense user agent is allowed" do
sign_in_as :kevin
get cards_path, headers: {
"User-Agent" => "just some random nonsense text"
}
assert_response :success
end
test "old Chrome browser is rejected with 406" do
sign_in_as :kevin
# Chrome 118 is below the modern threshold of Chrome 120
get cards_path, headers: {
"User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118 Safari/537.36"
}
assert_response :not_acceptable
end
end