Remove jools library (#2790)

This commit is contained in:
bcoles
2023-04-03 01:48:04 +10:00
committed by GitHub
parent 996edf9ed8
commit cc56090ba4
5 changed files with 1 additions and 1666 deletions

View File

@@ -1,116 +0,0 @@
#
# Copyright (c) 2006-2023 Wade Alcorn - wade@bindshell.net
# Browser Exploitation Framework (BeEF) - http://beefproject.com
# See the file 'doc/COPYING' for copying permission
#
require 'test/unit'
require '../common/beef_test'
require '../common/test_constants'
class TC_Jools < Test::Unit::TestCase
#test jools can be acces and a new object can be instantiated
def test_jools_exists
victim = BeefTest.new_victim
script = "return require('jools');"
jools = victim.execute_script(script)
assert_not_nil jools
script = "var Jools = require('jools');
return new Jools([]);"
jools_obj = victim.execute_script(script)
assert_not_nil jools_obj
victim.driver.browser.close
end
#test simple jools rule example
def test_jools_simple
victim = BeefTest.new_victim
script = " var Jools = require('jools');
var rules = [{
'name':'Lights on after 8pm',
'condition': function(hour){
return hour >= 8;
},
'consequence': function(){
this.state = 'on';
}
}];
var fact = {
'hour':8,
'minute':21
};
var j = new Jools(rules);
var result = j.execute(fact);
return result.state;"
result = victim.execute_script(script)
assert_equal 'on',result
victim.driver.browser.close
end
#test jools chaining example
def test_jools_chaning
victim = BeefTest.new_victim
script = " var Jools = require('jools');
var rules = [
{'name':'frog is green',
'condition': function(animal){
return animal == 'frog';
},
'consequence': function(){
this.color = 'green';
}},
{'name':'canary is yellow',
'condition': function(animal){
return animal == 'canary';
},
'consequence': function(){
this.color = 'yellow';
}},
{'name':'croaks and eats flies',
'condition' : function(eats){
return eats && eats.indexOf('croaks') >= 0 && eats.indexOf('flies') >=0;
},
'consequence': function(){
this.animal = 'frog';
}},
{'name':'chirps and sings',
'condition' : function(does){
return does && does.indexOf('chirps') >= 0 && does.indexOf('sings') >=0;
},
'consequence': function(){
this.animal = 'canary';
}}
];
var fact_1 = {
'name':'fritz',
'eats': ['croaks','flies']
};
var fact_2 = {
'name':'fritz',
'eats': ['croaks','rocks']
};
var fact_3 = {
'name':'tweety',
'does': ['sings','chirps']
};
var fact_4 = {
'name':'tweety',
'does': ['chrips','howls']
};
var j = new Jools(rules);
var results = [];
results.push(j.execute(fact_1));
results.push(j.execute(fact_2));
results.push(j.execute(fact_3));
results.push(j.execute(fact_4));
return results;"
results = victim.execute_script(script)
assert_not_nil results
assert_equal 'green',results[0]['color']
assert_not_equal results[1]['color'], 'green'
assert_equal 'yellow',results[2]['color']
assert_not_equal results[3]['color'], 'yellow'
victim.driver.browser.close
end
end

View File

@@ -21,7 +21,6 @@ require './tc_network_rest' # Basic tests for Network extension RESTful API inte
require '../api/1333_auth_rate' # API rate testing issue #1333'
# Experimental extensions
#require './tc_jools' # Basic tests for jools
#require './tc_dns_rest' # Basic tests for DNS RESTful API interface
#require './tc_webrtc_rest' # Basic tests for WebRTC extension
#require './tc_social_engineering_rest' # Basic tests for social engineering RESTful API interface