PageRenderTime 83ms CodeModel.GetById 69ms app.highlight 12ms RepoModel.GetById 0ms app.codeStats 0ms

/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/xml/CatalogHandlerTest.java

https://github.com/raschyoung/jclouds
Java | 143 lines | 111 code | 9 blank | 23 comment | 1 complexity | 734a106fbc48ff3c4e8c7e48ce26de40 MD5 | raw file
  1/**
  2 *
  3 * Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
  4 *
  5 * ====================================================================
  6 * Licensed under the Apache License, Version 2.0 (the "License");
  7 * you may not use this file except in compliance with the License.
  8 * You may obtain a copy of the License at
  9 *
 10 * http://www.apache.org/licenses/LICENSE-2.0
 11 *
 12 * Unless required by applicable law or agreed to in writing, software
 13 * distributed under the License is distributed on an "AS IS" BASIS,
 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15 * See the License for the specific language governing permissions and
 16 * limitations under the License.
 17 * ====================================================================
 18 */
 19package org.jclouds.trmk.vcloud_0_8.xml;
 20
 21import static org.jclouds.trmk.vcloud_0_8.TerremarkVCloudMediaType.CATALOGITEM_XML;
 22import static org.testng.Assert.assertEquals;
 23
 24import java.io.InputStream;
 25import java.net.URI;
 26
 27import org.jclouds.http.functions.ParseSax;
 28import org.jclouds.http.functions.ParseSax.Factory;
 29import org.jclouds.http.functions.config.SaxParserModule;
 30import org.jclouds.trmk.vcloud_0_8.domain.Catalog;
 31import org.jclouds.trmk.vcloud_0_8.domain.internal.ReferenceTypeImpl;
 32import org.testng.annotations.Test;
 33
 34import com.google.inject.Guice;
 35import com.google.inject.Injector;
 36
 37/**
 38 * Tests behavior of {@code CatalogHandler}
 39 * 
 40 * @author Adrian Cole
 41 */
 42@Test(groups = "unit")
 43public class CatalogHandlerTest {
 44
 45   private Injector injector;
 46
 47   private Factory factory;
 48
 49   public void testTerremark() {
 50      InputStream is = getClass().getResourceAsStream("/catalog.xml");
 51      injector = Guice.createInjector(new SaxParserModule());
 52      factory = injector.getInstance(ParseSax.Factory.class);
 53      Catalog result = (Catalog) factory.create(injector.getInstance(CatalogHandler.class)).parse(is);
 54      assertEquals(result.getName(), "Miami Environment 1");
 55      assert result.getDescription() == null;
 56
 57      assertEquals(result.getHref(), URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/vdc/32/catalog"));
 58      assertEquals(
 59            result.get("CentOS 5.3 (32-bit)"),
 60            new ReferenceTypeImpl("CentOS 5.3 (32-bit)", CATALOGITEM_XML, URI
 61                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/5")));
 62      assertEquals(
 63            result.get("CentOS 5.3 (64-bit)"),
 64            new ReferenceTypeImpl("CentOS 5.3 (64-bit)", CATALOGITEM_XML, URI
 65                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/6")));
 66      assertEquals(
 67            result.get("RHEL 5.3 (32-bit)"),
 68            new ReferenceTypeImpl("RHEL 5.3 (32-bit)", CATALOGITEM_XML, URI
 69                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/7")));
 70      assertEquals(
 71            result.get("RHEL 5.3 (64-bit)"),
 72            new ReferenceTypeImpl("RHEL 5.3 (64-bit)", CATALOGITEM_XML, URI
 73                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/8")));
 74      assertEquals(result.get("Ubuntu JeOS 9.04 (32-bit)"), new ReferenceTypeImpl("Ubuntu JeOS 9.04 (32-bit)",
 75            CATALOGITEM_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/11")));
 76      assertEquals(result.get("Ubuntu JeOS 9.04 (64-bit)"), new ReferenceTypeImpl("Ubuntu JeOS 9.04 (64-bit)",
 77            CATALOGITEM_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/12")));
 78      assertEquals(result.get("Ubuntu Server 9.04 (32-bit)"), new ReferenceTypeImpl("Ubuntu Server 9.04 (32-bit)",
 79            CATALOGITEM_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/9")));
 80      assertEquals(result.get("Ubuntu Server 9.04 (64-bit)"), new ReferenceTypeImpl("Ubuntu Server 9.04 (64-bit)",
 81            CATALOGITEM_XML, URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/10")));
 82      assertEquals(
 83            result.get("Windows 2003 Enterprise R2 (32-bit)"),
 84            new ReferenceTypeImpl("Windows 2003 Enterprise R2 (32-bit)", CATALOGITEM_XML, URI
 85                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/1")));
 86      assertEquals(
 87            result.get("Windows 2003 Enterprise R2 (64-bit)"),
 88            new ReferenceTypeImpl("Windows 2003 Enterprise R2 (64-bit)", CATALOGITEM_XML, URI
 89                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/2")));
 90      assertEquals(
 91            result.get("Windows 2003 Standard R2 (32-bit)"),
 92            new ReferenceTypeImpl("Windows 2003 Standard R2 (32-bit)", CATALOGITEM_XML, URI
 93                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/3")));
 94      assertEquals(
 95            result.get("Windows 2003 Standard R2 (64-bit)"),
 96            new ReferenceTypeImpl("Windows 2003 Standard R2 (64-bit)", CATALOGITEM_XML, URI
 97                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/4")));
 98      assertEquals(
 99            result.get("Windows 2003 Standard R2 w.SQL 2008 Web (64-bit)"),
100            new ReferenceTypeImpl("Windows 2003 Standard R2 w.SQL 2008 Web (64-bit)", CATALOGITEM_XML, URI
101                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/23")));
102      assertEquals(
103            result.get("Windows Server 2008 Enterprise (32-bit)"),
104            new ReferenceTypeImpl("Windows Server 2008 Enterprise (32-bit)", CATALOGITEM_XML, URI
105                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/13")));
106      assertEquals(
107            result.get("Windows Server 2008 Enterprise (64-bit)"),
108            new ReferenceTypeImpl("Windows Server 2008 Enterprise (64-bit)", CATALOGITEM_XML, URI
109                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/15")));
110      assertEquals(
111            result.get("Windows Server 2008 Enterprise R2 (64-bit)"),
112            new ReferenceTypeImpl("Windows Server 2008 Enterprise R2 (64-bit)", CATALOGITEM_XML, URI
113                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/16")));
114      assertEquals(
115            result.get("Windows Server 2008 Standard (32-bit)"),
116            new ReferenceTypeImpl("Windows Server 2008 Standard (32-bit)", CATALOGITEM_XML, URI
117                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/17")));
118      assertEquals(
119            result.get("Windows Server 2008 Standard (64-bit)"),
120            new ReferenceTypeImpl("Windows Server 2008 Standard (64-bit)", CATALOGITEM_XML, URI
121                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/18")));
122      assertEquals(
123            result.get("Windows Server 2008 Standard R2 (64-bit)"),
124            new ReferenceTypeImpl("Windows Server 2008 Standard R2 (64-bit)", CATALOGITEM_XML, URI
125                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/19")));
126      assertEquals(
127            result.get("Windows Server 2008 Standard w.SQL 2008 Web (64-bit)"),
128            new ReferenceTypeImpl("Windows Server 2008 Standard w.SQL 2008 Web (64-bit)", CATALOGITEM_XML, URI
129                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/14")));
130      assertEquals(
131            result.get("Windows Web Server 2008 (32-bit)"),
132            new ReferenceTypeImpl("Windows Web Server 2008 (32-bit)", CATALOGITEM_XML, URI
133                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/20")));
134      assertEquals(
135            result.get("Windows Web Server 2008 (64-bit)"),
136            new ReferenceTypeImpl("Windows Web Server 2008 (64-bit)", CATALOGITEM_XML, URI
137                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/21")));
138      assertEquals(
139            result.get("Windows Web Server 2008 R2 (64-bit)"),
140            new ReferenceTypeImpl("Windows Web Server 2008 R2 (64-bit)", CATALOGITEM_XML, URI
141                  .create("https://services.vcloudexpress.terremark.com/api/v0.8/catalogItem/22")));
142   }
143}