def 'Remove an entry from the cache.'() {
when: 'removing an entry'
- objectUnderTest.removeMapping('cached cmhandle id')
+ objectUnderTest.removeMapping('my cmhandle id')
then: 'converting alternate id returns null'
- assert objectUnderTest.alternateIdToCmHandleId('cached alternate id') == null
+ assert objectUnderTest.alternateIdToCmHandleId('my alternate id') == null
and: 'converting cmhandle id returns null'
- assert objectUnderTest.cmHandleIdToAlternateId('cached cmhandle id') == null
+ assert objectUnderTest.cmHandleIdToAlternateId('my cmhandle id') == null
}
+ def 'Attempt to remove a non-existing entry from the cache.'() {
+ when: 'removing an entry that is not cached'
+ objectUnderTest.removeMapping('non-cached cmhandle id')
+ then: 'deleting from the cmhandle cache returns null'
+ assert alternateIdPerCmHandle.remove('non-cached cmhandle id') == null
+ and: 'removal from the alternate id cache is skipped'
+ 0 * cmHandlePerAlternateId.remove(_)
+ }
+
def 'Cannot update existing alternate id.'() {
given: 'attempt to update an existing alternate id'
- objectUnderTest.addMapping('cached cmhandle id', 'other id')
+ objectUnderTest.addMapping('my cmhandle id', 'other id')
expect: 'still returns the original alternate id'
- assert objectUnderTest.cmHandleIdToAlternateId('cached cmhandle id') == 'cached alternate id'
+ assert objectUnderTest.cmHandleIdToAlternateId('my cmhandle id') == 'my alternate id'
and: 'converting other alternate id returns null'
assert objectUnderTest.alternateIdToCmHandleId('other id') == null
and: 'a warning is logged with the original alternate id'