spec/summarizer_spec.rb in wvanbergen-request-log-analyzer-0.3.4 vs spec/summarizer_spec.rb in wvanbergen-request-log-analyzer-1.0.0

- old
+ new

@@ -2,108 +2,14 @@ require 'request_log_analyzer/aggregator/summarizer' describe RequestLogAnalyzer::Aggregator::Summarizer, :single_line do before(:each) do - @summarizer = RequestLogAnalyzer::Aggregator::Summarizer.new(TestFileFormat, :combined_requests => false) - @summarizer.prepare - - @test_request_1 = RequestLogAnalyzer::Request.create(TestFileFormat, {:line_type => :first, :request_no => 564}) - @test_request_2 = RequestLogAnalyzer::Request.create(TestFileFormat, {:line_type => :test, :test_capture => 'awesome'}) - @test_request_3 = RequestLogAnalyzer::Request.create(TestFileFormat, {:line_type => :last, :request_no => 564}) end - - it "should include the file format Summarizer module" do - metaclass = (class << @summarizer; self; end) - metaclass.ancestors.should include(TestFileFormat::Summarizer) - @summarizer.class.ancestors.should_not include(TestFileFormat::Summarizer) - end - - it "should set the default bucket for a new line type" do - @summarizer.should_receive(:default_bucket_content).once.and_return(:count => 0) - @summarizer.aggregate(@test_request_1) - end - - it "should request a bucket name for the hash" do - @summarizer.should_receive(:bucket_for).with(@test_request_1).once.and_return('all') - @summarizer.aggregate(@test_request_1) - end - - it "should register" do - @summarizer.should_receive(:update_bucket).with(anything, @test_request_1).once - @summarizer.aggregate(@test_request_1) - end - - it "should have buckets for every line type on the first level" do - @summarizer.aggregate(@test_request_1) - @summarizer.aggregate(@test_request_2) - @summarizer.aggregate(@test_request_3) - @summarizer.buckets.should have(3).items - @summarizer.buckets.should have_key(:first) - @summarizer.buckets.should have_key(:test) - @summarizer.buckets.should have_key(:last) - end - - it "should aggregate in the same bucket" do - @summarizer.should_receive(:bucket_for).exactly(3).times.and_return('all') - 3.times { @summarizer.aggregate(@test_request_2) } - @summarizer.buckets[:test].should have(1).items - end - - it "should aggregate in different buckets based on" do - 4.times do |n| - @summarizer.stub!(:bucket_for).and_return("bucket #{n % 2}") # buckets 1 and 2 - @summarizer.aggregate(@test_request_2) - end - @summarizer.buckets[:test].should have(2).items - end - end describe RequestLogAnalyzer::Aggregator::Summarizer, :combined_requests do before(:each) do - @summarizer = RequestLogAnalyzer::Aggregator::Summarizer.new(TestFileFormat, :combined_requests => true) - @summarizer.prepare - - @test_request = RequestLogAnalyzer::Request.create(TestFileFormat, - {:line_type => :first, :request_no => 564}, - {:line_type => :test, :test_capture => 'blug'}, - {:line_type => :last, :request_no => 564}) end - - it "should include the file format Summarizer module" do - metaclass = (class << @summarizer; self; end) - metaclass.ancestors.should include(TestFileFormat::Summarizer) - @summarizer.class.ancestors.should_not include(TestFileFormat::Summarizer) - end - - it "should set the default bucket for a new line type" do - @summarizer.should_receive(:default_bucket_content).once.and_return(:count => 0) - @summarizer.aggregate(@test_request) - end - it "should register" do - @summarizer.should_receive(:update_bucket).with(anything, @test_request).once - @summarizer.aggregate(@test_request) - end - - it "should aggregate in the same bucket" do - 3.times { @summarizer.aggregate(@test_request) } - @summarizer.buckets.should have(1).items - end - - it "should aggregate in the same bucket" do - @summarizer.should_receive(:bucket_for).exactly(3).times.and_return('all') - 3.times { @summarizer.aggregate(@test_request) } - @summarizer.buckets.should have(1).items - end - - it "should aggregate in different buckets based on" do - 4.times do |n| - @summarizer.stub!(:bucket_for).and_return("bucket #{n % 2}") # buckets 1 and 2 - @summarizer.aggregate(@test_request) - end - @summarizer.buckets.should have(2).items - end - end \ No newline at end of file