spec/lib/flapjack/data/entity_spec.rb in flapjack-1.2.1 vs spec/lib/flapjack/data/entity_spec.rb in flapjack-1.2.2
- old
+ new
@@ -221,10 +221,12 @@
'last_name' => 'Johnson',
'email' => 'johnj@example.com' },
:redis => @redis)
end
+ context 'check that rename and merge are called by add'
+
context 'entity renaming on #add' do
let(:time_i) { Time.now.to_i }
let(:sha1) { Digest::SHA1.new }
@@ -486,9 +488,22 @@
@redis.mapped_hmset('check:name2:PING', data)
end
before(:each) do
add_name2
+ end
+
+ it 'clears the old id when a name exists' do
+ expect(@redis.hget('all_entity_ids_by_name', 'name2')).to eq('5000')
+ expect(@redis.hget('all_entity_names_by_id', '5000')).to eq('name2')
+
+ Flapjack::Data::Entity.add({'id' => '5001',
+ 'name' => 'name2'},
+ :redis => @redis)
+
+ expect(@redis.hget('all_entity_ids_by_name', 'name2')).to eq('5001')
+ expect(@redis.hget('all_entity_names_by_id', '5000')).to be_nil
+ expect(@redis.hget('all_entity_names_by_id', '5001')).to eq('name2')
end
it 'does not overwrite current state for a check' do
add_state1
data_2 = {'state' => 'critical', 'last_change' => time_2_i.to_s, 'last_update' => time_2_i.to_s}