Add tests for BrowserDetails model
This commit is contained in:
54
test/unit/core/main/models/tc_browserdetails.rb
Normal file
54
test/unit/core/main/models/tc_browserdetails.rb
Normal file
@@ -0,0 +1,54 @@
|
||||
#
|
||||
# Copyright (c) 2006-2017 Wade Alcorn - wade@bindshell.net
|
||||
# Browser Exploitation Framework (BeEF) - http://beefproject.com
|
||||
# See the file 'doc/COPYING' for copying permission
|
||||
#
|
||||
require 'test/unit'
|
||||
|
||||
class TC_BrowserDetails < Test::Unit::TestCase
|
||||
|
||||
def setup
|
||||
$:.unshift(File.join(File.expand_path(File.dirname(__FILE__)), '.'))
|
||||
$root_dir = File.expand_path('../../../../', __FILE__)
|
||||
|
||||
@session = (0...10).map { ('a'..'z').to_a[rand(26)] }.join
|
||||
end
|
||||
|
||||
def shutdown
|
||||
$root_dir = nil
|
||||
end
|
||||
|
||||
# Connects to in-memory database (does not test anything)
|
||||
def test_01_database
|
||||
DataMapper.setup(:default, 'sqlite3::memory:')
|
||||
DataMapper.auto_migrate!
|
||||
end
|
||||
|
||||
# Tests nil key value returns empty string
|
||||
def test_02_set_nil_values
|
||||
key_value = nil
|
||||
BeEF::Core::Models::BrowserDetails.set(@session, 'key_with_nil_value', key_value).to_s
|
||||
assert_equal '', BeEF::Core::Models::BrowserDetails.get(@session, 'key_with_nil_valule').to_s
|
||||
end
|
||||
|
||||
# Tests get/set browser details
|
||||
def test_03_set_browser_details
|
||||
key_name = (0...10).map { ('a'..'z').to_a[rand(26)] }.join
|
||||
key_value = (0...10).map { ('a'..'z').to_a[rand(26)] }.join
|
||||
BeEF::Core::Models::BrowserDetails.set(@session, key_name, key_value).to_s
|
||||
assert_equal key_value, BeEF::Core::Models::BrowserDetails.get(@session, key_name).to_s
|
||||
end
|
||||
|
||||
# Tests updating browser details
|
||||
def test_04_update_browser_details
|
||||
key_name = (0...10).map { ('a'..'z').to_a[rand(26)] }.join
|
||||
|
||||
key_value = (0...10).map { ('a'..'z').to_a[rand(26)] }.join
|
||||
BeEF::Core::Models::BrowserDetails.set(@session, key_name, key_value).to_s
|
||||
assert_equal key_value, BeEF::Core::Models::BrowserDetails.get(@session, key_name).to_s
|
||||
|
||||
key_value = (0...10).map { ('a'..'z').to_a[rand(26)] }.join
|
||||
BeEF::Core::Models::BrowserDetails.set(@session, key_name, key_value).to_s
|
||||
assert_equal key_value, BeEF::Core::Models::BrowserDetails.get(@session, key_name).to_s
|
||||
end
|
||||
end
|
||||
@@ -21,6 +21,7 @@ require './core/tc_social_engineering'
|
||||
require './core/tc_autorun'
|
||||
require './core/tc_obfuscation'
|
||||
require './core/tc_logger'
|
||||
require './core/main/models/tc_browserdetails'
|
||||
require './extensions/tc_xssrays'
|
||||
require './extensions/tc_ipec_tunnel'
|
||||
require './extensions/tc_hooks'
|
||||
@@ -60,6 +61,7 @@ class TS_BeefTests
|
||||
suite << TC_Network.suite
|
||||
suite << TC_Qrcode.suite
|
||||
suite << TC_Hooks.suite
|
||||
suite << TC_BrowserDetails.suite
|
||||
suite << TC_Redirector.suite
|
||||
suite << TC_DynamicReconstruction.suite
|
||||
suite << TC_Console.suite
|
||||
|
||||
Reference in New Issue
Block a user