diff --git a/test/integration/check_environment.rb b/test/integration/check_environment.rb new file mode 100644 index 000000000..3594ba117 --- /dev/null +++ b/test/integration/check_environment.rb @@ -0,0 +1,10 @@ +require 'test/unit' + +class TC_CheckEnvironment < Test::Unit::TestCase + + def test_check_env + # Add environment checks here + + end + +end \ No newline at end of file diff --git a/test/integration/tc_login.rb b/test/integration/tc_login.rb new file mode 100644 index 000000000..80886061b --- /dev/null +++ b/test/integration/tc_login.rb @@ -0,0 +1,33 @@ +require 'test/unit' + +class TC_login < Test::Unit::TestCase + include Capybara::DSL + + def teardown + Capybara.reset_sessions! + Capybara.use_default_driver + end + + def test_log_in + session = Capybara::Session.new(:selenium) + session.visit('http://localhost:3000/ui/panel') + session.has_content?('BeEF Authentication') + session.fill_in 'user', :with => 'beef' + session.fill_in 'pass', :with => 'beef' + session.click_button('Login') + session.has_content?('logout') + + session + end + + + def test_log_out + session = test_log_in + session.has_content?('logout') + session.click_link('Logout') + session.has_content?('BeEF Authentication') + + session + end + +end \ No newline at end of file diff --git a/test/integration/ts_integration.rb b/test/integration/ts_integration.rb new file mode 100644 index 000000000..bd5859494 --- /dev/null +++ b/test/integration/ts_integration.rb @@ -0,0 +1,41 @@ +# +# Copyright 2012 Wade Alcorn wade@bindshell.net +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Common lib for BeEF tests +require '../common/ts_common' + +require 'capybara/DSL' +Capybara.run_server = false # we need to run our own BeEF server + +require 'selenium/webdriver' +require "selenium" + +require './check_environment' # Basic log in and log out tests +require './tc_login' # Basic log in and log out tests + +class TS_BeefIntegrationTests + def self.suite + + suite = Test::Unit::TestSuite.new(name="BeEF Integration TestSuite") + suite << TC_CheckEnvironment.suite + suite << TC_login.suite + + return suite + end +end + +Test::Unit::UI::Console::TestRunner.run(TS_BeefIntegrationTests) +