You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2018/02/05 14:48:05 UTC

[sling-org-apache-sling-installer-core] branch master updated: SLING-7466 : adding basic unittest

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-installer-core.git


The following commit(s) were added to refs/heads/master by this push:
     new 687feac  SLING-7466 : adding basic unittest
687feac is described below

commit 687feac99efee8c3aaad60253adcdd70e0f02333
Author: Dominik Suess <do...@gmail.com>
AuthorDate: Mon Feb 5 13:22:10 2018 +0100

    SLING-7466 : adding basic unittest
---
 pom.xml                                            |  6 +++
 .../core/impl/EntityResourceListTest.java          | 56 ++++++++++++++++++++++
 2 files changed, 62 insertions(+)

diff --git a/pom.xml b/pom.xml
index 0d66181..605ba78 100644
--- a/pom.xml
+++ b/pom.xml
@@ -158,5 +158,11 @@
             <version>2.5.1</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <version>2.13.0</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git a/src/test/java/org/apache/sling/installer/core/impl/EntityResourceListTest.java b/src/test/java/org/apache/sling/installer/core/impl/EntityResourceListTest.java
new file mode 100644
index 0000000..6b389a3
--- /dev/null
+++ b/src/test/java/org/apache/sling/installer/core/impl/EntityResourceListTest.java
@@ -0,0 +1,56 @@
+package org.apache.sling.installer.core.impl;
+
+import org.apache.sling.installer.api.event.InstallationListener;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.internal.matchers.Any;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.osgi.framework.Version;
+
+import static org.junit.Assert.assertEquals;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+@RunWith(MockitoJUnitRunner.class)
+public class EntityResourceListTest {
+	
+	private static final String OLD_URI = "old-uri";
+	private static final String OLD_DIGEST = "old-digest";
+	private static final String NEW_URI = "new-uri";
+	private static final String NEW_DIGEST = "new-digest";
+	
+	private static final String MOCK_URL = "mock-url";
+	private static final String RESOURCE_ID = "res-id";
+	private static final Version VERSION = new Version("1.0.0");
+	
+	@Mock
+	InstallationListener listener;
+	
+    @Test
+    public void testAddExistingResourceWithDifferentDataUriAndDigest() {
+    	EntityResourceList erl = new EntityResourceList(RESOURCE_ID, listener);
+    	RegisteredResourceImpl r1 = mock(RegisteredResourceImpl.class);
+    	when(r1.getURL()).thenReturn(MOCK_URL);
+    	when(r1.getVersion()).thenReturn((VERSION));
+    	when(r1.getDataURI()).thenReturn(OLD_URI);
+    	when(r1.getDigest()).thenReturn(OLD_DIGEST);
+    	erl.addOrUpdate(r1);
+    	assertEquals(OLD_URI, ((RegisteredResourceImpl)erl.getFirstResource()).getDataURI());
+
+    	RegisteredResourceImpl r2 = mock(RegisteredResourceImpl.class);
+    	when(r2.getURL()).thenReturn(MOCK_URL);
+    	when(r2.getVersion()).thenReturn(VERSION);
+    	when(r2.getDataURI()).thenReturn(NEW_URI);
+    	when(r2.getDigest()).thenReturn(NEW_DIGEST);
+    	erl.addOrUpdate(r2);
+    	ArgumentCaptor<String> argument = ArgumentCaptor.forClass(String.class);
+    	verify(r1).updateResourceUri(argument.capture());
+    	assertEquals(NEW_URI, argument.getValue());
+    }
+
+}

-- 
To stop receiving notification emails like this one, please contact
rombert@apache.org.