Sha256: 2d29acab425faf9ce9338f9210059d80a1eac8206dbc45809f7d359be4ccc2a2

Contents?: true

Size: 1.48 KB

Versions: 2

Compression:

Stored size: 1.48 KB

Contents

RSpec.describe Metasploit::Credential::Public, type: :model do
  it_should_behave_like 'Metasploit::Concern.run'

  context 'database' do
    context 'columns' do
      it_should_behave_like 'timestamp database columns'

      it { is_expected.to have_db_column(:username).of_type(:string).with_options(null: false) }
    end

    context 'indices' do
      it { is_expected.to have_db_index(:username).unique(true) }
    end
  end

  context 'factories' do
    context 'metasploit_credential_public' do
      subject(:metasploit_credential_public) do
        FactoryGirl.build(:metasploit_credential_public)
      end

      it { is_expected.to be_valid }
    end
  end

  context 'mass assignment security' do
    it { should_not allow_mass_assignment_of(:created_at) }
    it { should_not allow_mass_assignment_of(:updated_at) }
    it { is_expected.to allow_mass_assignment_of(:username) }
  end

  context 'search' do
    let(:base_class) {
      described_class
    }

    context 'attributes' do
      it_should_behave_like 'search_attribute',
                            :username,
                            type: :string

      it_should_behave_like 'search_with',
                            Metasploit::Credential::Search::Operator::Type,
                            name: :type,
                            class_names: %w{
                              Metasploit::Credential::BlankUsername
                              Metasploit::Credential::Username
                            }
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
metasploit-credential-0.14.7 spec/models/metasploit/credential/public_spec.rb
metasploit-credential-0.14.6 spec/models/metasploit/credential/public_spec.rb