Sha256: addaac5ba40fb273814d4a85d4436a495ac98bc16ae350bc5679b75b782f226b

Contents?: true

Size: 1.96 KB

Versions: 6

Compression:

Stored size: 1.96 KB

Contents

module RequestLogAnalyzer::Spec::Mocks
  
  def mock_source
    source = mock('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_return do |block|
      block.call(testing_format.request(:field => 'value1'))
      block.call(testing_format.request(:field => 'value2'))
    end
    
    return source
  end

  def mock_io
    mio = mock('IO')
    mio.stub!(:print)
    mio.stub!(:puts)
    mio.stub!(:write)
    return mio
  end
  
  def mock_output
    output = mock('RequestLogAnalyzer::Output::Base')
    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)
    
    return output
  end
  
  def mock_database(*stubs)
    database = mock('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 = mock('ActiveRecord table creator')
    table_creator.stub!(:column)
    
    connection = mock('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

6 entries across 6 versions & 2 rubygems

Version Path
wvanbergen-request-log-analyzer-1.3.5 spec/lib/mocks.rb
wvanbergen-request-log-analyzer-1.3.6 spec/lib/mocks.rb
wvanbergen-request-log-analyzer-1.3.7 spec/lib/mocks.rb
request-log-analyzer-1.3.7 spec/lib/mocks.rb
request-log-analyzer-1.3.6 spec/lib/mocks.rb
request-log-analyzer-1.3.5 spec/lib/mocks.rb