Sha256: 0aca9dde7fb465fabed981f035a1f0a454c4dce2d75015042f56e8216f6f369e

Contents?: true

Size: 1.56 KB

Versions: 11

Compression:

Stored size: 1.56 KB

Contents

require 'spec_helper'

describe Arachni::State::Options do
    after(:each) do
        FileUtils.rm_rf @dump_directory if @dump_directory
    end

    subject { described_class.new }
    let(:dump_directory) do
        @dump_directory = "#{Dir.tmpdir}/options-#{Arachni::Utilities.generate_token}"
    end

    it { is_expected.to respond_to :clear}

    describe '#statistics' do
        let(:statistics) { subject.statistics }

        it 'includes :url' do
            Arachni::Options.url = 'http://test/'
            expect(statistics[:url]).to eq(Arachni::Options.url)
        end

        it 'includes :checks' do
            Arachni::Options.checks = %w(xss* sql_injection)
            expect(statistics[:checks]).to eq(Arachni::Options.checks)
        end

        it 'includes :plugins' do
            Arachni::Options.plugins = { 'autologin' => {} }
            expect(statistics[:plugins]).to eq(%w(autologin))
        end
    end

    describe '#dump' do
        it 'stores to disk' do
            Arachni::Options.datastore.my_custom_option = 'my value'
            subject.dump( dump_directory )

            expect(Arachni::Options.load( "#{dump_directory}/options" ).
                datastore.my_custom_option).to eq('my value')
        end
    end

    describe '.load' do
        it 'restores from disk' do
            Arachni::Options.datastore.my_custom_option = 'my value'
            subject.dump( dump_directory )

            described_class.load( dump_directory )

            expect(Arachni::Options.datastore.my_custom_option).to eq('my value')
        end
    end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
arachni-1.6.1.3 spec/arachni/state/options_spec.rb
arachni-1.6.1.2 spec/arachni/state/options_spec.rb
arachni-1.6.1.1 spec/arachni/state/options_spec.rb
arachni-1.6.1 spec/arachni/state/options_spec.rb
arachni-1.6.0 spec/arachni/state/options_spec.rb
arachni-1.5.1 spec/arachni/state/options_spec.rb
arachni-1.5 spec/arachni/state/options_spec.rb
arachni-1.4 spec/arachni/state/options_spec.rb
arachni-1.3.2 spec/arachni/state/options_spec.rb
arachni-1.3.1 spec/arachni/state/options_spec.rb
arachni-1.3 spec/arachni/state/options_spec.rb