Sha256: d27c9c27acec484a22f9aa10c984a3f94b82bc6115e6f6f166c220fdf9936758

Contents?: true

Size: 1.96 KB

Versions: 16

Compression:

Stored size: 1.96 KB

Contents

shared_examples_for 'search query with Metasploit::Model::Search::Operator::Deprecated::Authority' do |options={}|
  options.assert_valid_keys(:formatted_operator)

  formatted_operator = options.fetch(:formatted_operator)

  context "with #{formatted_operator}" do
    subject(:query) do
      Metasploit::Model::Search::Query.new(
          :formatted => formatted,
          :klass => base_class
      )
    end

    let(:formatted) do
      "#{formatted_operator}:\"#{formatted_value}\""
    end

    let(:formatted_value) do
      FactoryGirl.generate :metasploit_model_reference_designation
    end

    context 'operations' do
      subject(:operations) do
        query.operations
      end

      def operation_with_formatted_operator(formatted_operator)
        operator_name = formatted_operator.to_sym

        operations.find { |operation|
          operation.operator.name == operator_name
        }
      end

      context 'authoritities.abbreviation' do
        subject(:operation) do
          operation_with_formatted_operator('authorities.abbreviation')
        end

        context 'Metasploit::Model::Search::Operation::Association#source_operation' do
          subject(:source_operation) {
            operation.source_operation
          }

          context 'Metasploit::Model::Search::Operation::Base#value' do
            subject(:value) {
              source_operation.value
            }

            it { should == formatted_operator }
          end
        end
      end

      context 'references.designation' do
        subject(:operation) do
          operation_with_formatted_operator('references.designation')
        end

        context 'Metasploit::Model::Search::Operation::Association#source_operation' do
          subject(:source_operation) {
            operation.source_operation
          }

          it 'uses formatted value for value' do
            expect(source_operation.value).to eq(formatted_value)
          end
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
metasploit-model-0.28.0 spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.28.0-java spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.28.0.pre.engine.pre.requires spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.4 spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.4-java spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.3 spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.3-java spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.2 spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.2-java spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.1 spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.1-java spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.0 spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.0-java spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.27.0.pre.dep.pre.railties spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.26.1-java spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb
metasploit-model-0.26.1 spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb