Sha256: 3bc69470b5377b3385ff3c7ca40a8276eca671e0b26e5f19714f7cdb67fb8567
Contents?: true
Size: 1.87 KB
Versions: 61
Compression:
Stored size: 1.87 KB
Contents
require 'spec_helper' describe Metasploit::Credential::Importer::Multi do include_context 'Mdm::Workspace' include_context 'metasploit_credential_importer_zip_file' UNSUPPORTED_FILE = 'bad.txt' INVALID_CSV_FILE = 'malformed.csv' VALID_CSV_FILE = 'well-formed.csv' let(:import_origin){ FactoryGirl.create :metasploit_credential_origin_import } let(:supported_file){ FactoryGirl.generate :metasploit_credential_importer_zip_file } let(:unsupported_file){ File.open("#{Dir.tmpdir}/#{UNSUPPORTED_FILE}", 'wb') } let(:invalid_csv){ FactoryGirl.generate(:malformed_csv)} let(:valid_csv){ FactoryGirl.generate(:well_formed_csv_compliant_header)} let(:valid_csv_file) do File.open("#{Dir.tmpdir}/#{VALID_CSV_FILE}", 'w') do |file| file << valid_csv.read end end describe "validation" do describe "when given a file that is not a zip or a CSV" do subject(:multi_importer){ Metasploit::Credential::Importer::Multi.new(input: File.open(unsupported_file), origin: import_origin)} it { should_not be_valid } end context "when given zip file" do subject(:multi_importer){ Metasploit::Credential::Importer::Multi.new(input: File.open(supported_file), origin: import_origin)} it { should be_valid } end describe "#csv?" do describe 'when the file can be opened as a CSV' do subject(:multi_importer){ Metasploit::Credential::Importer::Multi.new(input: File.open(valid_csv_file), origin: import_origin)} it 'should return true' do multi_importer.csv?.should be_true end end describe 'when the file is not a well-formed CSV' do subject(:multi_importer){ Metasploit::Credential::Importer::Multi.new(input: File.open(unsupported_file), origin: import_origin)} it 'should return true' do multi_importer.csv?.should be_false end end end end end
Version data entries
61 entries across 61 versions & 1 rubygems