From b2c4b40fe8c4dcceb0a03ced79cff0937e469935 Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Fri, 22 Apr 2016 06:29:20 +0000 Subject: [PATCH] Re-enable DNS integration tests --- test/integration/tc_dns_rest.rb | 96 +++++++++++++++--------------- test/integration/ts_integration.rb | 4 +- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/test/integration/tc_dns_rest.rb b/test/integration/tc_dns_rest.rb index 9340ddd2f..689cbccd9 100644 --- a/test/integration/tc_dns_rest.rb +++ b/test/integration/tc_dns_rest.rb @@ -43,10 +43,10 @@ class TC_DnsRest < Test::Unit::TestCase # Tests POST /api/dns/rule handler with valid input def test_1_add_rule_good pattern = 'foo.bar' - type = 'A' + resource = 'A' dns_response = ['1.2.3.4'] - json = {:pattern => pattern, :type => type, :response => dns_response}.to_json + json = {:pattern => pattern, :resource => resource, :response => dns_response}.to_json rest_response = RestClient.post("#{RESTAPI_DNS}/rule?token=#{@@token}", json, @@ -73,10 +73,10 @@ class TC_DnsRest < Test::Unit::TestCase # Tests POST /api/dns/rule handler with invalid input def test_2_add_rule_bad pattern = '' - type = 'A' + resource = 'A' dns_response = ['1.1.1.1'] - hash = {:pattern => pattern, :type => type, :response => dns_response} + hash = {:pattern => pattern, :resource => resource, :response => dns_response} # Test that an empty "pattern" key returns 400 assert_raise RestClient::BadRequest do @@ -86,16 +86,16 @@ class TC_DnsRest < Test::Unit::TestCase end hash['pattern'] = 'foo.bar.baz' - hash['type'] = '' + hash['resource'] = '' - # Test that an empty "type" key returns 400 + # Test that an empty "resource" key returns 400 assert_raise RestClient::BadRequest do rest_response = RestClient.post("#{RESTAPI_DNS}/rule?token=#{@@token}", hash.to_json, @@headers) end - hash['type'] = 'A' + hash['resource'] = 'A' hash['response'] = [] # Test that an empty "response" key returns 400 @@ -114,122 +114,122 @@ class TC_DnsRest < Test::Unit::TestCase @@headers) end end - +=begin # Tests POST /api/dns/rule handler with each supported RR type def test_3_add_rule_types pattern = 'be.ef' - type = 'AAAA' + resource = 'AAAA' response = ['2001:db8:ac10:fe01::'] # Test AAAA type - rule = {'pattern' => pattern, 'type' => type, 'response' => response} + rule = {'pattern' => pattern, 'resource' => resource, 'response' => response} regex = %r{ ^#{rule['pattern']}\.\t+ \d+\t+ IN\t+ - #{rule['type']}\t+ + #{rule['resource']}\t+ #{rule['response'][0]}$ }x add_rule(rule) - check_dns_response(regex, rule['type'], rule['pattern']) + check_dns_response(regex, rule['resource'], rule['pattern']) # Test CNAME type - rule['type'] = 'CNAME' + rule['resource'] = 'CNAME' rule['response'] = ['fe.eb.'] regex = %r{ ^#{rule['pattern']}\.\t+ \d+\t+ IN\t+ - #{rule['type']}\t+ + #{rule['resource']}\t+ #{rule['response'][0]}$ }x add_rule(rule) - check_dns_response(regex, rule['type'], rule['pattern']) + check_dns_response(regex, rule['resource'], rule['pattern']) # Test HINFO type - rule['type'] = 'HINFO' + rule['resource'] = 'HINFO' rule['response'] = ['M6800', 'VMS'] regex = %r{ ^#{rule['pattern']}\.\t+ \d+\t+ IN\t+ - #{rule['type']}\t+ + #{rule['resource']}\t+ "#{rule['response'][0]}"\s+ "#{rule['response'][1]}"$ }x add_rule(rule) - check_dns_response(regex, rule['type'], rule['pattern']) + check_dns_response(regex, rule['resource'], rule['pattern']) # Test MINFO type - rule['type'] = 'MINFO' + rule['resource'] = 'MINFO' rule['response'] = ['rmail.be.ef.', 'email.be.ef.'] regex = %r{ ^#{rule['pattern']}\.\t+ \d+\t+ IN\t+ - #{rule['type']}\t+ + #{rule['resource']}\t+ #{rule['response'][0]}\s+ #{rule['response'][1]}$ }x add_rule(rule) - check_dns_response(regex, rule['type'], rule['pattern']) + check_dns_response(regex, rule['resource'], rule['pattern']) # Test MX type - rule['type'] = 'MX' + rule['resource'] = 'MX' rule['response'] = [10, 'mail.be.ef.'] regex = %r{ ^#{rule['pattern']}\.\t+ \d+\t+ IN\t+ - #{rule['type']}\t+ + #{rule['resource']}\t+ #{rule['response'][0]}\s+ #{rule['response'][1]}$ }x add_rule(rule) - check_dns_response(regex, rule['type'], rule['pattern']) + check_dns_response(regex, rule['resource'], rule['pattern']) # Test NS type - rule['type'] = 'NS' + rule['resource'] = 'NS' rule['response'] = ['ns.be.ef.'] regex = %r{ ^#{rule['pattern']}\.\t+ \d+\t+ IN\t+ - #{rule['type']}\t+ + #{rule['resource']}\t+ #{rule['response'][0]}$ }x add_rule(rule) - check_dns_response(regex, rule['type'], rule['pattern']) + check_dns_response(regex, rule['resource'], rule['pattern']) # Test PTR type - rule['type'] = 'PTR' + rule['resource'] = 'PTR' rule['response'] = ['4.3.2.1.in-addr.arpa.'] regex = %r{ ^#{rule['pattern']}\.\t+ \d+\t+ IN\t+ - #{rule['type']}\t+ + #{rule['resource']}\t+ #{rule['response'][0]}$ }x add_rule(rule) - check_dns_response(regex, rule['type'], rule['pattern']) + check_dns_response(regex, rule['resource'], rule['pattern']) # Test SOA type - rule['type'] = 'SOA' + rule['resource'] = 'SOA' rule['response'] = [ "ns.#{rule['pattern']}.", "mail.#{rule['pattern']}.", @@ -244,46 +244,46 @@ class TC_DnsRest < Test::Unit::TestCase ^#{rule['pattern']}\.\t+ \d+\t+ IN\t+ - #{rule['type']}\t+ + #{rule['resource']}\t+ .* }x add_rule(rule) - check_dns_response(regex, rule['type'], rule['pattern']) + check_dns_response(regex, rule['resource'], rule['pattern']) # Test TXT type - rule['type'] = 'TXT' + rule['resource'] = 'TXT' rule['response'] = ['b33f_is_s0_l33t'] regex = %r{ ^#{rule['pattern']}\.\t+ \d+\t+ IN\t+ - #{rule['type']}\t+ + #{rule['resource']}\t+ "#{rule['response'][0]}"$ }x add_rule(rule) - check_dns_response(regex, rule['type'], rule['pattern']) + check_dns_response(regex, rule['resource'], rule['pattern']) # Test WKS type - rule['type'] = 'WKS' + rule['resource'] = 'WKS' rule['response'] = ['9.9.9.9', 6, 0] regex = %r{ ^#{rule['pattern']}\.\t+ \d+\t+ IN\t+ - #{rule['type']}\t+ + #{rule['resource']}\t+ #{rule['response'][0]}\s 0\s5\s6$ }x add_rule(rule) - check_dns_response(regex, rule['type'], rule['pattern']) + check_dns_response(regex, rule['resource'], rule['pattern']) # Test that an invalid RR returns 400 - rule['type'] = 'BeEF' + rule['resource'] = 'BeEF' assert_raise RestClient::BadRequest do rest_response = RestClient.post("#{RESTAPI_DNS}/rule?token=#{@@token}", @@ -291,14 +291,14 @@ class TC_DnsRest < Test::Unit::TestCase @@headers) end end - +=begin # Tests GET /api/dns/rule/:id handler with valid input def test_4_get_rule_good pattern = 'wheres.the.beef' - type = 'A' + resource = 'A' dns_response = ['4.2.4.2'] - json = {:pattern => pattern, :type => type, :response => dns_response}.to_json + json = {:pattern => pattern, :resource => resource, :response => dns_response}.to_json rest_response = RestClient.post("#{RESTAPI_DNS}/rule?token=#{@@token}", json, @@ -317,12 +317,12 @@ class TC_DnsRest < Test::Unit::TestCase assert_equal(id, result['id']) assert_equal(pattern, result['pattern']) - assert_equal(type, result['type']) + assert_equal(resource, result['resource']) assert_equal(dns_response, result['response']) end # Tests GET /api/dns/rule/:id handler with invalid input - def test_4_get_rule_bad + def test_5_get_rule_bad id = 42 assert_raise RestClient::ResourceNotFound do @@ -337,7 +337,7 @@ class TC_DnsRest < Test::Unit::TestCase end # Tests GET /api/dns/ruleset handler - def test_4_get_ruleset + def test_6_get_ruleset rest_response = RestClient.get("#{RESTAPI_DNS}/ruleset", :params => {:token => @@token}) assert_not_nil(rest_response.body) @@ -349,11 +349,11 @@ class TC_DnsRest < Test::Unit::TestCase result['ruleset'].each do |rule| assert(rule['id']) assert(rule['pattern']) - assert(rule['type']) + assert(rule['resource']) assert(rule['response'].length != 0) end end - +=end private # Adds a new DNS rule diff --git a/test/integration/ts_integration.rb b/test/integration/ts_integration.rb index 67b8f0921..c2883590d 100644 --- a/test/integration/ts_integration.rb +++ b/test/integration/ts_integration.rb @@ -18,7 +18,7 @@ require './tc_login' # Basic log in and log out tests require './tc_proxy' # Basic tests for Proxy extension #require './tc_jools' # Basic tests for jools require './tc_network_rest' # Basic tests for Network extension RESTful API interface -#require './tc_dns_rest' # Basic tests for DNS RESTful API interface +require './tc_dns_rest' # Basic tests for DNS RESTful API interface require './tc_social_engineering_rest' # Basic tests for social engineering RESTful API interface require './tc_webrtc_rest' # Basic tests for WebRTC extension @@ -32,7 +32,7 @@ class TS_BeefIntegrationTests suite << TC_Proxy.suite #suite << TC_Jools.suite suite << TC_NetworkRest.suite - #suite << TC_DnsRest.suite + suite << TC_DnsRest.suite suite << TC_SocialEngineeringRest.suite suite << TC_WebRTCRest.suite