Use unique IDs for images
[Sone.git] / src / test / java / net / pterodactylus / sone / template / BuildIdFilterTest.java
1 package net.pterodactylus.sone.template;
2
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.hamcrest.Matchers.is;
5 import static org.hamcrest.Matchers.nullValue;
6 import static org.mockito.Mockito.when;
7
8 import net.pterodactylus.sone.data.Sone;
9 import net.pterodactylus.util.template.TemplateContext;
10
11 import com.google.common.collect.ImmutableMap;
12 import org.junit.Test;
13 import org.mockito.Mockito;
14
15 /**
16  * Unit test for {@link BuildIdFilter}.
17  *
18  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
19  */
20 public class BuildIdFilterTest {
21
22         private static final String SONE_ID = "~Yp72VX0c6FLDvgIzip5wIvaGIIrjKcKvnX~pTaMKXs";
23         private static final String ELEMENT_ID = "88CC70AE-E853-4EEE-B245-E4C55F40DDDF";
24         private static final Object EXPECTED_ID = "139a629a13f6a2c4191fb19ecead7e57335ea3deb2a971b88d5e004378c4daad";
25
26         private final BuildIdFilter buildIdFilter = new BuildIdFilter();
27         private final TemplateContext templateContext = null;
28
29         @Test
30         public void filterBuildsCorrectIdsWithSoneAsString() {
31                 assertThat(buildIdFilter.format(templateContext, ELEMENT_ID, ImmutableMap.<String, Object>of("sone", SONE_ID)), is(EXPECTED_ID));
32         }
33
34         @Test
35         public void filterBuildsCorrectIdsWithSoneAsSone() {
36                 Sone sone = Mockito.mock(Sone.class);
37                 when(sone.getId()).thenReturn(SONE_ID);
38                 assertThat(buildIdFilter.format(templateContext, ELEMENT_ID, ImmutableMap.<String, Object>of("sone", sone)), is(EXPECTED_ID));
39         }
40
41         @Test
42         public void filterReturnsNullIfSoneNotPresent() {
43                 assertThat(buildIdFilter.format(templateContext, ELEMENT_ID, ImmutableMap.<String, Object>of()), nullValue());
44         }
45
46         @Test
47         public void filterReturnsNullIfElementNotPresent() {
48                 assertThat(buildIdFilter.format(templateContext, null, ImmutableMap.<String, Object>of("sone", SONE_ID)), nullValue());
49         }
50
51 }