add new ant paths matcher
[teamcity/dotNetPackagesSupport.git] / nuget-tests / src / jetbrains / buildServer / nuget / tests / common / PackageDependenciesStoreTest.java
1 /*\r
2  * Copyright 2000-2011 JetBrains s.r.o.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  * http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package jetbrains.buildServer.nuget.tests.common;\r
18 \r
19 import jetbrains.buildServer.BaseTestCase;\r
20 import jetbrains.buildServer.nuget.common.PackageDependencies;\r
21 import jetbrains.buildServer.nuget.common.PackageDependenciesStore;\r
22 import jetbrains.buildServer.nuget.common.PackageInfo;\r
23 import org.testng.Assert;\r
24 import org.testng.annotations.BeforeMethod;\r
25 import org.testng.annotations.Test;\r
26 \r
27 import java.io.File;\r
28 import java.io.IOException;\r
29 import java.util.Arrays;\r
30 import java.util.TreeSet;\r
31 \r
32 /**\r
33  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
34  * Date: 19.07.11 13:24\r
35  */\r
36 public class PackageDependenciesStoreTest extends BaseTestCase {\r
37   private PackageDependenciesStore store;\r
38 \r
39   @BeforeMethod\r
40   @Override\r
41   protected void setUp() throws Exception {\r
42     store = new PackageDependenciesStore();\r
43   }\r
44 \r
45   @Test\r
46   public void test_load() throws IOException {\r
47     File temp = createTempFile("<nuget-dependencies>\n" +\r
48             "  <packages>\n" +\r
49             "    <package id=\"id1\" version=\"v1\" />\n" +\r
50             "    <package id=\"id2\" version=\"v2\" />\n" +\r
51             "  </packages>\n" +\r
52             "  <sources>\n" +\r
53             "    <source>source1</source>\n" +\r
54             "    <source>source2</source>\n" +\r
55             "  </sources>\n" +\r
56             "</nuget-dependencies>");\r
57 \r
58     PackageDependencies deps = new PackageDependencies(Arrays.asList("source1", "source2"),\r
59             Arrays.asList(new PackageInfo("id1", "v1"), new PackageInfo("id2", "v2")));\r
60 \r
61     PackageDependencies load = store.load(temp);\r
62     assertEquals(deps, load);\r
63   }\r
64 \r
65 \r
66   @Test\r
67   public void test_saveLoad() throws IOException {\r
68     final File tmp = createTempFile();\r
69 \r
70     PackageDependencies deps = new PackageDependencies(Arrays.asList("source1", "source2"),\r
71             Arrays.asList(new PackageInfo("id1", "v1"), new PackageInfo("id2", "v2")));\r
72     store.save(deps, tmp);\r
73 \r
74     dumpFile(tmp);\r
75 \r
76     PackageDependencies load = store.load(tmp);\r
77 \r
78     assertEquals(deps, load);\r
79   }\r
80 \r
81   private void assertEquals(PackageDependencies deps, PackageDependencies load) {\r
82     Assert.assertEquals(new TreeSet<String>(load.getSources()), new TreeSet<String>(deps.getSources()));\r
83     Assert.assertEquals(new TreeSet<PackageInfo>(load.getPackages()), new TreeSet<PackageInfo>(deps.getPackages()));\r
84   }\r
85 }\r