/maven-amps-dispatcher-plugin/src/test/java/com/atlassian/maven/plugins/ampsdispatcher/TestAbstractAmpsDispatcherMojo.java

https://bitbucket.org/mmeinhold/amps · Java · 79 lines · 67 code · 12 blank · 0 comment · 0 complexity · afadf61c3113098be4b6a27862c696d6 MD5 · raw file

  1. package com.atlassian.maven.plugins.ampsdispatcher;
  2. import junit.framework.TestCase;
  3. import org.apache.maven.execution.MavenSession;
  4. import org.apache.maven.model.Build;
  5. import org.apache.maven.model.Plugin;
  6. import org.apache.maven.plugin.PluginManager;
  7. import org.apache.maven.project.MavenProject;
  8. import static org.mockito.Mockito.mock;
  9. import static org.mockito.Mockito.when;
  10. import java.util.ArrayList;
  11. import java.util.Arrays;
  12. import java.util.List;
  13. public class TestAbstractAmpsDispatcherMojo extends TestCase
  14. {
  15. MavenProject project;
  16. MavenSession session;
  17. PluginManager pluginManager;
  18. AbstractAmpsDispatcherMojo mojo;
  19. @Override
  20. protected void setUp() throws Exception
  21. {
  22. super.setUp();
  23. project = new MavenProject();
  24. session = mock(MavenSession.class);
  25. pluginManager = mock(PluginManager.class);
  26. mojo = new AbstractAmpsDispatcherMojo(){};
  27. mojo.pluginManager = pluginManager;
  28. mojo.project = project;
  29. mojo.session = session;
  30. }
  31. public void testDetectAmpsProduct()
  32. {
  33. assertPlugin(true, "maven-refapp-plugin");
  34. assertPlugin(true, "maven-confluence-plugin");
  35. assertPlugin(true, "maven-jira-plugin");
  36. assertPlugin(true, "maven-stash-plugin");
  37. assertPlugin(true, "maven-confluence-plugin");
  38. assertPlugin(true, "maven-bamboo-plugin");
  39. assertPlugin(true, "maven-crowd-plugin");
  40. assertPlugin(true, "maven-fecru-plugin");
  41. assertPlugin(false, "maven-refappsd-plugin");
  42. assertPlugin(false, "mas");
  43. }
  44. public void testDetermineGoal()
  45. {
  46. when(session.getGoals()).thenReturn(Arrays.asList("foo"));
  47. assertEquals("foo", mojo.determineGoal());
  48. when(session.getGoals()).thenReturn(Arrays.asList("foo:bar"));
  49. assertEquals("bar", mojo.determineGoal());
  50. when(session.getGoals()).thenReturn(Arrays.asList("foo:bar:baz"));
  51. assertEquals("baz", mojo.determineGoal());
  52. when(session.getGoals()).thenReturn(Arrays.asList("foo", "bar"));
  53. assertEquals("foo", mojo.determineGoal());
  54. }
  55. private void assertPlugin(boolean expected, String artifactId)
  56. {
  57. List<Plugin> buildPlugins = new ArrayList<Plugin>();
  58. Plugin plugin = new Plugin();
  59. plugin.setGroupId("com.atlassian.maven.plugins");
  60. plugin.setArtifactId(artifactId);
  61. buildPlugins.add(plugin);
  62. Build build = new Build();
  63. build.setPlugins(buildPlugins);
  64. project.setBuild(build);
  65. assertEquals(expected, artifactId.equals(mojo.detectAmpsProduct()));
  66. }
  67. }