package org.atlasapi.persistence.lookup.mongo; import static org.junit.Assert.assertEquals; import org.atlasapi.media.entity.Alias; import org.atlasapi.media.entity.LookupRef; import org.atlasapi.media.entity.Publisher; import org.atlasapi.persistence.content.ContentCategory; import org.atlasapi.persistence.lookup.entry.LookupEntry; import org.joda.time.DateTime; import org.junit.Test; import com.google.common.collect.ImmutableSet; public class LookupEntryHasherTest { private final LookupEntryHasher hasher = new LookupEntryHasher(new LookupEntryTranslator()); @Test public void testHashDoesntChangeWhenAuditTimestampsChange() { DateTime created = DateTime.now(); DateTime updated = created.plusHours(1); LookupEntry lookupEntry = createLookupEntry(created, created); LookupEntry lookupEntryWithDifferentUpdated = createLookupEntry(updated, updated); assertEquals(hasher.writeHashFor(lookupEntry), hasher.writeHashFor(lookupEntryWithDifferentUpdated)); } private LookupEntry createLookupEntry(DateTime created, DateTime updated) { String uri = "http://example.org"; long id = 1; Publisher publisher = Publisher.METABROADCAST; return new LookupEntry(uri, id, new LookupRef(uri, id, publisher, ContentCategory.TOP_LEVEL_ITEM), ImmutableSet.<String>of(), ImmutableSet.<Alias>of(), ImmutableSet.<LookupRef>of(), ImmutableSet.<LookupRef>of(), ImmutableSet.<LookupRef>of(), created, updated, true); } }