PageRenderTime 46ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/src/test/java/ru/aristar/jnuget/files/NuspecFileTest.java

https://code.google.com/p/jnuget/
Java | 202 lines | 113 code | 15 blank | 74 comment | 0 complexity | e9db8794cc11988e15409352ae712970 MD5 | raw file
  1. package ru.aristar.jnuget.files;
  2. import java.io.InputStream;
  3. import java.util.List;
  4. import static org.junit.Assert.*;
  5. import org.junit.Test;
  6. import ru.aristar.jnuget.Reference;
  7. import ru.aristar.jnuget.Version;
  8. import ru.aristar.jnuget.rss.PackageEntry;
  9. /**
  10. *
  11. * @author sviridov
  12. */
  13. public class NuspecFileTest {
  14. /**
  15. * ???? ??????? ????? ???????????? ?? XML
  16. *
  17. * @throws Exception ?????? ? ???????? ?????
  18. */
  19. @Test
  20. public void testParseMethod() throws Exception {
  21. final String fileName = "/nuspec/test.nuspec.xml";
  22. NuspecFile result = NuspecFile.Parse(NuspecFileTest.class.getResourceAsStream(fileName));
  23. assertEquals("????????????? ??????", "Neolant.ProjectWise.IsolationLevel.Implementation", result.getId());
  24. assertEquals("?????? ??????", Version.parse("1.4.7.550"), result.getVersion());
  25. assertEquals("??????? ????????", "?????????? ?????? ???????? ProjecWise API", result.getTitle());
  26. assertEquals("??????", "???????", result.getAuthors());
  27. assertEquals("?????????", "???????", result.getOwners());
  28. assertEquals("????????? ????????????? ????????", false, result.isRequireLicenseAcceptance());
  29. assertEquals("????????", "?????????? ?????????? ?????? ???????? ProjecWise API", result.getDescription());
  30. assertEquals("?????", "???????", result.getCopyright());
  31. }
  32. /**
  33. * ?????? ????? ???????????? ?? XML, ???? ??????? ?????? ?? ?????
  34. *
  35. * @throws Exception ?????? ? ???????? ?????
  36. */
  37. @Test
  38. public void testParseWithReferences() throws Exception {
  39. // GIVEN
  40. final String fileName = "/nuspec/NUnit.nuspec.xml";
  41. Reference dll = new Reference().setFile("nunit.framework.dll");
  42. Reference xml = new Reference().setFile("nunit.framework.xml");
  43. Reference[] references = new Reference[]{dll, xml};
  44. String[] tags = new String[]{"Unit", "test"};
  45. // WHEN
  46. NuspecFile result = NuspecFile.Parse(NuspecFileTest.class.getResourceAsStream(fileName));
  47. // THEN
  48. assertEquals("????????????? ??????", "NUnit", result.getId());
  49. assertEquals("?????? ??????", Version.parse("2.5.9.10348"), result.getVersion());
  50. assertEquals("??????", "NUnit", result.getAuthors());
  51. assertEquals("?????????", "NUnit", result.getOwners());
  52. assertEquals("????????? ????????????? ????????", false, result.isRequireLicenseAcceptance());
  53. assertEquals("????????", "????? ?????????? ????????????", result.getDescription());
  54. assertEquals("?????", "Copyright 2011", result.getCopyright());
  55. assertEquals("?????????? ?????", tags.length, result.getTags().size());
  56. assertArrayEquals("?????", tags, result.getTags().toArray());
  57. assertEquals("?????????? ??????", references.length, result.getReferences().size());
  58. assertArrayEquals("??????", references, result.getReferences().toArray());
  59. }
  60. /**
  61. * ?????? ????? ???????????? ?? XML, ???? ??????? ??????????? ??????
  62. *
  63. * @throws Exception ?????? ? ???????? ?????
  64. */
  65. @Test
  66. public void testParseWithDependencies() throws Exception {
  67. // GIVEN
  68. final String fileName = "/nuspec/NHibernate.nuspec.xml";
  69. Dependency dep = new Dependency();
  70. dep.id = "Iesi.Collections";
  71. dep.versionRange = VersionRange.parse("3.2.0.4000");
  72. Dependency[] dependencies = new Dependency[]{dep};
  73. String[] tags = new String[]{"ORM", "DataBase", "DAL", "ObjectRelationalMapping"};
  74. // WHEN
  75. NuspecFile result = NuspecFile.Parse(NuspecFileTest.class.getResourceAsStream(fileName));
  76. // THEN
  77. assertEquals("????????????? ??????", "NHibernate", result.getId());
  78. assertEquals("?????? ??????", Version.parse("3.2.0.4000"), result.getVersion());
  79. assertEquals("??????", "NHibernate community, Hibernate community", result.getAuthors());
  80. assertEquals("?????????", "NHibernate community, Hibernate community", result.getOwners());
  81. assertEquals("????????? ????????????? ????????", false, result.isRequireLicenseAcceptance());
  82. assertEquals("????????",
  83. "NHibernate is a mature, open source object-relational mapper for the .NET framework. It's actively developed , fully featured and used in thousands of successful projects.",
  84. result.getDescription());
  85. assertEquals("??????? ????????",
  86. "NHibernate is a mature, open source object-relational mapper for the .NET framework. It's actively developed , fully featured and used in thousands of successful projects.",
  87. result.getSummary());
  88. assertEquals("?????????? ?????", tags.length, result.getTags().size());
  89. assertArrayEquals("?????", tags, result.getTags().toArray());
  90. assertEquals("?????????? ????????????", dependencies.length, result.getDependencies().size());
  91. assertArrayEquals("???????????", dependencies, result.getDependencies().toArray());
  92. }
  93. /**
  94. * ???????? ????????? ?????????? ? ??????
  95. *
  96. * @throws Exception ?????? ? ???????? ?????
  97. */
  98. @Test
  99. public void testParseReleaseNotes() throws Exception {
  100. //GIVEN
  101. InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/nuspec/FluentAssertions.nuspec.xml");
  102. //WHEN
  103. NuspecFile nuspecFile = NuspecFile.Parse(inputStream);
  104. //THEN
  105. assertEquals("?????????? ? ??????", "And() extension method to "
  106. + "TimeSpanConversionExtensions to support 4.Hours()."
  107. + "And(30.Minutes())", nuspecFile.getReleaseNotes());
  108. }
  109. /**
  110. * ???????? ?? ???????????? ?????? ?????
  111. * http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd
  112. *
  113. * @throws Exception ?????? ? ???????? ?????
  114. */
  115. @Test
  116. public void testParseOldScheme() throws Exception {
  117. //GIVEN
  118. InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/nuspec/NLog.nuspec.xml");
  119. //WHEN
  120. NuspecFile nuspecFile = NuspecFile.Parse(inputStream);
  121. //THEN
  122. assertEquals("????????????? ??????", "NLog", nuspecFile.getId());
  123. }
  124. /**
  125. * ???????? ?????????? ?????????? ?? ????????????, ???????? ??????? ???????
  126. * ?? ????? ???????????? ????
  127. *
  128. * @throws Exception ?????? ? ???????? ?????
  129. */
  130. @Test
  131. public void testParseWithNoNamespaceRootElement() throws Exception {
  132. //GIVEN
  133. InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/nuspec/PostSharp.nuspec.xml");
  134. //WHEN
  135. NuspecFile nuspecFile = NuspecFile.Parse(inputStream);
  136. //THEN
  137. assertEquals("????????????? ??????", "PostSharp", nuspecFile.getId());
  138. }
  139. /**
  140. * ???? ???????? ???????????? ?????? ?? RSS ???????? ??????
  141. *
  142. * @throws Exception ?????? ? ???????? ?????
  143. */
  144. @Test
  145. public void testCreateFromPAckageEntry() throws Exception {
  146. //GIVEN
  147. InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/rss/entry/Moq.xml");
  148. PackageEntry entry = PackageEntry.parse(inputStream);
  149. //WHEN
  150. NuspecFile nuspecFile = new NuspecFile(entry);
  151. //THEN
  152. assertEquals("????????????? ??????", "Moq", nuspecFile.getId());
  153. assertEquals("?????? ??????", Version.parse("4.0.10827"), nuspecFile.getVersion());
  154. assertEquals("??????? ????????", "", nuspecFile.getSummary());
  155. assertEquals("?????", "", nuspecFile.getCopyright());
  156. assertArrayEquals("?????", new String[]{"Unit", "test", "Mock"}, nuspecFile.getTags().toArray());
  157. assertEquals("????????", "Mock ??? unit ??????", nuspecFile.getDescription());
  158. assertEquals("????????? ????????????? ????????", false, nuspecFile.isRequireLicenseAcceptance());
  159. }
  160. /**
  161. * ???? ???????? ???????????? ?????? ? ????????????? ??????? ???????????
  162. *
  163. * @throws Exception ?????? ? ???????? ?????
  164. */
  165. @Test
  166. public void testCreateWithFixedDependencyVersion() throws Exception {
  167. //GIVEN
  168. InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/nuspec/fixed.dependency.nuspec.xml");
  169. //WHEN
  170. NuspecFile nuspecFile = NuspecFile.Parse(inputStream);
  171. List<Dependency> dependencys = nuspecFile.getDependencies();
  172. //THEN
  173. assertEquals("?????????? ????????????", dependencys.size(), 1);
  174. }
  175. /**
  176. * ???? ???????? ???????????? ?????? ? ???????????? ???????
  177. *
  178. * @throws Exception ?????? ? ???????? ?????
  179. */
  180. @Test(expected = NugetFormatException.class)
  181. public void testCreateWithIncorrectVersion() throws Exception {
  182. //GIVEN
  183. InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/nuspec/incorrect.version.nuspec.xml");
  184. //WHEN
  185. NuspecFile.Parse(inputStream);
  186. }
  187. }