Sha256: 1abc54a516faad3d71e9fb4a401da8afa34635f681d06241e6a928ab4aa1fb6f

Contents?: true

Size: 1.99 KB

Versions: 4

Compression:

Stored size: 1.99 KB

Contents

module RequestLogAnalyzer::RSpec::Mocks

  def mock_source
    source = double('RequestLogAnalyzer::Source::Base')
    source.stub(:file_format).and_return(testing_format)
    source.stub(:parsed_requests).and_return(2)
    source.stub(:skipped_requests).and_return(1)
    source.stub(:parse_lines).and_return(10)

    source.stub(:warning=)
    source.stub(:progress=)
    source.stub(:source_changes=)

    source.stub(:prepare)
    source.stub(:finalize)

    source.stub(:each_request).
      and_yield(testing_format.request(:field => 'value1')).
      and_yield(testing_format.request(:field => 'value2'))

    return source
  end

  def mock_io
    mio = double('IO')
    mio.stub(:print)
    mio.stub(:puts)
    mio.stub(:write)
    return mio
  end

  def mock_output
    output = double('RequestLogAnalyzer::Output::Base')
    output.stub(:report_tracker)
    output.stub(:header)
    output.stub(:footer)
    output.stub(:puts)
    output.stub(:<<)
    output.stub(:colorize).and_return("Fancy text")
    output.stub(:link)
    output.stub(:title)
    output.stub(:line)
    output.stub(:with_style)
    output.stub(:table).and_yield([])
    output.stub(:io).and_return(mock_io)
    output.stub(:options).and_return({})
    output.stub(:slice_results).and_return { |a| a } 
    return output
  end

  def mock_database(*stubs)
    database = double('RequestLogAnalyzer::Database')
    database.stub(:connect)
    database.stub(:disconnect)
    database.stub(:connection).and_return(mock_connection)
    stubs.each { |s| database.stub(s)}
    return database
  end

  def mock_connection
    table_creator = double('ActiveRecord table creator')
    table_creator.stub(:column)

    connection = double('ActiveRecord::Base.connection')
    connection.stub(:add_index)
    connection.stub(:remove_index)
    connection.stub(:table_exists?).and_return(false)
    connection.stub(:create_table).and_yield(table_creator).and_return(true)
    connection.stub(:table_creator).and_return(table_creator)
    return connection
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
request-log-analyzer-1.13.1 spec/lib/mocks.rb
request-log-analyzer-1.13.0 spec/lib/mocks.rb
request-log-analyzer-1.12.11 spec/lib/mocks.rb
request-log-analyzer-1.12.10 spec/lib/mocks.rb