6ab0cd8d8a198dc7fa3552588c5330c02f20ead7
[teamcity/dotNetPackagesSupport.git] / nuget-tests / src / jetbrains / buildServer / nuget / tests / integration / FeedReaderTest.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.integration;\r
18 \r
19 import jetbrains.buildServer.BaseTestCase;\r
20 import jetbrains.buildServer.nuget.server.feed.reader.FeedPackage;\r
21 import jetbrains.buildServer.nuget.server.feed.reader.NuGetFeedReader;\r
22 import jetbrains.buildServer.nuget.server.feed.reader.impl.*;\r
23 import org.testng.Assert;\r
24 import org.testng.annotations.AfterMethod;\r
25 import org.testng.annotations.BeforeMethod;\r
26 import org.testng.annotations.Test;\r
27 \r
28 import java.io.IOException;\r
29 import java.util.Collection;\r
30 \r
31 /**\r
32  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
33  * Date: 11.08.11 16:04\r
34  */\r
35 public class FeedReaderTest extends BaseTestCase {\r
36   private NuGetFeedReader myReader;\r
37   private FeedClient myClient;\r
38 \r
39   @BeforeMethod\r
40   @Override\r
41   protected void setUp() throws Exception {\r
42     super.setUp();\r
43     myClient = new FeedClient();\r
44     final FeedGetMethodFactory methods = new FeedGetMethodFactory();\r
45     myReader = new NuGetFeedReaderImpl(myClient, new UrlResolver(myClient, methods), methods, new PackagesFeedParser());\r
46   }\r
47 \r
48   @AfterMethod\r
49   @Override\r
50   protected void tearDown() throws Exception {\r
51     super.tearDown();\r
52     myClient.dispose();\r
53   }\r
54 \r
55   @Test\r
56   public void testRead() throws IOException {\r
57     final Collection<FeedPackage> feedPackages = myReader.queryPackageVersions(FeedConstants.FEED_URL, "NuGet.CommandLine");\r
58     Assert.assertTrue(feedPackages.size() > 0);\r
59 \r
60     boolean hasLatest = false;\r
61     for (FeedPackage feedPackage : feedPackages) {\r
62       Assert.assertFalse(hasLatest && feedPackage.isLatestVersion(), "There could be only one latest");\r
63       hasLatest |= feedPackage.isLatestVersion();\r
64       System.out.println("feedPackage = " + feedPackage);\r
65     }\r
66   }\r
67 }\r