Author: adietish
Date: 2011-01-11 08:45:15 -0500 (Tue, 11 Jan 2011)
New Revision: 28094
Added:
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/RealmDomUnmarshallingTest.java
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/fakes/RealmResponseFakes.java
Modified:
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/DeltaCloudTestSuite.java
Log:
[JBIDE-7935] moved realms unmarshalling to separate classes (and added tests).
Modified:
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/DeltaCloudTestSuite.java
===================================================================
---
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/DeltaCloudTestSuite.java 2011-01-11
13:44:39 UTC (rev 28093)
+++
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/DeltaCloudTestSuite.java 2011-01-11
13:45:15 UTC (rev 28094)
@@ -14,6 +14,7 @@
import org.jboss.tools.internal.deltacloud.test.core.client.ImageDomUnmarshallingTest;
import
org.jboss.tools.internal.deltacloud.test.core.client.InstanceDomUnmarshallingTest;
import org.jboss.tools.internal.deltacloud.test.core.client.KeyDomUnmarshallingTest;
+import org.jboss.tools.internal.deltacloud.test.core.client.RealmDomUnmarshallingTest;
import org.jboss.tools.internal.deltacloud.test.core.job.CloudSchedulingRulesTest;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@@ -27,6 +28,7 @@
KeyDomUnmarshallingTest.class,
InstanceDomUnmarshallingTest.class,
ImageDomUnmarshallingTest.class,
- HardwareProfileDomUnmarshallingTest.class})
+ HardwareProfileDomUnmarshallingTest.class,
+ RealmDomUnmarshallingTest.class})
public class DeltaCloudTestSuite {
}
Added:
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/RealmDomUnmarshallingTest.java
===================================================================
---
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/RealmDomUnmarshallingTest.java
(rev 0)
+++
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/RealmDomUnmarshallingTest.java 2011-01-11
13:45:15 UTC (rev 28094)
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.internal.deltacloud.test.core.client;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.ByteArrayInputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.deltacloud.core.client.DeltaCloudClientException;
+import org.jboss.tools.deltacloud.core.client.Realm;
+import org.jboss.tools.deltacloud.core.client.Realm.RealmState;
+import org.jboss.tools.deltacloud.core.client.unmarshal.RealmUnmarshaller;
+import org.jboss.tools.deltacloud.core.client.unmarshal.RealmsUnmarshaller;
+import org.jboss.tools.internal.deltacloud.test.fakes.RealmResponseFakes;
+import org.jboss.tools.internal.deltacloud.test.fakes.RealmResponseFakes.RealmsResponse;
+import org.junit.Test;
+
+/**
+ * @author André Dietisheim
+ */
+public class RealmDomUnmarshallingTest {
+
+ @Test
+ public void realmMayBeUnmarshalled() throws DeltaCloudClientException {
+ Realm realm = new Realm();
+ ByteArrayInputStream inputStream = new
ByteArrayInputStream(RealmResponseFakes.realmResponse.response.getBytes());
+ new RealmUnmarshaller().unmarshall(inputStream, realm);
+ assertNotNull(realm);
+ assertEquals(RealmResponseFakes.realmResponse.id, realm.getId());
+ assertEquals(RealmResponseFakes.realmResponse.name, realm.getName());
+ assertEquals(RealmState.valueOf(RealmResponseFakes.realmResponse.state.toUpperCase()),
realm.getState());
+ assertEquals(RealmResponseFakes.realmResponse.getIntLimit(), realm.getLimit());
+ }
+
+ @Test
+ public void emptyLimitSetsDefaultLimit() throws DeltaCloudClientException {
+ Realm realm = new Realm();
+ ByteArrayInputStream inputStream = new
ByteArrayInputStream(RealmResponseFakes.invalidLimitRealmResponse.response.getBytes());
+ new RealmUnmarshaller().unmarshall(inputStream, realm);
+ assertNotNull(realm);
+ assertEquals(Realm.LIMIT_DEFAULT, realm.getLimit());
+ }
+
+ @Test
+ public void invalidStateSetsUNKNOWNState() throws DeltaCloudClientException {
+ Realm realm = new Realm();
+ ByteArrayInputStream inputStream = new
ByteArrayInputStream(RealmResponseFakes.invalidLimitRealmResponse.response.getBytes());
+ new RealmUnmarshaller().unmarshall(inputStream, realm);
+ assertNotNull(realm);
+ assertEquals(Realm.LIMIT_DEFAULT, realm.getLimit());
+ }
+
+ @Test
+ public void realmsMayBeUnmarshalled() throws DeltaCloudClientException {
+ ByteArrayInputStream inputStream = new
ByteArrayInputStream(RealmsResponse.response.getBytes());
+ List<Realm> realms = new ArrayList<Realm>();
+ new RealmsUnmarshaller().unmarshall(inputStream, realms);
+ assertEquals(2, realms.size());
+
+ Realm realm = realms.get(0);
+ assertEquals(RealmsResponse.id1, realm.getId());
+ assertEquals(RealmsResponse.name1, realm.getName());
+
+ realm = realms.get(1);
+ assertEquals(RealmsResponse.id2, realm.getId());
+ assertEquals(RealmsResponse.name2, realm.getName());
+ }
+
+}
Property changes on:
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/core/client/RealmDomUnmarshallingTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/fakes/RealmResponseFakes.java
===================================================================
---
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/fakes/RealmResponseFakes.java
(rev 0)
+++
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/fakes/RealmResponseFakes.java 2011-01-11
13:45:15 UTC (rev 28094)
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.internal.deltacloud.test.fakes;
+
+import org.jboss.tools.deltacloud.core.client.Realm.RealmState;
+
+/**
+ * @author André Dietisheim
+ */
+public class RealmResponseFakes {
+
+ public static final RealmResponse realmResponse = new RealmResponse(
+ "http://try.steamcannon.org/deltacloud/api/realms/us-east-1a",
+ "us-east-1a",
+ "us-east-1a",
+ RealmState.AVAILABLE.toString().toLowerCase(),
+ "22");
+ public static final RealmResponse invalidLimitRealmResponse = new RealmResponse(
+ "http://try.steamcannon.org/deltacloud/api/realms/us-east-1a",
+ "us-east-1a",
+ "us-east-1a",
+ RealmState.AVAILABLE.toString().toLowerCase(),
+ "aa");
+
+ public static class RealmResponse {
+
+ public RealmResponse(String url, String id, String name, String state, String limit) {
+ this.url = url;
+ this.id = id;
+ this.name = name;
+ this.state = state;
+ this.limit = limit;
+ this.response = getRealmResponseXML(url, id, name, state, limit);
+ }
+
+ public String url =
"http://try.steamcannon.org/deltacloud/api/realms/us-east-1a";
+ public String id = "us-east-1a";
+ public String name = "us-east-1a";
+ public String state = RealmState.AVAILABLE.toString().toLowerCase();
+ public String limit = "22";
+ public String response = getRealmResponseXML(url, id, name, state, limit);
+
+ public int getIntLimit() {
+ return Integer.parseInt(limit);
+ }
+ }
+
+ public static class RealmsResponse {
+
+ public static final String url1 =
"http://try.steamcannon.org/deltacloud/api/realms/us-east-1a";
+ public static final String id1 = "us-east-1a";
+ public static final String name1 = "us-east-1a";
+ public static final String state1 = RealmState.AVAILABLE.toString().toLowerCase();
+ public static final String limit1 = "2";
+
+ public static final String url2 =
"http://try.steamcannon.org/deltacloud/api/realms/us-east-2a";
+ public static final String id2 = "us-east-2a";
+ public static final String name2 = "us-east-2a";
+ public static final String state2 = RealmState.AVAILABLE.toString().toLowerCase();
+ public static final String limit2 = "12";
+
+ public static final String response =
+ "<realms>"
+ + getRealmResponseXML(url1, id1, name1, state1, limit1)
+ + getRealmResponseXML(url2, id2, name2, state2, limit2)
+ + "</realms>";
+
+ }
+
+ private static String getRealmResponseXML(String url, String id, String name, String
state, String limit) {
+ return "<realm href='" + url + "' id='" + id +
"'>"
+ + "<name>" + name + "</name>"
+ + "<state>" + state + "</state>"
+ + "<limit>" + limit + "</limit>"
+ + "</realm>";
+ }
+}
Property changes on:
trunk/deltacloud/tests/org.jboss.tools.deltacloud.test/src/org/jboss/tools/internal/deltacloud/test/fakes/RealmResponseFakes.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain