PageRenderTime 26ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/opup/src/test/java/com/atlassian/labs/opup/platform/GetPlatformArtifactsTest.java

https://bitbucket.org/jwalton/opup
Java | 184 lines | 166 code | 18 blank | 0 comment | 0 complexity | a42879adbc585ee03de9e677ba8c2696 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. package com.atlassian.labs.opup.platform;
  2. import java.io.File;
  3. import java.io.InputStream;
  4. import java.io.InputStreamReader;
  5. import java.util.Arrays;
  6. import java.util.HashMap;
  7. import java.util.HashSet;
  8. import java.util.Map;
  9. import java.util.Set;
  10. import com.atlassian.labs.opup.VerySimpleCache;
  11. import org.apache.commons.io.IOUtils;
  12. import org.apache.http.impl.client.BasicCredentialsProvider;
  13. import org.apache.maven.artifact.versioning.ArtifactVersion;
  14. import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
  15. import org.junit.Ignore;
  16. import org.junit.Test;
  17. import static org.junit.Assert.assertEquals;
  18. import static org.junit.Assert.assertNotNull;
  19. import static org.junit.Assert.assertTrue;
  20. public class GetPlatformArtifactsTest
  21. {
  22. private Set<String> expected = new HashSet<String>(Arrays.asList(
  23. "aopalliance:aopalliance:jar:1.0",
  24. "asm:asm:jar:3.1",
  25. "biz.aQute:bndlib:jar:1.43.0-atlassian-1",
  26. "bouncycastle:bcprov-jdk14:jar:138",
  27. "cglib:cglib:jar:2.2",
  28. "cglib:cglib-nodep:jar:2.1_3",
  29. "com.atlassian.applinks:applinks-api:jar:3.6.1",
  30. "com.atlassian.applinks:applinks-host:jar:3.6.1",
  31. "com.atlassian.applinks:applinks-spi:jar:3.6.1",
  32. "com.atlassian.aui:auiplugin:jar:3.5.0",
  33. "com.atlassian.event:atlassian-event:jar:2.1.1",
  34. "com.atlassian.ip:atlassian-ip:jar:2.0",
  35. "com.atlassian.multitenant:multitenant-core:jar:1.0-m14",
  36. "com.atlassian.oauth:atlassian-oauth-admin-plugin:jar:1.3.2",
  37. "com.atlassian.oauth:atlassian-oauth-api:jar:1.3.2",
  38. "com.atlassian.oauth:atlassian-oauth-bridge:jar:1.3.2",
  39. "com.atlassian.oauth:atlassian-oauth-consumer-core:jar:1.3.2",
  40. "com.atlassian.oauth:atlassian-oauth-consumer-plugin:jar:1.3.2",
  41. "com.atlassian.oauth:atlassian-oauth-consumer-sal-plugin:jar:1.3.2",
  42. "com.atlassian.oauth:atlassian-oauth-consumer-spi:jar:1.3.2",
  43. "com.atlassian.oauth:atlassian-oauth-service-provider-plugin:jar:1.3.2",
  44. "com.atlassian.oauth:atlassian-oauth-service-provider-sal-plugin:jar:1.3.2",
  45. "com.atlassian.oauth:atlassian-oauth-service-provider-spi:jar:1.3.2",
  46. "com.atlassian.oauth:atlassian-oauth-shared:jar:1.3.2",
  47. "com.atlassian.plugins:atlassian-plugins-core:jar:2.10.0",
  48. "com.atlassian.plugins:atlassian-plugins-main:jar:2.10.0",
  49. "com.atlassian.plugins:atlassian-plugins-osgi:jar:2.10.0",
  50. "com.atlassian.plugins:atlassian-plugins-osgi-events:jar:2.10.0",
  51. "com.atlassian.plugins:atlassian-plugins-servlet:jar:2.10.0",
  52. "com.atlassian.plugins:atlassian-plugins-spring:jar:2.10.0",
  53. "com.atlassian.plugins:atlassian-plugins-webfragment:jar:2.10.0",
  54. "com.atlassian.plugins:atlassian-plugins-webresource:jar:2.10.0",
  55. "com.atlassian.plugins:pacs-client:jar:1.1.28.1",
  56. "com.atlassian.plugins:pacs-shared:jar:1.1.28.1",
  57. "com.atlassian.plugins.rest:atlassian-rest-common:jar:2.5.0",
  58. "com.atlassian.plugins.rest:atlassian-rest-module:jar:2.5.0",
  59. "com.atlassian.plugins.rest:com.atlassian.jersey-library:pom:2.5.0",
  60. "com.atlassian.sal:sal-api:jar:2.7.0",
  61. "com.atlassian.sal:sal-core:jar:2.7.0",
  62. "com.atlassian.sal:sal-spi:jar:2.7.0",
  63. "com.atlassian.sal:sal-test-resources:jar:2.7.0",
  64. "com.atlassian.security:atlassian-secure-random:jar:1.0",
  65. "com.atlassian.security.auth.trustedapps:atlassian-trusted-apps-core:jar:2.5",
  66. "com.atlassian.security.auth.trustedapps:atlassian-trusted-apps-seraph-integration:jar:2.5",
  67. "com.atlassian.seraph:atlassian-seraph:jar:2.1.7-rc2",
  68. "com.atlassian.streams:streams-aggregator-plugin:jar:5.0",
  69. "com.atlassian.streams:streams-api:jar:5.0",
  70. "com.atlassian.streams:streams-core-plugin:jar:5.0",
  71. "com.atlassian.streams:streams-inline-actions-plugin:jar:5.0",
  72. "com.atlassian.streams:streams-spi:jar:5.0",
  73. "com.atlassian.templaterenderer:atlassian-template-renderer-api:jar:1.3.1",
  74. "com.atlassian.templaterenderer:atlassian-template-renderer-velocity-common:jar:1.3.1",
  75. "com.atlassian.templaterenderer:atlassian-template-renderer-velocity16-plugin:jar:1.3.1",
  76. "com.atlassian.upm:atlassian-universal-plugin-manager-plugin:jar:1.5.1",
  77. "com.atlassian.upm:spi:jar:1.5.1",
  78. "com.atlassian.util.concurrent:atlassian-util-concurrent:jar:2.3.0-beta2",
  79. "com.atlassian.velocity.htmlsafe:velocity-htmlsafe:jar:1.1.beta1",
  80. "com.google.collections:google-collections:jar:1.0",
  81. "com.sun.jersey:jersey-client:jar:1.0.3-atlassian-1",
  82. "com.sun.jersey:jersey-core:jar:1.0.3-atlassian-1",
  83. "com.sun.jersey:jersey-json:jar:1.0.3-atlassian-1",
  84. "com.sun.jersey:jersey-server:jar:1.0.3-atlassian-1",
  85. "com.sun.jersey.contribs:jersey-apache-client:jar:1.0.2",
  86. "com.sun.xml.bind:jaxb-impl:jar:2.1.10",
  87. "commons-codec:commons-codec:jar:1.3",
  88. "commons-collections:commons-collections:jar:3.2",
  89. "commons-fileupload:commons-fileupload:jar:1.2.1",
  90. "commons-httpclient:commons-httpclient:jar:3.1",
  91. "commons-io:commons-io:jar:1.4",
  92. "commons-lang:commons-lang:jar:2.4",
  93. "commons-logging:commons-logging:jar:1.0.4",
  94. "dom4j:dom4j:jar:1.4",
  95. "javax.activation:activation:jar:1.1",
  96. "javax.servlet:servlet-api:jar:2.5",
  97. "javax.validation:validation-api:jar:1.0.0.GA",
  98. "javax.ws.rs:jsr311-api:jar:1.0",
  99. "javax.xml.bind:jaxb-api:jar:2.1",
  100. "javax.xml.stream:stax-api:jar:1.0-2",
  101. "joda-time:joda-time:jar:1.6",
  102. "log4j:log4j:jar:1.2.7",
  103. "net.jcip:jcip-annotations:jar:1.0",
  104. "net.oauth.core:oauth:jar:20090617",
  105. "net.oauth.core:oauth-provider:jar:20090531",
  106. "net.sourceforge.nekohtml:nekohtml:jar:1.9.12",
  107. "org.apache.felix:org.apache.felix.bundlerepository:jar:1.4.0",
  108. "org.apache.felix:org.apache.felix.framework:jar:3.0.2",
  109. "org.apache.felix:org.apache.felix.shell:jar:1.2.0",
  110. "org.apache.sling:org.apache.sling.commons.osgi:jar:2.0.4-incubator",
  111. "org.apache.xmlgraphics:batik-css:jar:1.7",
  112. "org.apache.xmlgraphics:batik-ext:jar:1.7",
  113. "org.apache.xmlgraphics:batik-util:jar:1.7",
  114. "org.codehaus.jackson:jackson-core-asl:jar:1.4.4",
  115. "org.codehaus.jackson:jackson-jaxrs:jar:1.4.4",
  116. "org.codehaus.jackson:jackson-mapper-asl:jar:1.4.4",
  117. "org.codehaus.jackson:jackson-xc:jar:1.4.4",
  118. "org.codehaus.jettison:jettison:jar:1.0.1",
  119. "org.hibernate:hibernate-validator:jar:4.0.2.GA",
  120. "org.json:json:jar:20090211",
  121. "org.owasp.antisamy:antisamy:jar:1.4.4",
  122. "org.slf4j:slf4j-api:jar:1.5.8",
  123. "org.springframework:spring-aop:jar:2.5.6.SEC02",
  124. "org.springframework:spring-beans:jar:2.5.6.SEC02",
  125. "org.springframework:spring-context:jar:2.5.6.SEC02",
  126. "org.springframework:spring-core:jar:2.5.6.SEC02",
  127. "org.springframework:spring-web:jar:2.5.6.SEC02",
  128. "org.twdata.pkgscanner:package-scanner:jar:0.9.5",
  129. "xerces:xercesImpl:jar:2.8.1"
  130. ));
  131. @Ignore("This test hits the network.")
  132. @Test
  133. public void getsExpectedArtifacts() throws Exception
  134. {
  135. InputStream in = getClass().getResourceAsStream("atlassian-platform-2.13.0.pom");
  136. assertNotNull(in);
  137. Set<String> actual = GetPlatformArtifacts.getPlatformDepsFrom(in);
  138. assertEquals(expected, actual);
  139. }
  140. @Test
  141. public void getsExpectedArtifactsFromFile() throws Exception
  142. {
  143. InputStream in = getClass().getResourceAsStream("dependency-resolve.txt");
  144. assertNotNull(in);
  145. Set<String> actual = GetPlatformArtifacts.parseDeps(new InputStreamReader(in, "us-ascii"));
  146. assertEquals(expected, actual);
  147. }
  148. @Test
  149. @Ignore
  150. public void getsPlatformPomFromNetwork() throws Exception
  151. {
  152. VerySimpleCache vsc = new VerySimpleCache(new File("target/cache-" + Math.random()), new BasicCredentialsProvider());
  153. String s = IOUtils.toString(GetPlatformArtifacts.getPomForPlatformVersion(vsc, "2.13.0"));
  154. assertTrue(s.contains("Atlassian Integration Platform POM"));
  155. assertTrue(s.contains("<version>2.13.0</version>"));
  156. }
  157. @Test
  158. public void targetFromDeps()
  159. {
  160. Map<String, ArtifactVersion> expected = new HashMap<String, ArtifactVersion>();
  161. expected.put("a:b", new DefaultArtifactVersion("1"));
  162. expected.put("a:other", new DefaultArtifactVersion("2.0"));
  163. Map<String, ArtifactVersion> upgradeTarget = GetPlatformArtifacts.upgradeTargetFrom(Arrays.asList("a:b:jar:1", "a:other:jar:2.0"));
  164. assertEquals(expected, upgradeTarget);
  165. }
  166. }