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); } }