From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001
From: Paul Martin <paul@paulsputer.com>
Date: Sat, 30 Apr 2016 04:19:14 -0400
Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates

---
 src/test/java/com/gitblit/tests/GravatarTest.java |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/src/test/java/com/gitblit/tests/GravatarTest.java b/src/test/java/com/gitblit/tests/GravatarTest.java
new file mode 100644
index 0000000..ba989d5
--- /dev/null
+++ b/src/test/java/com/gitblit/tests/GravatarTest.java
@@ -0,0 +1,74 @@
+package com.gitblit.tests;
+
+import org.junit.Test;
+
+import com.gitblit.AvatarGenerator;
+import com.gitblit.GravatarGenerator;
+import com.gitblit.IStoredSettings;
+import com.gitblit.Keys;
+import com.gitblit.guice.AvatarGeneratorProvider;
+import com.gitblit.manager.IRuntimeManager;
+import com.gitblit.manager.RuntimeManager;
+import com.gitblit.tests.mock.MemorySettings;
+import com.gitblit.utils.ActivityUtils;
+import com.gitblit.utils.XssFilter;
+import com.gitblit.utils.XssFilter.AllowXssFilter;
+import com.google.inject.AbstractModule;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+public class GravatarTest extends GitblitUnitTest {
+
+	public static  class AvatarModule extends AbstractModule {
+		private final IStoredSettings settings;
+
+		AvatarModule(IStoredSettings settings) {
+			this.settings = settings;
+		}
+
+		@Override
+		protected void configure() {
+			bind(IStoredSettings.class).toInstance(settings);
+			bind(XssFilter.class).to(AllowXssFilter.class);
+			bind(IRuntimeManager.class).to(RuntimeManager.class);
+			bind(AvatarGenerator.class).toProvider(AvatarGeneratorProvider.class);
+		}
+	}
+
+	@Test
+	public void gravatarIdenticonTest() {
+		IStoredSettings settings = new MemorySettings();
+		settings.overrideSetting(Keys.web.avatarClass, GravatarGenerator.class.getName());
+
+		Injector injector = Guice.createInjector(new AvatarModule(settings));
+		AvatarGenerator avatarGenerator = injector.getInstance(AvatarGenerator.class);
+
+		String username = "username";
+		String emailAddress = "emailAddress";
+		int width = 10;
+
+		String url = avatarGenerator.getURL(username, emailAddress, true, width);
+		assertNotNull(url);
+
+		assertEquals(ActivityUtils.getGravatarIdenticonUrl(emailAddress, width), url);
+	}
+
+	@Test
+	public void gravatarThumbnailTest() {
+		IStoredSettings settings = new MemorySettings();
+		settings.overrideSetting(Keys.web.avatarClass, GravatarGenerator.class.getName());
+
+		Injector injector = Guice.createInjector(new AvatarModule(settings));
+		AvatarGenerator avatarGenerator = injector.getInstance(AvatarGenerator.class);
+
+		String username = "username";
+		String emailAddress = "emailAddress";
+		int width = 10;
+
+		String url = avatarGenerator.getURL(username, emailAddress, false, width);
+		assertNotNull(url);
+
+		assertEquals(ActivityUtils.getGravatarThumbnailUrl(emailAddress, width), url);
+	}
+
+}

--
Gitblit v1.9.1