test/test_track_stream.rb in powertrack-1.1.1 vs test/test_track_stream.rb in powertrack-1.2.0
- old
+ new
@@ -2,32 +2,50 @@
require 'powertrack'
require 'multi_json'
class TestTrackStream < Minitest::Test
- def test_track_realtime_stream
- track_simple_stream(false)
+ def test_track_realtime_stream_v1
+ track_simple_stream(false, false)
end
- def test_track_replay_stream
- track_simple_stream(true)
+ def test_track_realtime_stream_v2
+ track_simple_stream(true, false)
end
- def track_simple_stream(replay)
- stream = new_stream(replay)
+ def test_track_replay_stream_v1
+ track_simple_stream(false, true)
+ end
+# def test_track_replay_stream_v2
+# track_simple_stream(true, true)
+# end
+
+ def track_simple_stream(v2, replay)
+ stream = new_stream(v2, replay)
+
# add a logger
stream.logger = Logger.new(STDERR)
- rule = PowerTrack::Rule.new('ny OR nyc OR #nyc OR new york')
- assert rule.valid?
+ new_rule = PowerTrack::Rule.new('ny OR nyc OR #nyc OR new york')
+ assert new_rule.valid?
begin
- assert_nil stream.add_rule(rule)
+ res = stream.add_rule(new_rule)
+
+ if v2
+ assert res.is_a?(Hash)
+ assert res['summary'].is_a?(Hash)
+ else
+ assert_nil res
+ end
+
rules_after_addition = stream.list_rules
assert rules_after_addition.is_a?(Array)
assert rules_after_addition.size > 0
+ assert rules_after_addition.any? { |rule| rule == new_rule }
+ assert rules_after_addition.all? { |rule| !rule.id.nil? } if v2
heartbeats = 0
received = 0
tweeted = 0
closed = false
@@ -85,18 +103,30 @@
assert (ended_at - started_at) <= delay
else
assert (ended_at - started_at) >= delay
end
- assert heartbeats > 0, 'No heartbeat received'
+ # heartbeats only sent every 10 minutes in v2...
+ assert heartbeats > 0, 'No heartbeat received' unless v2
puts "#{heartbeats} heartbeats received"
assert received > 0, 'No message received so far'
puts "#{received} messages received"
assert tweeted > 0, 'No tweet received so far'
puts "#{tweeted} tweets received"
+ rescue
+ p $!
ensure
- assert_nil stream.delete_rules(rule)
+ res = stream.delete_rules(new_rule)
+
+ if v2
+ assert res.is_a?(Hash)
+ assert res['summary'].is_a?(Hash)
+ assert_equal 1, res['summary']['deleted']
+ assert_equal 0, res['summary']['not_deleted']
+ else
+ assert_nil res
+ end
end
end
end