/src/test/java/ru/aristar/jnuget/files/NuspecFileTest.java
Java | 202 lines | 113 code | 15 blank | 74 comment | 0 complexity | e9db8794cc11988e15409352ae712970 MD5 | raw file
- package ru.aristar.jnuget.files;
- import java.io.InputStream;
- import java.util.List;
- import static org.junit.Assert.*;
- import org.junit.Test;
- import ru.aristar.jnuget.Reference;
- import ru.aristar.jnuget.Version;
- import ru.aristar.jnuget.rss.PackageEntry;
- /**
- *
- * @author sviridov
- */
- public class NuspecFileTest {
- /**
- * ???? ??????? ????? ???????????? ?? XML
- *
- * @throws Exception ?????? ? ???????? ?????
- */
- @Test
- public void testParseMethod() throws Exception {
- final String fileName = "/nuspec/test.nuspec.xml";
- NuspecFile result = NuspecFile.Parse(NuspecFileTest.class.getResourceAsStream(fileName));
- assertEquals("????????????? ??????", "Neolant.ProjectWise.IsolationLevel.Implementation", result.getId());
- assertEquals("?????? ??????", Version.parse("1.4.7.550"), result.getVersion());
- assertEquals("??????? ????????", "?????????? ?????? ???????? ProjecWise API", result.getTitle());
- assertEquals("??????", "???????", result.getAuthors());
- assertEquals("?????????", "???????", result.getOwners());
- assertEquals("????????? ????????????? ????????", false, result.isRequireLicenseAcceptance());
- assertEquals("????????", "?????????? ?????????? ?????? ???????? ProjecWise API", result.getDescription());
- assertEquals("?????", "???????", result.getCopyright());
- }
- /**
- * ?????? ????? ???????????? ?? XML, ???? ??????? ?????? ?? ?????
- *
- * @throws Exception ?????? ? ???????? ?????
- */
- @Test
- public void testParseWithReferences() throws Exception {
- // GIVEN
- final String fileName = "/nuspec/NUnit.nuspec.xml";
- Reference dll = new Reference().setFile("nunit.framework.dll");
- Reference xml = new Reference().setFile("nunit.framework.xml");
- Reference[] references = new Reference[]{dll, xml};
- String[] tags = new String[]{"Unit", "test"};
- // WHEN
- NuspecFile result = NuspecFile.Parse(NuspecFileTest.class.getResourceAsStream(fileName));
- // THEN
- assertEquals("????????????? ??????", "NUnit", result.getId());
- assertEquals("?????? ??????", Version.parse("2.5.9.10348"), result.getVersion());
- assertEquals("??????", "NUnit", result.getAuthors());
- assertEquals("?????????", "NUnit", result.getOwners());
- assertEquals("????????? ????????????? ????????", false, result.isRequireLicenseAcceptance());
- assertEquals("????????", "????? ?????????? ????????????", result.getDescription());
- assertEquals("?????", "Copyright 2011", result.getCopyright());
- assertEquals("?????????? ?????", tags.length, result.getTags().size());
- assertArrayEquals("?????", tags, result.getTags().toArray());
- assertEquals("?????????? ??????", references.length, result.getReferences().size());
- assertArrayEquals("??????", references, result.getReferences().toArray());
- }
- /**
- * ?????? ????? ???????????? ?? XML, ???? ??????? ??????????? ??????
- *
- * @throws Exception ?????? ? ???????? ?????
- */
- @Test
- public void testParseWithDependencies() throws Exception {
- // GIVEN
- final String fileName = "/nuspec/NHibernate.nuspec.xml";
- Dependency dep = new Dependency();
- dep.id = "Iesi.Collections";
- dep.versionRange = VersionRange.parse("3.2.0.4000");
- Dependency[] dependencies = new Dependency[]{dep};
- String[] tags = new String[]{"ORM", "DataBase", "DAL", "ObjectRelationalMapping"};
- // WHEN
- NuspecFile result = NuspecFile.Parse(NuspecFileTest.class.getResourceAsStream(fileName));
- // THEN
- assertEquals("????????????? ??????", "NHibernate", result.getId());
- assertEquals("?????? ??????", Version.parse("3.2.0.4000"), result.getVersion());
- assertEquals("??????", "NHibernate community, Hibernate community", result.getAuthors());
- assertEquals("?????????", "NHibernate community, Hibernate community", result.getOwners());
- assertEquals("????????? ????????????? ????????", false, result.isRequireLicenseAcceptance());
- assertEquals("????????",
- "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.",
- result.getDescription());
- assertEquals("??????? ????????",
- "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.",
- result.getSummary());
- assertEquals("?????????? ?????", tags.length, result.getTags().size());
- assertArrayEquals("?????", tags, result.getTags().toArray());
- assertEquals("?????????? ????????????", dependencies.length, result.getDependencies().size());
- assertArrayEquals("???????????", dependencies, result.getDependencies().toArray());
- }
- /**
- * ???????? ????????? ?????????? ? ??????
- *
- * @throws Exception ?????? ? ???????? ?????
- */
- @Test
- public void testParseReleaseNotes() throws Exception {
- //GIVEN
- InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/nuspec/FluentAssertions.nuspec.xml");
- //WHEN
- NuspecFile nuspecFile = NuspecFile.Parse(inputStream);
- //THEN
- assertEquals("?????????? ? ??????", "And() extension method to "
- + "TimeSpanConversionExtensions to support 4.Hours()."
- + "And(30.Minutes())", nuspecFile.getReleaseNotes());
- }
- /**
- * ???????? ?? ???????????? ?????? ?????
- * http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd
- *
- * @throws Exception ?????? ? ???????? ?????
- */
- @Test
- public void testParseOldScheme() throws Exception {
- //GIVEN
- InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/nuspec/NLog.nuspec.xml");
- //WHEN
- NuspecFile nuspecFile = NuspecFile.Parse(inputStream);
- //THEN
- assertEquals("????????????? ??????", "NLog", nuspecFile.getId());
- }
- /**
- * ???????? ?????????? ?????????? ?? ????????????, ???????? ??????? ???????
- * ?? ????? ???????????? ????
- *
- * @throws Exception ?????? ? ???????? ?????
- */
- @Test
- public void testParseWithNoNamespaceRootElement() throws Exception {
- //GIVEN
- InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/nuspec/PostSharp.nuspec.xml");
- //WHEN
- NuspecFile nuspecFile = NuspecFile.Parse(inputStream);
- //THEN
- assertEquals("????????????? ??????", "PostSharp", nuspecFile.getId());
- }
- /**
- * ???? ???????? ???????????? ?????? ?? RSS ???????? ??????
- *
- * @throws Exception ?????? ? ???????? ?????
- */
- @Test
- public void testCreateFromPAckageEntry() throws Exception {
- //GIVEN
- InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/rss/entry/Moq.xml");
- PackageEntry entry = PackageEntry.parse(inputStream);
- //WHEN
- NuspecFile nuspecFile = new NuspecFile(entry);
- //THEN
- assertEquals("????????????? ??????", "Moq", nuspecFile.getId());
- assertEquals("?????? ??????", Version.parse("4.0.10827"), nuspecFile.getVersion());
- assertEquals("??????? ????????", "", nuspecFile.getSummary());
- assertEquals("?????", "", nuspecFile.getCopyright());
- assertArrayEquals("?????", new String[]{"Unit", "test", "Mock"}, nuspecFile.getTags().toArray());
- assertEquals("????????", "Mock ??? unit ??????", nuspecFile.getDescription());
- assertEquals("????????? ????????????? ????????", false, nuspecFile.isRequireLicenseAcceptance());
- }
- /**
- * ???? ???????? ???????????? ?????? ? ????????????? ??????? ???????????
- *
- * @throws Exception ?????? ? ???????? ?????
- */
- @Test
- public void testCreateWithFixedDependencyVersion() throws Exception {
- //GIVEN
- InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/nuspec/fixed.dependency.nuspec.xml");
- //WHEN
- NuspecFile nuspecFile = NuspecFile.Parse(inputStream);
- List<Dependency> dependencys = nuspecFile.getDependencies();
- //THEN
- assertEquals("?????????? ????????????", dependencys.size(), 1);
- }
- /**
- * ???? ???????? ???????????? ?????? ? ???????????? ???????
- *
- * @throws Exception ?????? ? ???????? ?????
- */
- @Test(expected = NugetFormatException.class)
- public void testCreateWithIncorrectVersion() throws Exception {
- //GIVEN
- InputStream inputStream = NuspecFileTest.class.getResourceAsStream("/nuspec/incorrect.version.nuspec.xml");
- //WHEN
- NuspecFile.Parse(inputStream);
- }
- }