spec/bucket_spec.rb in simple_metrics-0.3.2 vs spec/bucket_spec.rb in simple_metrics-0.3.3

- old
+ new

@@ -41,11 +41,11 @@ DataPointRepository.ensure_collections_exist bucket.save(stats, ts) end let(:stats) do - DataPoint.create_counter(:name => "key1", :value => 5) + DataPoint::Counter.new(:name => "key1", :value => 5) end it "saves given data in bucket" do results = bucket.find_all_at_ts(ts) results.should have(1).item @@ -69,12 +69,12 @@ DataPointRepository.ensure_collections_exist end describe "#find_all_at_ts" do it "returns all stats in given timestamp" do - stats1 = DataPoint.create_counter(:name => "key1", :value => 5) - stats2 = DataPoint.create_counter(:name => "key2", :value => 3) + stats1 = DataPoint::Counter.new(:name => "key1", :value => 5) + stats2 = DataPoint::Counter.new(:name => "key2", :value => 3) bucket.save(stats1, ts) bucket.save(stats2, bucket.next_ts_bucket(ts)) result1 = bucket.find_all_at_ts(ts).first @@ -87,13 +87,13 @@ end end describe "#find_all_in_ts_range_by_wildcard" do it "returns all stats for given name and timestamp" do - stats1 = DataPoint.create_counter(:name => "com.test.key1", :value => 5) - stats2 = DataPoint.create_counter(:name => "com.test.key2", :value => 7) - stats_different = DataPoint.create_counter(:name => "com.test2.key1", :value => 3) + stats1 = DataPoint::Counter.new(:name => "com.test.key1", :value => 5) + stats2 = DataPoint::Counter.new(:name => "com.test.key2", :value => 7) + stats_different = DataPoint::Counter.new(:name => "com.test2.key1", :value => 3) from = bucket.ts_bucket(ts) to = from bucket.save(stats1, ts) bucket.save(stats2, ts) @@ -107,11 +107,11 @@ end end describe "#fill_gaps" do it "returns stats and fills missing gaps with null entries" do - stats = DataPoint.create_counter(:name => "com.test.key1", :value => 5) + stats = DataPoint::Counter.new(:name => "com.test.key1", :value => 5) from = ts - 10 to = ts + 10 bucket.save(stats, ts) ts_bucket = bucket.ts_bucket(ts) @@ -131,105 +131,8 @@ results[1].ts.should == ts_bucket results[2].ts.should == ts_bucket + 10 end end end # describe "finder methods" - - describe "#aggregate_all" do - before do - DataPointRepository.truncate_collections - DataPointRepository.ensure_collections_exist - end - - it "aggregates all counter data points" do - stats1a = DataPoint.create_counter(:name => "key1", :value => 5) - stats1b = DataPoint.create_counter(:name => "key1", :value => 7) - stats2 = DataPoint.create_counter(:name => "key2", :value => 3) - - bucket2 = Bucket[1] - ts_at_insert = bucket2.previous_ts_bucket(ts) - bucket.save(stats1a, ts_at_insert) - Bucket.aggregate(stats1a) - bucket.save(stats1b, ts_at_insert) - Bucket.aggregate(stats1b) - bucket.save(stats2, ts_at_insert) - Bucket.aggregate(stats2) - - results = bucket2.find_all_at_ts(ts_at_insert) - results.should have(2).items - - key1_result = results.find {|stat| stat.name == "key1"} - key1_result.value.should == 12 - key1_result.should be_counter - - key2_result = results.find {|stat| stat.name == "key2"} - key2_result.value.should == 3 - key2_result.should be_counter - end - - it "aggregates all gauge data points" do - stats1a = DataPoint.create_gauge(:name => "key1", :value => 5) - stats1b = DataPoint.create_gauge(:name => "key1", :value => 7) - stats2 = DataPoint.create_gauge(:name => "key2", :value => 3) - - bucket2 = Bucket[1] - ts_at_insert = bucket2.previous_ts_bucket(ts) - bucket.save(stats1a, ts_at_insert) - Bucket.aggregate(stats1a) - bucket.save(stats1b, ts_at_insert) - Bucket.aggregate(stats1b) - bucket.save(stats2, ts_at_insert) - Bucket.aggregate(stats2) - - results = bucket2.find_all_at_ts(ts_at_insert) - results.should have(2).items - - key1_result = results.find {|stat| stat.name == "key1"} - key1_result.value.should == 6 - key1_result.should be_gauge - - key2_result = results.find {|stat| stat.name == "key2"} - key2_result.value.should == 3 - key2_result.should be_gauge - end - - end # describe "#aggregate_all" - - describe "#flush_data_points" do - before do - DataPointRepository.truncate_collections - DataPointRepository.ensure_collections_exist - - stats1 = DataPoint.create_counter(:name => "key1", :value => 5) - stats2 = DataPoint.create_counter(:name => "key1", :value => 7) - stats3 = DataPoint.create_counter(:name => "key2", :value => 3) - @stats = [stats1, stats2, stats3] - end - - it "saves all stats in finest/first bucket" do - Bucket.flush_data_points(@stats) - - results = bucket.find_all_at_ts(ts) - results.should have(2).items - end - - it "saves all stats and aggregate if duplicates found" do - Bucket.flush_data_points(@stats) - - results = bucket.find_all_at_ts(ts) - results.should have(2).items - results.first.name.should == "key1" - results.last.name.should == "key2" - results.first.value == 12 - results.last.value == 3 - end - - it "raises error if name matches but type does not" do - stats4 = DataPoint.create_gauge(:name => "key1", :value => 3) - input = @stats + [stats4] - expect { Bucket.flush_data_points(input) }.to raise_error(SimpleMetrics::DataPoint::NonMatchingTypesError) - end - - end # describe "#flush_data_points" end end