From 60a0ca0807e30688b4823cae18bcb48791536d46 Mon Sep 17 00:00:00 2001 From: nomad Date: Fri, 3 Apr 2020 14:58:39 +1000 Subject: [PATCH] Added basic websocket tests --- .bundle/config | 4 +-- Gemfile | 1 + spec/beef/extensions/websocket_spec.rb | 35 ++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 spec/beef/extensions/websocket_spec.rb diff --git a/.bundle/config b/.bundle/config index e540b5346..e7db70bb4 100644 --- a/.bundle/config +++ b/.bundle/config @@ -1,3 +1,3 @@ --- -BUNDLE_WITHOUT: "test:development" -BUNDLE_WITH: "tests" +BUNDLE_WITHOUT: "development" +BUNDLE_WITH: "test:tests" diff --git a/Gemfile b/Gemfile index 3096ae9e9..0117ced97 100644 --- a/Gemfile +++ b/Gemfile @@ -81,6 +81,7 @@ group :test do gem 'rest-client', '>= 2.0.1' gem 'irb' gem 'pry-byebug' + gem 'em-websocket-client' end source 'https://rubygems.org' diff --git a/spec/beef/extensions/websocket_spec.rb b/spec/beef/extensions/websocket_spec.rb new file mode 100644 index 000000000..5111a9418 --- /dev/null +++ b/spec/beef/extensions/websocket_spec.rb @@ -0,0 +1,35 @@ +require 'rest-client' +require 'core/main/network_stack/websocket/websocket' +require 'em-websocket-client' + +RSpec.describe 'BeEF Extension WebSockets' do + + before(:all) do + @config = BeEF::Core::Configuration.instance + @cert_key = @config.get('beef.http.https.key') + @cert = @config.get('beef.http.https.cert') + @port = @config.get('beef.http.websocket.port') + @secure_port = @config.get('beef.http.websocket.secure_port') + end + + it 'Create Websocket Server' do + ws = BeEF::Core::Websocket::Websocket.instance + server= ws.start_websocket_server(:host => '127.0.0.1', + :port => @port , + :secure => false) + expect(server).to be_a_kind_of(Thread) + end + + it 'Create Websocket Secure Server' do + ws = BeEF::Core::Websocket::Websocket.instance + server= ws.start_websocket_server(:host => '127.0.0.1', + :port => @secure_port , + :secure => true, + :tls_options => { + :cert_chain_file => @cert, + :private_key_file => @cert_key + }) + expect(server).to be_a_kind_of(Thread) + end + +end