spec/arachni/issue_spec.rb in arachni-1.0.5 vs spec/arachni/issue_spec.rb in arachni-1.0.6

- old
+ new

@@ -27,10 +27,28 @@ it 'recodes string data to UTF8' do issue.name.should == "Check name \u2713" end + describe '#recheck' do + it 'rechecks the issue' do + Arachni::Options.paths.checks = fixtures_path + '/taint_check/' + Arachni::Options.audit.elements :links, :forms, :cookies + + issue = nil + Arachni::Framework.new do |f| + f.options.url = "#{web_server_url_for( :auditor )}/link" + f.checks.load :taint + + f.run + issue = f.report.issues.first.variations.first + end + + issue.recheck.should == issue + end + end + describe '#to_rpc_data' do let(:issue) { issue_with_variations } let(:data) { issue.to_rpc_data } %w(name description platform_name platform_type references cwe @@ -77,10 +95,16 @@ end it "restores 'variation'" do restored_issue.variation?.should == issue.variation? end + + it 'restores variation parent' do + restored_issue.variations.each do |v| + v.parent.should == restored_issue + end + end end [:page=, :referring_page=, :vector=].each do |m| describe "##{m}" do let(:obj) do @@ -605,10 +629,14 @@ variation_data.each do |k| root.send(k).should be_nil end root.variations.should be_nil end + + it 'has a #parent' do + issue.as_variation.parent.should == issue + end end describe '#to_solo!' do it 'converts a variation to a solo issue in place, using a parent as a reference' do original_solo = issue @@ -642,9 +670,16 @@ variation = active_issue.as_variation parent.vector.affected_input_name.should be_nil variation.vector.affected_input_name.should be_true variation.to_solo!( parent ).vector.affected_input_name.should be_true + end + + it 'skips #parent' do + parent = issue.with_variations + variation = issue.as_variation + + variation.to_solo!( parent ).parent.should be_nil end end describe '#to_solo' do it 'returns a solo issue using a parent as a reference' do