You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ja...@apache.org on 2014/08/19 22:44:08 UTC
[2/2] git commit: SQOOP-1449: Sqoop2: From/To: Re-enable common tests
SQOOP-1449: Sqoop2: From/To: Re-enable common tests
(Abraham Elmahrek via Jarek Jarcec Cecho)
Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/3bb7ff83
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/3bb7ff83
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/3bb7ff83
Branch: refs/heads/SQOOP-1367
Commit: 3bb7ff834123f74dd650a57597a59c4854479f0d
Parents: 5f04f53
Author: Jarek Jarcec Cecho <ja...@apache.org>
Authored: Tue Aug 19 13:42:50 2014 -0700
Committer: Jarek Jarcec Cecho <ja...@apache.org>
Committed: Tue Aug 19 13:42:50 2014 -0700
----------------------------------------------------------------------
.../org/apache/sqoop/common/TestMapContext.java | 156 +++----
.../sqoop/common/TestSqoopResponseCode.java | 26 +-
.../apache/sqoop/common/TestVersionInfo.java | 16 +-
.../apache/sqoop/json/TestConnectionBean.java | 202 ++++-----
.../apache/sqoop/json/TestConnectorBean.java | 72 ++--
.../apache/sqoop/json/TestFrameworkBean.java | 52 +--
.../java/org/apache/sqoop/json/TestJobBean.java | 116 ++---
.../org/apache/sqoop/json/TestSchemaBean.java | 40 +-
.../java/org/apache/sqoop/json/TestUtil.java | 216 +++++-----
.../apache/sqoop/json/TestValidationBean.java | 212 +++++----
.../sqoop/json/util/TestFormSerialization.java | 224 +++++-----
.../json/util/TestSchemaSerialization.java | 262 ++++++------
.../org/apache/sqoop/model/TestFormUtils.java | 428 +++++++++----------
.../sqoop/model/TestMAccountableEntity.java | 56 +--
.../apache/sqoop/model/TestMBooleanInput.java | 132 +++---
.../org/apache/sqoop/model/TestMConnection.java | 178 ++++----
.../sqoop/model/TestMConnectionForms.java | 32 +-
.../org/apache/sqoop/model/TestMConnector.java | 72 ++--
.../org/apache/sqoop/model/TestMEnumInput.java | 68 +--
.../java/org/apache/sqoop/model/TestMForm.java | 114 ++---
.../org/apache/sqoop/model/TestMFormList.java | 52 +--
.../org/apache/sqoop/model/TestMFramework.java | 29 +-
.../apache/sqoop/model/TestMIntegerInput.java | 144 +++----
.../java/org/apache/sqoop/model/TestMJob.java | 213 ++++-----
.../org/apache/sqoop/model/TestMJobForms.java | 31 +-
.../org/apache/sqoop/model/TestMMapInput.java | 160 +++----
.../apache/sqoop/model/TestMNamedElement.java | 20 +-
.../sqoop/model/TestMPersistableEntity.java | 46 +-
.../apache/sqoop/model/TestMStringInput.java | 132 +++---
.../sqoop/model/TestMValidatedElement.java | 80 ++--
.../sqoop/submission/TestSubmissionStatus.java | 68 +--
.../sqoop/submission/counter/TestCounter.java | 32 +-
.../submission/counter/TestCounterGroup.java | 104 ++---
.../sqoop/submission/counter/TestCounters.java | 76 ++--
.../sqoop/utils/TestMapResourceBundle.java | 20 +-
.../org/apache/sqoop/validation/TestStatus.java | 50 +--
.../apache/sqoop/validation/TestValidation.java | 218 +++++-----
37 files changed, 2113 insertions(+), 2036 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/common/TestMapContext.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/common/TestMapContext.java b/common/src/test/java/org/apache/sqoop/common/TestMapContext.java
index 4c229ae..f4718c0 100644
--- a/common/src/test/java/org/apache/sqoop/common/TestMapContext.java
+++ b/common/src/test/java/org/apache/sqoop/common/TestMapContext.java
@@ -29,82 +29,82 @@ import org.junit.Test;
*/
public class TestMapContext {
-// /**
-// * Test method for Initialization
-// */
-// @Test
-// public void testInitalization() {
-// Map<String, String> options = new HashMap<String, String>();
-// options.put("testkey", "testvalue");
-// MapContext mc = new MapContext(options);
-// Assert.assertEquals("testvalue", mc.getString("testkey"));
-// }
-//
-// /**
-// * Test method for getString
-// */
-// @Test
-// public void testGetString() {
-// Map<String, String> options = new HashMap<String, String>();
-// options.put("testkey", "testvalue");
-// MapContext mc = new MapContext(options);
-// Assert.assertEquals("testvalue", mc.getString("testkey", "defaultValue"));
-// Assert.assertEquals("defaultValue",
-// mc.getString("wrongKey", "defaultValue"));
-// }
-//
-// /**
-// * Test method for getString with default value
-// */
-// @Test
-// public void testGetBoolean() {
-// Map<String, String> options = new HashMap<String, String>();
-// options.put("testkey", "true");
-// MapContext mc = new MapContext(options);
-// Assert.assertEquals(true, mc.getBoolean("testkey", false));
-// Assert.assertEquals(false, mc.getBoolean("wrongKey", false));
-// }
-//
-// /**
-// * Test method for getInt with default value
-// */
-// @Test
-// public void testGetInt() {
-// Map<String, String> options = new HashMap<String, String>();
-// options.put("testkey", "123");
-// MapContext mc = new MapContext(options);
-// Assert.assertEquals(123, mc.getInt("testkey", 456));
-// Assert.assertEquals(456, mc.getInt("wrongKey", 456));
-// }
-//
-// /**
-// * Test method for getLong with default value
-// */
-// @Test
-// public void testGetLong() {
-// Map<String, String> options = new HashMap<String, String>();
-// options.put("testkey", "123");
-// MapContext mc = new MapContext(options);
-// Assert.assertEquals(123l, mc.getLong("testkey", 456l));
-// Assert.assertEquals(456l, mc.getLong("wrongKey", 456l));
-// }
-//
-// /**
-// * Test method for getNestedProperties()
-// */
-// @Test
-// public void testGetNestedProperties() {
-// Map<String, String> options = new HashMap<String, String>();
-// options.put("sqooptest1", "value");
-// options.put("sqooptest2", "value");
-// options.put("testsqoop1", "value");
-// options.put("testsqoop1", "value");
-// MapContext mc = new MapContext(options);
-// Map<String, String> result = mc.getNestedProperties("sqoop");
-// Assert.assertEquals(2, result.size());
-// Assert.assertTrue(result.containsKey("test1"));
-// Assert.assertTrue(result.containsKey("test2"));
-// Assert.assertFalse(result.containsKey("testsqoop1"));
-// Assert.assertFalse(result.containsKey("testsqoop2"));
-// }
+ /**
+ * Test method for Initialization
+ */
+ @Test
+ public void testInitalization() {
+ Map<String, String> options = new HashMap<String, String>();
+ options.put("testkey", "testvalue");
+ MapContext mc = new MapContext(options);
+ Assert.assertEquals("testvalue", mc.getString("testkey"));
+ }
+
+ /**
+ * Test method for getString
+ */
+ @Test
+ public void testGetString() {
+ Map<String, String> options = new HashMap<String, String>();
+ options.put("testkey", "testvalue");
+ MapContext mc = new MapContext(options);
+ Assert.assertEquals("testvalue", mc.getString("testkey", "defaultValue"));
+ Assert.assertEquals("defaultValue",
+ mc.getString("wrongKey", "defaultValue"));
+ }
+
+ /**
+ * Test method for getString with default value
+ */
+ @Test
+ public void testGetBoolean() {
+ Map<String, String> options = new HashMap<String, String>();
+ options.put("testkey", "true");
+ MapContext mc = new MapContext(options);
+ Assert.assertEquals(true, mc.getBoolean("testkey", false));
+ Assert.assertEquals(false, mc.getBoolean("wrongKey", false));
+ }
+
+ /**
+ * Test method for getInt with default value
+ */
+ @Test
+ public void testGetInt() {
+ Map<String, String> options = new HashMap<String, String>();
+ options.put("testkey", "123");
+ MapContext mc = new MapContext(options);
+ Assert.assertEquals(123, mc.getInt("testkey", 456));
+ Assert.assertEquals(456, mc.getInt("wrongKey", 456));
+ }
+
+ /**
+ * Test method for getLong with default value
+ */
+ @Test
+ public void testGetLong() {
+ Map<String, String> options = new HashMap<String, String>();
+ options.put("testkey", "123");
+ MapContext mc = new MapContext(options);
+ Assert.assertEquals(123l, mc.getLong("testkey", 456l));
+ Assert.assertEquals(456l, mc.getLong("wrongKey", 456l));
+ }
+
+ /**
+ * Test method for getNestedProperties()
+ */
+ @Test
+ public void testGetNestedProperties() {
+ Map<String, String> options = new HashMap<String, String>();
+ options.put("sqooptest1", "value");
+ options.put("sqooptest2", "value");
+ options.put("testsqoop1", "value");
+ options.put("testsqoop1", "value");
+ MapContext mc = new MapContext(options);
+ Map<String, String> result = mc.getNestedProperties("sqoop");
+ Assert.assertEquals(2, result.size());
+ Assert.assertTrue(result.containsKey("test1"));
+ Assert.assertTrue(result.containsKey("test2"));
+ Assert.assertFalse(result.containsKey("testsqoop1"));
+ Assert.assertFalse(result.containsKey("testsqoop2"));
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/common/TestSqoopResponseCode.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/common/TestSqoopResponseCode.java b/common/src/test/java/org/apache/sqoop/common/TestSqoopResponseCode.java
index d8aa1d5..f556c1c 100644
--- a/common/src/test/java/org/apache/sqoop/common/TestSqoopResponseCode.java
+++ b/common/src/test/java/org/apache/sqoop/common/TestSqoopResponseCode.java
@@ -25,17 +25,17 @@ import org.junit.Test;
*/
public class TestSqoopResponseCode {
-// /**
-// * Test for the method getFromCode()
-// */
-// @Test
-// public void testGetFromCode() {
-// SqoopResponseCode src = SqoopResponseCode.getFromCode("1000");
-// Assert.assertEquals("OK", src.getMessage());
-// Assert.assertEquals("1000", src.getCode());
-//
-// SqoopResponseCode src1 = SqoopResponseCode.getFromCode("2000");
-// Assert.assertEquals("ERROR", src1.getMessage());
-// Assert.assertEquals("2000", src1.getCode());
-// }
+ /**
+ * Test for the method getFromCode()
+ */
+ @Test
+ public void testGetFromCode() {
+ SqoopResponseCode src = SqoopResponseCode.getFromCode("1000");
+ Assert.assertEquals("OK", src.getMessage());
+ Assert.assertEquals("1000", src.getCode());
+
+ SqoopResponseCode src1 = SqoopResponseCode.getFromCode("2000");
+ Assert.assertEquals("ERROR", src1.getMessage());
+ Assert.assertEquals("2000", src1.getCode());
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/common/TestVersionInfo.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/common/TestVersionInfo.java b/common/src/test/java/org/apache/sqoop/common/TestVersionInfo.java
index f853af0..27d78f4 100644
--- a/common/src/test/java/org/apache/sqoop/common/TestVersionInfo.java
+++ b/common/src/test/java/org/apache/sqoop/common/TestVersionInfo.java
@@ -22,13 +22,13 @@ import org.junit.Test;
public class TestVersionInfo {
-// @Test
-// public void testValues() throws Exception {
-// Assert.assertNotSame("Unknown", VersionInfo.getVersion());
-// Assert.assertNotSame("Unknown", VersionInfo.getRevision());
-// Assert.assertNotSame("Unknown", VersionInfo.getDate());
-// Assert.assertNotSame("Unknown", VersionInfo.getUser());
-// Assert.assertNotSame("Unknown", VersionInfo.getUrl());
-// }
+ @Test
+ public void testValues() throws Exception {
+ Assert.assertNotSame("Unknown", VersionInfo.getVersion());
+ Assert.assertNotSame("Unknown", VersionInfo.getRevision());
+ Assert.assertNotSame("Unknown", VersionInfo.getDate());
+ Assert.assertNotSame("Unknown", VersionInfo.getUser());
+ Assert.assertNotSame("Unknown", VersionInfo.getUrl());
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/json/TestConnectionBean.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/json/TestConnectionBean.java b/common/src/test/java/org/apache/sqoop/json/TestConnectionBean.java
index 205694a..19f81a8 100644
--- a/common/src/test/java/org/apache/sqoop/json/TestConnectionBean.java
+++ b/common/src/test/java/org/apache/sqoop/json/TestConnectionBean.java
@@ -34,105 +34,105 @@ import static org.apache.sqoop.json.TestUtil.*;
*
*/
public class TestConnectionBean {
-// @Test
-// public void testSerialization() {
-// Date created = new Date();
-// Date updated = new Date();
-// MConnection connection = getConnection("ahoj");
-// connection.setName("Connection");
-// connection.setPersistenceId(666);
-// connection.setCreationUser("admin");
-// connection.setCreationDate(created);
-// connection.setLastUpdateUser("user");
-// connection.setLastUpdateDate(updated);
-// connection.setEnabled(false);
-//
-// // Fill some data at the beginning
-// MStringInput input = (MStringInput) connection.getConnectorPart().getForms()
-// .get(0).getInputs().get(0);
-// input.setValue("Hi there!");
-//
-// // Serialize it to JSON object
-// ConnectionBean bean = new ConnectionBean(connection);
-// JSONObject json = bean.extract(false);
-//
-// // Check for sensitivity
-// JSONArray all = (JSONArray)json.get("all");
-// JSONObject allItem = (JSONObject)all.get(0);
-// JSONArray connectors = (JSONArray)allItem.get("connector");
-// JSONObject connector = (JSONObject)connectors.get(0);
-// JSONArray inputs = (JSONArray)connector.get("inputs");
-// for (Object input1 : inputs) {
-// assertTrue(((JSONObject)input1).containsKey("sensitive"));
-// }
-//
-// // "Move" it across network in text form
-// String string = json.toJSONString();
-//
-// // Retrieved transferred object
-// JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
-// ConnectionBean retrievedBean = new ConnectionBean();
-// retrievedBean.restore(retrievedJson);
-// MConnection target = retrievedBean.getConnections().get(0);
-//
-// // Check id and name
-// assertEquals(666, target.getPersistenceId());
-// assertEquals("Connection", target.getName());
-// assertEquals("admin", target.getCreationUser());
-// assertEquals(created, target.getCreationDate());
-// assertEquals("user", target.getLastUpdateUser());
-// assertEquals(updated, target.getLastUpdateDate());
-// assertEquals(false, target.getEnabled());
-//
-// // Test that value was correctly moved
-// MStringInput targetInput = (MStringInput) target.getConnectorPart()
-// .getForms().get(0).getInputs().get(0);
-// assertEquals("Hi there!", targetInput.getValue());
-// }
-//
-// @Test
-// public void testSensitivityFilter() {
-// Date created = new Date();
-// Date updated = new Date();
-// MConnection connection = getConnection("ahoj");
-// connection.setName("Connection");
-// connection.setPersistenceId(666);
-// connection.setCreationUser("admin");
-// connection.setCreationDate(created);
-// connection.setLastUpdateUser("user");
-// connection.setLastUpdateDate(updated);
-// connection.setEnabled(true);
-//
-// // Fill some data at the beginning
-// MStringInput input = (MStringInput) connection.getConnectorPart().getForms()
-// .get(0).getInputs().get(0);
-// input.setValue("Hi there!");
-//
-// // Serialize it to JSON object
-// ConnectionBean bean = new ConnectionBean(connection);
-// JSONObject json = bean.extract(false);
-// JSONObject jsonFiltered = bean.extract(true);
-//
-// // Sensitive values should exist
-// JSONArray all = (JSONArray)json.get("all");
-// JSONObject allItem = (JSONObject)all.get(0);
-// JSONArray connectors = (JSONArray)allItem.get("connector");
-// JSONObject connector = (JSONObject)connectors.get(0);
-// JSONArray inputs = (JSONArray)connector.get("inputs");
-// assertEquals(3, inputs.size());
-// // Inputs are ordered when creating connection
-// JSONObject password = (JSONObject)inputs.get(2);
-// assertTrue(password.containsKey("value"));
-//
-// // Sensitive values should not exist
-// all = (JSONArray)jsonFiltered.get("all");
-// allItem = (JSONObject)all.get(0);
-// connectors = (JSONArray)allItem.get("connector");
-// connector = (JSONObject)connectors.get(0);
-// inputs = (JSONArray)connector.get("inputs");
-// assertEquals(3, inputs.size());
-// // Inputs are ordered when creating connection
-// password = (JSONObject)inputs.get(2);
-// assertFalse(password.containsKey("value"));
-// }
+ @Test
+ public void testSerialization() {
+ Date created = new Date();
+ Date updated = new Date();
+ MConnection connection = getConnection("ahoj");
+ connection.setName("Connection");
+ connection.setPersistenceId(666);
+ connection.setCreationUser("admin");
+ connection.setCreationDate(created);
+ connection.setLastUpdateUser("user");
+ connection.setLastUpdateDate(updated);
+ connection.setEnabled(false);
+
+ // Fill some data at the beginning
+ MStringInput input = (MStringInput) connection.getConnectorPart().getForms()
+ .get(0).getInputs().get(0);
+ input.setValue("Hi there!");
+
+ // Serialize it to JSON object
+ ConnectionBean bean = new ConnectionBean(connection);
+ JSONObject json = bean.extract(false);
+
+ // Check for sensitivity
+ JSONArray all = (JSONArray)json.get("all");
+ JSONObject allItem = (JSONObject)all.get(0);
+ JSONArray connectors = (JSONArray)allItem.get("connector");
+ JSONObject connector = (JSONObject)connectors.get(0);
+ JSONArray inputs = (JSONArray)connector.get("inputs");
+ for (Object input1 : inputs) {
+ assertTrue(((JSONObject)input1).containsKey("sensitive"));
+ }
+
+ // "Move" it across network in text form
+ String string = json.toJSONString();
+
+ // Retrieved transferred object
+ JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
+ ConnectionBean retrievedBean = new ConnectionBean();
+ retrievedBean.restore(retrievedJson);
+ MConnection target = retrievedBean.getConnections().get(0);
+
+ // Check id and name
+ assertEquals(666, target.getPersistenceId());
+ assertEquals("Connection", target.getName());
+ assertEquals("admin", target.getCreationUser());
+ assertEquals(created, target.getCreationDate());
+ assertEquals("user", target.getLastUpdateUser());
+ assertEquals(updated, target.getLastUpdateDate());
+ assertEquals(false, target.getEnabled());
+
+ // Test that value was correctly moved
+ MStringInput targetInput = (MStringInput) target.getConnectorPart()
+ .getForms().get(0).getInputs().get(0);
+ assertEquals("Hi there!", targetInput.getValue());
+ }
+
+ @Test
+ public void testSensitivityFilter() {
+ Date created = new Date();
+ Date updated = new Date();
+ MConnection connection = getConnection("ahoj");
+ connection.setName("Connection");
+ connection.setPersistenceId(666);
+ connection.setCreationUser("admin");
+ connection.setCreationDate(created);
+ connection.setLastUpdateUser("user");
+ connection.setLastUpdateDate(updated);
+ connection.setEnabled(true);
+
+ // Fill some data at the beginning
+ MStringInput input = (MStringInput) connection.getConnectorPart().getForms()
+ .get(0).getInputs().get(0);
+ input.setValue("Hi there!");
+
+ // Serialize it to JSON object
+ ConnectionBean bean = new ConnectionBean(connection);
+ JSONObject json = bean.extract(false);
+ JSONObject jsonFiltered = bean.extract(true);
+
+ // Sensitive values should exist
+ JSONArray all = (JSONArray)json.get("all");
+ JSONObject allItem = (JSONObject)all.get(0);
+ JSONArray connectors = (JSONArray)allItem.get("connector");
+ JSONObject connector = (JSONObject)connectors.get(0);
+ JSONArray inputs = (JSONArray)connector.get("inputs");
+ assertEquals(3, inputs.size());
+ // Inputs are ordered when creating connection
+ JSONObject password = (JSONObject)inputs.get(2);
+ assertTrue(password.containsKey("value"));
+
+ // Sensitive values should not exist
+ all = (JSONArray)jsonFiltered.get("all");
+ allItem = (JSONObject)all.get(0);
+ connectors = (JSONArray)allItem.get("connector");
+ connector = (JSONObject)connectors.get(0);
+ inputs = (JSONArray)connector.get("inputs");
+ assertEquals(3, inputs.size());
+ // Inputs are ordered when creating connection
+ password = (JSONObject)inputs.get(2);
+ assertFalse(password.containsKey("value"));
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/json/TestConnectorBean.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/json/TestConnectorBean.java b/common/src/test/java/org/apache/sqoop/json/TestConnectorBean.java
index 58ea308..e078474 100644
--- a/common/src/test/java/org/apache/sqoop/json/TestConnectorBean.java
+++ b/common/src/test/java/org/apache/sqoop/json/TestConnectorBean.java
@@ -37,40 +37,40 @@ import static org.apache.sqoop.json.TestUtil.*;
*/
public class TestConnectorBean {
-// /**
-// * Test that by JSON serialization followed by deserialization we will get
-// * equal connector object.
-// */
-// @Test
-// public void testSerialization() {
-// // Create testing connector
-// List<MConnector> connectors = new LinkedList<MConnector>();
-// connectors.add(getConnector("jdbc"));
-// connectors.add(getConnector("mysql"));
-//
-// // Create testing bundles
-// Map<Long, ResourceBundle> bundles = new HashMap<Long, ResourceBundle>();
-// bundles.put(1L, getResourceBundle());
-// bundles.put(2L, getResourceBundle());
-//
-// // Serialize it to JSON object
-// ConnectorBean bean = new ConnectorBean(connectors, bundles);
-// JSONObject json = bean.extract(false);
-//
-// // "Move" it across network in text form
-// String string = json.toJSONString();
-//
-// // Retrieved transferred object
-// JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
-// ConnectorBean retrievedBean = new ConnectorBean();
-// retrievedBean.restore(retrievedJson);
-//
-// assertEquals(connectors.size(), retrievedBean.getConnectors().size());
-// assertEquals(connectors.get(0), retrievedBean.getConnectors().get(0));
-//
-// ResourceBundle retrievedBundle = retrievedBean.getResourceBundles().get(1L);
-// assertNotNull(retrievedBundle);
-// assertEquals("a", retrievedBundle.getString("a"));
-// assertEquals("b", retrievedBundle.getString("b"));
-// }
+ /**
+ * Test that by JSON serialization followed by deserialization we will get
+ * equal connector object.
+ */
+ @Test
+ public void testSerialization() {
+ // Create testing connector
+ List<MConnector> connectors = new LinkedList<MConnector>();
+ connectors.add(getConnector("jdbc"));
+ connectors.add(getConnector("mysql"));
+
+ // Create testing bundles
+ Map<Long, ResourceBundle> bundles = new HashMap<Long, ResourceBundle>();
+ bundles.put(1L, getResourceBundle());
+ bundles.put(2L, getResourceBundle());
+
+ // Serialize it to JSON object
+ ConnectorBean bean = new ConnectorBean(connectors, bundles);
+ JSONObject json = bean.extract(false);
+
+ // "Move" it across network in text form
+ String string = json.toJSONString();
+
+ // Retrieved transferred object
+ JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
+ ConnectorBean retrievedBean = new ConnectorBean();
+ retrievedBean.restore(retrievedJson);
+
+ assertEquals(connectors.size(), retrievedBean.getConnectors().size());
+ assertEquals(connectors.get(0), retrievedBean.getConnectors().get(0));
+
+ ResourceBundle retrievedBundle = retrievedBean.getResourceBundles().get(1L);
+ assertNotNull(retrievedBundle);
+ assertEquals("a", retrievedBundle.getString("a"));
+ assertEquals("b", retrievedBundle.getString("b"));
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/json/TestFrameworkBean.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/json/TestFrameworkBean.java b/common/src/test/java/org/apache/sqoop/json/TestFrameworkBean.java
index e667755..5cc110a 100644
--- a/common/src/test/java/org/apache/sqoop/json/TestFrameworkBean.java
+++ b/common/src/test/java/org/apache/sqoop/json/TestFrameworkBean.java
@@ -34,31 +34,31 @@ import static org.junit.Assert.*;
*/
public class TestFrameworkBean {
-// /**
-// * Test that by JSON serialization followed by deserialization we will get
-// * equal framework object.
-// */
-// @Test
-// public void testSerialization() {
-// MFramework framework = getFramework();
-//
-// // Serialize it to JSON object
-// FrameworkBean bean = new FrameworkBean(framework, getResourceBundle());
-// JSONObject json = bean.extract(false);
-//
-// // "Move" it across network in text form
-// String string = json.toJSONString();
-//
-// // Retrieved transferred object
-// JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
-// FrameworkBean retrievedBean = new FrameworkBean();
-// retrievedBean.restore(retrievedJson);
-//
-// assertEquals(framework, retrievedBean.getFramework());
-//
-// ResourceBundle retrievedBundle = retrievedBean.getResourceBundle();
-// assertEquals("a", retrievedBundle.getString("a"));
-// assertEquals("b", retrievedBundle.getString("b"));
-// }
+ /**
+ * Test that by JSON serialization followed by deserialization we will get
+ * equal framework object.
+ */
+ @Test
+ public void testSerialization() {
+ MFramework framework = getFramework();
+
+ // Serialize it to JSON object
+ FrameworkBean bean = new FrameworkBean(framework, getResourceBundle());
+ JSONObject json = bean.extract(false);
+
+ // "Move" it across network in text form
+ String string = json.toJSONString();
+
+ // Retrieved transferred object
+ JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
+ FrameworkBean retrievedBean = new FrameworkBean();
+ retrievedBean.restore(retrievedJson);
+
+ assertEquals(framework, retrievedBean.getFramework());
+
+ ResourceBundle retrievedBundle = retrievedBean.getResourceBundle();
+ assertEquals("a", retrievedBundle.getString("a"));
+ assertEquals("b", retrievedBundle.getString("b"));
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/json/TestJobBean.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/json/TestJobBean.java b/common/src/test/java/org/apache/sqoop/json/TestJobBean.java
index 8638408..3106d39 100644
--- a/common/src/test/java/org/apache/sqoop/json/TestJobBean.java
+++ b/common/src/test/java/org/apache/sqoop/json/TestJobBean.java
@@ -17,62 +17,72 @@
*/
package org.apache.sqoop.json;
-//import org.apache.sqoop.model.MJob;
-//import org.apache.sqoop.model.MStringInput;
-//import org.json.simple.JSONObject;
-//import org.json.simple.JSONValue;
-//import org.json.simple.parser.ParseException;
-//import org.junit.Test;
-//
-//import java.util.Date;
-//
-//import static junit.framework.Assert.assertEquals;
-//import static org.apache.sqoop.json.TestUtil.getJob;
+import org.apache.sqoop.common.Direction;
+import org.apache.sqoop.model.MJob;
+import org.apache.sqoop.model.MStringInput;
+import org.json.simple.JSONObject;
+import org.json.simple.JSONValue;
+import org.json.simple.parser.ParseException;
+import org.junit.Test;
+
+import java.util.Date;
+
+import static junit.framework.Assert.assertEquals;
+import static org.apache.sqoop.json.TestUtil.getJob;
/**
*
*/
public class TestJobBean {
-// @Test
-// public void testSerialization() throws ParseException {
-// Date created = new Date();
-// Date updated = new Date();
-// MJob job = getJob("ahoj", MJob.Type.IMPORT);
-// job.setName("The big job");
-// job.setPersistenceId(666);
-// job.setCreationDate(created);
-// job.setLastUpdateDate(updated);
-// job.setEnabled(false);
-//
-// // Fill some data at the beginning
-// MStringInput input = (MStringInput) job.getFromPart().getForms()
-// .get(0).getInputs().get(0);
-// input.setValue("Hi there!");
-//
-// // Serialize it to JSON object
-// JobBean bean = new JobBean(job);
-// JSONObject json = bean.extract(false);
-//
-// // "Move" it across network in text form
-// String string = json.toJSONString();
-//
-// // Retrieved transferred object
-// JSONObject retrievedJson = (JSONObject)JSONValue.parseWithException(string);
-// JobBean retrievedBean = new JobBean();
-// retrievedBean.restore(retrievedJson);
-// MJob target = retrievedBean.getJobs().get(0);
-//
-// // Check id and name
-// assertEquals(666, target.getPersistenceId());
-// assertEquals(MJob.Type.IMPORT, target.getType());
-// assertEquals("The big job", target.getName());
-// assertEquals(created, target.getCreationDate());
-// assertEquals(updated, target.getLastUpdateDate());
-// assertEquals(false, target.getEnabled());
-//
-// // Test that value was correctly moved
-// MStringInput targetInput = (MStringInput) target.getFromPart()
-// .getForms().get(0).getInputs().get(0);
-// assertEquals("Hi there!", targetInput.getValue());
-// }
+ @Test
+ public void testSerialization() throws ParseException {
+ Date created = new Date();
+ Date updated = new Date();
+ MJob job = getJob("ahoj");
+ job.setName("The big job");
+ job.setPersistenceId(666);
+ job.setCreationDate(created);
+ job.setLastUpdateDate(updated);
+ job.setEnabled(false);
+
+ // Fill some data at the beginning
+ MStringInput input = (MStringInput) job.getConnectorPart(Direction.FROM)
+ .getForms().get(0).getInputs().get(0);
+ input.setValue("Hi there!");
+ input = (MStringInput) job.getConnectorPart(Direction.TO)
+ .getForms().get(0).getInputs().get(0);
+ input.setValue("Hi there again!");
+
+ // Serialize it to JSON object
+ JobBean bean = new JobBean(job);
+ JSONObject json = bean.extract(false);
+
+ // "Move" it across network in text form
+ String string = json.toJSONString();
+
+ // Retrieved transferred object
+ JSONObject retrievedJson = (JSONObject)JSONValue.parseWithException(string);
+ JobBean retrievedBean = new JobBean();
+ retrievedBean.restore(retrievedJson);
+ MJob target = retrievedBean.getJobs().get(0);
+
+ // Check id and name
+ assertEquals(666, target.getPersistenceId());
+ assertEquals(target.getConnectionId(Direction.FROM), 1);
+ assertEquals(target.getConnectionId(Direction.TO), 2);
+ assertEquals(target.getConnectorId(Direction.FROM), 1);
+ assertEquals(target.getConnectorId(Direction.TO), 2);
+ assertEquals("The big job", target.getName());
+ assertEquals(created, target.getCreationDate());
+ assertEquals(updated, target.getLastUpdateDate());
+ assertEquals(false, target.getEnabled());
+
+ // Test that value was correctly moved
+ MStringInput targetInput = (MStringInput) target.getConnectorPart(Direction.FROM)
+ .getForms().get(0).getInputs().get(0);
+ assertEquals("Hi there!", targetInput.getValue());
+ targetInput = (MStringInput) target.getConnectorPart(Direction.TO)
+ .getForms().get(0).getInputs().get(0);
+ assertEquals("Hi there again!", targetInput.getValue());
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/json/TestSchemaBean.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/json/TestSchemaBean.java b/common/src/test/java/org/apache/sqoop/json/TestSchemaBean.java
index ce107a8..5daab76 100644
--- a/common/src/test/java/org/apache/sqoop/json/TestSchemaBean.java
+++ b/common/src/test/java/org/apache/sqoop/json/TestSchemaBean.java
@@ -29,24 +29,24 @@ import org.json.simple.JSONValue;
* as a means of transfer.
*/
public class TestSchemaBean extends TestSchemaSerialization {
-//
-// /**
-// * Override the transfer method to use the SchemaBean.
-// *
-// * @param schema
-// * @return
-// */
-// @Override
-// protected Schema transfer(Schema schema) {
-// SchemaBean extractBean = new SchemaBean(schema);
-// JSONObject extractJson = extractBean.extract(true);
-//
-// String transferredString = extractJson.toJSONString();
-//
-// JSONObject restoreJson = (JSONObject) JSONValue.parse(transferredString);
-// SchemaBean restoreBean = new SchemaBean();
-// restoreBean.restore(restoreJson);
-//
-// return restoreBean.getSchema();
-// }
+
+ /**
+ * Override the transfer method to use the SchemaBean.
+ *
+ * @param schema
+ * @return
+ */
+ @Override
+ protected Schema transfer(Schema schema) {
+ SchemaBean extractBean = new SchemaBean(schema);
+ JSONObject extractJson = extractBean.extract(true);
+
+ String transferredString = extractJson.toJSONString();
+
+ JSONObject restoreJson = (JSONObject) JSONValue.parse(transferredString);
+ SchemaBean restoreBean = new SchemaBean();
+ restoreBean.restore(restoreJson);
+
+ return restoreBean.getSchema();
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/json/TestUtil.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/json/TestUtil.java b/common/src/test/java/org/apache/sqoop/json/TestUtil.java
index d3e118b..a9aa233 100644
--- a/common/src/test/java/org/apache/sqoop/json/TestUtil.java
+++ b/common/src/test/java/org/apache/sqoop/json/TestUtil.java
@@ -17,6 +17,7 @@
*/
package org.apache.sqoop.json;
+import org.apache.sqoop.common.Direction;
import org.apache.sqoop.model.MConnection;
import org.apache.sqoop.model.MConnectionForms;
import org.apache.sqoop.model.MConnector;
@@ -38,115 +39,108 @@ import java.util.ResourceBundle;
*
*/
public class TestUtil {
-// public static MConnector getConnector(String name) {
-// return new MConnector(name, name + ".class", "1.0-test",
-// getConnectionForms(), getAllJobForms());
-// }
-//
-// public static MFramework getFramework() {
-// return new MFramework(getConnectionForms(), getAllJobForms(), "1");
-// }
-//
-// public static MConnection getConnection(String name) {
-// return new MConnection(1,
-// getConnector(name).getConnectionForms(),
-// getFramework().getConnectionForms()
-// );
-// }
-//
-// public static MJob getJob(String name, MJob.Type type) {
-// return new MJob(1, 1,
-// type,
-// getConnector(name).getJobForms(type),
-// getFramework().getJobForms(type)
-// );
-// }
-//
-// public static MConnectionForms getConnectionForms() {
-// List<MInput<?>> inputs;
-// MStringInput input;
-// MForm form;
-// List<MForm> connectionForms = new ArrayList<MForm>();
-// inputs = new ArrayList<MInput<?>>();
-//
-// input = new MStringInput("url", false, (short) 10);
-// input.setPersistenceId(1);
-// inputs.add(input);
-//
-// input = new MStringInput("username", false, (short) 10);
-// input.setPersistenceId(2);
-// input.setValue("test");
-// inputs.add(input);
-//
-// input = new MStringInput("password", true, (short) 10);
-// input.setPersistenceId(3);
-// input.setValue("test");
-// inputs.add(input);
-//
-// form = new MForm("connection", inputs);
-// form.setPersistenceId(10);
-// connectionForms.add(form);
-//
-// return new MConnectionForms(connectionForms);
-// }
-//
-// public static MJobForms getJobForms(MJob.Type type) {
-// List<MInput<?>> inputs;
-// MStringInput input;
-// MForm form;
-// List<MForm> jobForms = new ArrayList<MForm>();
-//
-// inputs = new ArrayList<MInput<?>>();
-//
-// input = new MStringInput("A", false, (short) 10);
-// input.setPersistenceId(4);
-// inputs.add(input);
-//
-// input = new MStringInput("B", false, (short) 10);
-// input.setPersistenceId(5);
-// inputs.add(input);
-//
-// input = new MStringInput("C", false, (short) 10);
-// input.setPersistenceId(6);
-// inputs.add(input);
-//
-// form = new MForm("Z", inputs);
-// form.setPersistenceId(11);
-// jobForms.add(form);
-//
-// inputs = new ArrayList<MInput<?>>();
-//
-// input = new MStringInput("D", false, (short) 10);
-// input.setPersistenceId(7);
-// inputs.add(input);
-//
-// input = new MStringInput("E", false, (short) 10);
-// input.setPersistenceId(8);
-// inputs.add(input);
-//
-// input = new MStringInput("F", false, (short) 10);
-// input.setPersistenceId(9);
-// inputs.add(input);
-//
-// form = new MForm("connection", inputs);
-// form.setPersistenceId(12);
-// jobForms.add(form);
-//
-// return new MJobForms(type, jobForms);
-// }
-//
-// public static List<MJobForms> getAllJobForms() {
-// List<MJobForms> jobs = new ArrayList<MJobForms>();
-// jobs.add(getJobForms(MJob.Type.IMPORT));
-//
-// return jobs;
-// }
-//
-// public static ResourceBundle getResourceBundle() {
-// Map<String, Object> map = new HashMap<String, Object>();
-// map.put("a", "a");
-// map.put("b", "b");
-//
-// return new MapResourceBundle(map);
-// }
+ public static MConnector getConnector(String name) {
+ return new MConnector(name, name + ".class", "1.0-test",
+ getConnectionForms(), getJobForms(), getJobForms());
+ }
+
+ public static MFramework getFramework() {
+ return new MFramework(getConnectionForms(), getJobForms(), "1");
+ }
+
+ public static MConnection getConnection(String name) {
+ return new MConnection(1,
+ getConnector(name).getConnectionForms(),
+ getFramework().getConnectionForms()
+ );
+ }
+
+ public static MJob getJob(String name) {
+ return new MJob(1, 2, 1, 2,
+ getConnector(name).getJobForms(Direction.FROM),
+ getConnector(name).getJobForms(Direction.TO),
+ getFramework().getJobForms()
+ );
+ }
+
+ public static MConnectionForms getConnectionForms() {
+ List<MInput<?>> inputs;
+ MStringInput input;
+ MForm form;
+ List<MForm> connectionForms = new ArrayList<MForm>();
+ inputs = new ArrayList<MInput<?>>();
+
+ input = new MStringInput("url", false, (short) 10);
+ input.setPersistenceId(1);
+ inputs.add(input);
+
+ input = new MStringInput("username", false, (short) 10);
+ input.setPersistenceId(2);
+ input.setValue("test");
+ inputs.add(input);
+
+ input = new MStringInput("password", true, (short) 10);
+ input.setPersistenceId(3);
+ input.setValue("test");
+ inputs.add(input);
+
+ form = new MForm("connection", inputs);
+ form.setPersistenceId(10);
+ connectionForms.add(form);
+
+ return new MConnectionForms(connectionForms);
+ }
+
+ public static MJobForms getJobForms() {
+ List<MInput<?>> inputs;
+ MStringInput input;
+ MForm form;
+ List<MForm> jobForms = new ArrayList<MForm>();
+
+ inputs = new ArrayList<MInput<?>>();
+
+ input = new MStringInput("A", false, (short) 10);
+ input.setPersistenceId(4);
+ inputs.add(input);
+
+ input = new MStringInput("B", false, (short) 10);
+ input.setPersistenceId(5);
+ inputs.add(input);
+
+ input = new MStringInput("C", false, (short) 10);
+ input.setPersistenceId(6);
+ inputs.add(input);
+
+ form = new MForm("Z", inputs);
+ form.setPersistenceId(11);
+ jobForms.add(form);
+
+ inputs = new ArrayList<MInput<?>>();
+
+ input = new MStringInput("D", false, (short) 10);
+ input.setPersistenceId(7);
+ inputs.add(input);
+
+ input = new MStringInput("E", false, (short) 10);
+ input.setPersistenceId(8);
+ inputs.add(input);
+
+ input = new MStringInput("F", false, (short) 10);
+ input.setPersistenceId(9);
+ inputs.add(input);
+
+ form = new MForm("connection", inputs);
+ form.setPersistenceId(12);
+ jobForms.add(form);
+
+ return new MJobForms(jobForms);
+ }
+
+ public static ResourceBundle getResourceBundle() {
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("a", "a");
+ map.put("b", "b");
+
+ return new MapResourceBundle(map);
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/json/TestValidationBean.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/json/TestValidationBean.java b/common/src/test/java/org/apache/sqoop/json/TestValidationBean.java
index 704d55b..c6086dd 100644
--- a/common/src/test/java/org/apache/sqoop/json/TestValidationBean.java
+++ b/common/src/test/java/org/apache/sqoop/json/TestValidationBean.java
@@ -17,6 +17,7 @@
*/
package org.apache.sqoop.json;
+import org.apache.sqoop.common.Direction;
import org.apache.sqoop.validation.Status;
import org.apache.sqoop.validation.Validation;
import org.json.simple.JSONObject;
@@ -32,76 +33,143 @@ import static org.junit.Assert.*;
*
*/
public class TestValidationBean {
-//
-// @Test
-// public void testSerialization() {
-// // Serialize it to JSON object
-// ValidationBean bean = new ValidationBean(
-// getValidation(Status.FINE),
-// getValidation(Status.UNACCEPTABLE)
-// );
-// JSONObject json = bean.extract(false);
-//
-// // "Move" it across network in text form
-// String string = json.toJSONString();
-//
-// // Retrieved transferred object
-// JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
-// ValidationBean retrievedBean = new ValidationBean();
-// retrievedBean.restore(retrievedJson);
-//
-// assertNull(retrievedBean.getId());
-//
-// Validation.FormInput fa = new Validation.FormInput("f", "i");
-// Validation.FormInput fb = new Validation.FormInput("f2", "i2");
-//
-// Validation connector = retrievedBean.getConnectorValidation();
-// assertEquals(Status.FINE, connector.getStatus());
-// assertEquals(2, connector.getMessages().size());
-// assertTrue(connector.getMessages().containsKey(fa));
-// assertEquals(new Validation.Message(Status.FINE, "d"),
-// connector.getMessages().get(fa));
-//
-// Validation framework = retrievedBean.getFrameworkValidation();
-// assertEquals(Status.UNACCEPTABLE, framework.getStatus());
-// assertEquals(2, framework.getMessages().size());
-// assertTrue(framework.getMessages().containsKey(fb));
-// assertEquals(new Validation.Message(Status.UNACCEPTABLE, "c"),
-// framework.getMessages().get(fb));
-// }
-//
-// @Test
-// public void testId() {
-// // Serialize it to JSON object
-// ValidationBean bean = new ValidationBean(
-// getValidation(Status.FINE),
-// getValidation(Status.FINE)
-// );
-// bean.setId((long) 10);
-// JSONObject json = bean.extract(false);
-//
-// // "Move" it across network in text form
-// String string = json.toJSONString();
-//
-// // Retrieved transferred object
-// JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
-// ValidationBean retrievedBean = new ValidationBean();
-// retrievedBean.restore(retrievedJson);
-//
-// assertEquals((Long)(long) 10, retrievedBean.getId());
-// }
-//
-// public Validation getValidation(Status status) {
-// Map<Validation.FormInput, Validation.Message> messages =
-// new HashMap<Validation.FormInput, Validation.Message>();
-//
-// messages.put(
-// new Validation.FormInput("f", "i"),
-// new Validation.Message(status, "d"));
-// messages.put(
-// new Validation.FormInput("f2", "i2"),
-// new Validation.Message(status, "c"));
-//
-// return new Validation(status, messages);
-// }
+
+ @Test
+ public void testJobValidationBeanSerialization() {
+ // Serialize it to JSON object
+ JobValidationBean bean = new JobValidationBean(
+ getValidation(Status.FINE),
+ getValidation(Status.UNACCEPTABLE),
+ getValidation(Status.FINE)
+ );
+ JSONObject json = bean.extract(false);
+
+ // "Move" it across network in text form
+ String string = json.toJSONString();
+
+ // Retrieved transferred object
+ JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
+ JobValidationBean retrievedBean = new JobValidationBean();
+ retrievedBean.restore(retrievedJson);
+
+ assertNull(retrievedBean.getId());
+
+ Validation.FormInput fa = new Validation.FormInput("f", "i");
+ Validation.FormInput fb = new Validation.FormInput("f2", "i2");
+
+ Validation fromConnector = retrievedBean.getConnectorValidation(Direction.FROM);
+ assertEquals(Status.FINE, fromConnector.getStatus());
+ assertEquals(2, fromConnector.getMessages().size());
+ assertTrue(fromConnector.getMessages().containsKey(fa));
+ assertEquals(new Validation.Message(Status.FINE, "d"),
+ fromConnector.getMessages().get(fa));
+
+ Validation toConnector = retrievedBean.getConnectorValidation(Direction.TO);
+ assertEquals(Status.FINE, toConnector.getStatus());
+ assertEquals(2, toConnector.getMessages().size());
+ assertTrue(toConnector.getMessages().containsKey(fa));
+ assertEquals(new Validation.Message(Status.FINE, "d"),
+ toConnector.getMessages().get(fa));
+
+ Validation framework = retrievedBean.getFrameworkValidation();
+ assertEquals(Status.UNACCEPTABLE, framework.getStatus());
+ assertEquals(2, framework.getMessages().size());
+ assertTrue(framework.getMessages().containsKey(fb));
+ assertEquals(new Validation.Message(Status.UNACCEPTABLE, "c"),
+ framework.getMessages().get(fb));
+ }
+
+ @Test
+ public void testJobValidationBeanId() {
+ // Serialize it to JSON object
+ JobValidationBean bean = new JobValidationBean(
+ getValidation(Status.FINE),
+ getValidation(Status.FINE),
+ getValidation(Status.FINE)
+ );
+ bean.setId((long) 10);
+ JSONObject json = bean.extract(false);
+
+ // "Move" it across network in text form
+ String string = json.toJSONString();
+
+ // Retrieved transferred object
+ JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
+ JobValidationBean retrievedBean = new JobValidationBean();
+ retrievedBean.restore(retrievedJson);
+
+ assertEquals((Long)(long) 10, retrievedBean.getId());
+ }
+
+ @Test
+ public void testConnectionValidationBeanSerialization() {
+ // Serialize it to JSON object
+ ConnectionValidationBean bean = new ConnectionValidationBean(
+ getValidation(Status.FINE),
+ getValidation(Status.UNACCEPTABLE)
+ );
+ JSONObject json = bean.extract(false);
+
+ // "Move" it across network in text form
+ String string = json.toJSONString();
+
+ // Retrieved transferred object
+ JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
+ ConnectionValidationBean retrievedBean = new ConnectionValidationBean();
+ retrievedBean.restore(retrievedJson);
+
+ assertNull(retrievedBean.getId());
+
+ Validation.FormInput fa = new Validation.FormInput("f", "i");
+ Validation.FormInput fb = new Validation.FormInput("f2", "i2");
+
+ Validation connector = retrievedBean.getConnectorValidation();
+ assertEquals(Status.FINE, connector.getStatus());
+ assertEquals(2, connector.getMessages().size());
+ assertTrue(connector.getMessages().containsKey(fa));
+ assertEquals(new Validation.Message(Status.FINE, "d"),
+ connector.getMessages().get(fa));
+
+ Validation framework = retrievedBean.getFrameworkValidation();
+ assertEquals(Status.UNACCEPTABLE, framework.getStatus());
+ assertEquals(2, framework.getMessages().size());
+ assertTrue(framework.getMessages().containsKey(fb));
+ assertEquals(new Validation.Message(Status.UNACCEPTABLE, "c"),
+ framework.getMessages().get(fb));
+ }
+
+ @Test
+ public void testConnectionValidationBeanId() {
+ // Serialize it to JSON object
+ ConnectionValidationBean bean = new ConnectionValidationBean(
+ getValidation(Status.FINE),
+ getValidation(Status.FINE)
+ );
+ bean.setId((long) 10);
+ JSONObject json = bean.extract(false);
+
+ // "Move" it across network in text form
+ String string = json.toJSONString();
+
+ // Retrieved transferred object
+ JSONObject retrievedJson = (JSONObject) JSONValue.parse(string);
+ ConnectionValidationBean retrievedBean = new ConnectionValidationBean();
+ retrievedBean.restore(retrievedJson);
+
+ assertEquals((Long)(long) 10, retrievedBean.getId());
+ }
+
+ public Validation getValidation(Status status) {
+ Map<Validation.FormInput, Validation.Message> messages =
+ new HashMap<Validation.FormInput, Validation.Message>();
+
+ messages.put(
+ new Validation.FormInput("f", "i"),
+ new Validation.Message(status, "d"));
+ messages.put(
+ new Validation.FormInput("f2", "i2"),
+ new Validation.Message(status, "c"));
+
+ return new Validation(status, messages);
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/json/util/TestFormSerialization.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/json/util/TestFormSerialization.java b/common/src/test/java/org/apache/sqoop/json/util/TestFormSerialization.java
index 9cd7305..c4223ec 100644
--- a/common/src/test/java/org/apache/sqoop/json/util/TestFormSerialization.java
+++ b/common/src/test/java/org/apache/sqoop/json/util/TestFormSerialization.java
@@ -42,116 +42,116 @@ import static org.junit.Assert.assertNotNull;
*/
public class TestFormSerialization {
-// @Test
-// public void testAllDataTypes() {
-// // Inserted values
-// Map<String, String> map = new HashMap<String, String>();
-// map.put("A", "B");
-//
-// // Fill form with all values
-// MForm form = getForm();
-// form.getStringInput("String").setValue("A");
-// form.getMapInput("Map").setValue(map);
-// form.getIntegerInput("Integer").setValue(1);
-// form.getBooleanInput("Boolean").setValue(true);
-// form.getEnumInput("Enum").setValue("YES");
-//
-// // Serialize that into JSON
-// JSONObject jsonObject = FormSerialization.extractForm(form, false);
-// assertNotNull(jsonObject);
-//
-// // Exchange the data on string level
-// String serializedJson = jsonObject.toJSONString();
-// JSONObject retrievedJson = (JSONObject) JSONValue.parse(serializedJson);
-//
-// // And retrieve back from JSON representation
-// MForm retrieved = FormSerialization.restoreForm(retrievedJson);
-//
-// // Verify all expected values
-// assertEquals("A", retrieved.getStringInput("String").getValue());
-// assertEquals(map, retrieved.getMapInput("Map").getValue());
-// assertEquals(1, (int)retrieved.getIntegerInput("Integer").getValue());
-// assertEquals(true, retrieved.getBooleanInput("Boolean").getValue());
-// assertEquals("YES", retrieved.getEnumInput("Enum").getValue());
-// }
-//
-// @Test
-// public void testMapDataType() {
-// MForm form = getMapForm();
-//
-// // Inserted values
-// Map<String, String> map = new HashMap<String, String>();
-// map.put("A", "B");
-// form.getMapInput("Map").setValue(map);
-//
-// // Serialize
-// JSONObject jsonObject = FormSerialization.extractForm(form, false);
-// String serializedJson = jsonObject.toJSONString();
-//
-// // Deserialize
-// JSONObject retrievedJson = (JSONObject) JSONValue.parse(serializedJson);
-// MForm retrieved = FormSerialization.restoreForm(retrievedJson);
-// assertEquals(map, retrieved.getMapInput("Map").getValue());
-// }
-//
-// @Test(expected=SqoopException.class)
-// public void testMapDataTypeException() {
-// MForm form = getMapForm();
-//
-// // Inserted values
-// Map<String, String> map = new HashMap<String, String>();
-// map.put("A", "B");
-// form.getMapInput("Map").setValue(map);
-//
-// // Serialize
-// JSONObject jsonObject = FormSerialization.extractForm(form, false);
-// String serializedJson = jsonObject.toJSONString();
-//
-// // Replace map value with a fake string to force exception
-// String badSerializedJson = serializedJson.replace("{\"A\":\"B\"}", "\"nonsensical string\"");
-// System.out.println(badSerializedJson);
-// JSONObject retrievedJson = (JSONObject) JSONValue.parse(badSerializedJson);
-// FormSerialization.restoreForm(retrievedJson);
-// }
-//
-// protected MForm getMapForm() {
-// List<MInput<?>> inputs;
-// MInput input;
-//
-// inputs = new LinkedList<MInput<?>>();
-//
-// input = new MMapInput("Map", false);
-// inputs.add(input);
-//
-// return new MForm("f", inputs);
-// }
-//
-// /**
-// * Return form with all data types.
-// *
-// * @return
-// */
-// protected MForm getForm() {
-// List<MInput<?>> inputs;
-// MInput input;
-//
-// inputs = new LinkedList<MInput<?>>();
-//
-// input = new MStringInput("String", false, (short)30);
-// inputs.add(input);
-//
-// input = new MMapInput("Map", false);
-// inputs.add(input);
-//
-// input = new MIntegerInput("Integer", false);
-// inputs.add(input);
-//
-// input = new MBooleanInput("Boolean", false);
-// inputs.add(input);
-//
-// input = new MEnumInput("Enum", false, new String[] {"YES", "NO"});
-// inputs.add(input);
-//
-// return new MForm("f", inputs);
-// }
+ @Test
+ public void testAllDataTypes() {
+ // Inserted values
+ Map<String, String> map = new HashMap<String, String>();
+ map.put("A", "B");
+
+ // Fill form with all values
+ MForm form = getForm();
+ form.getStringInput("String").setValue("A");
+ form.getMapInput("Map").setValue(map);
+ form.getIntegerInput("Integer").setValue(1);
+ form.getBooleanInput("Boolean").setValue(true);
+ form.getEnumInput("Enum").setValue("YES");
+
+ // Serialize that into JSON
+ JSONObject jsonObject = FormSerialization.extractForm(form, false);
+ assertNotNull(jsonObject);
+
+ // Exchange the data on string level
+ String serializedJson = jsonObject.toJSONString();
+ JSONObject retrievedJson = (JSONObject) JSONValue.parse(serializedJson);
+
+ // And retrieve back from JSON representation
+ MForm retrieved = FormSerialization.restoreForm(retrievedJson);
+
+ // Verify all expected values
+ assertEquals("A", retrieved.getStringInput("String").getValue());
+ assertEquals(map, retrieved.getMapInput("Map").getValue());
+ assertEquals(1, (int)retrieved.getIntegerInput("Integer").getValue());
+ assertEquals(true, retrieved.getBooleanInput("Boolean").getValue());
+ assertEquals("YES", retrieved.getEnumInput("Enum").getValue());
+ }
+
+ @Test
+ public void testMapDataType() {
+ MForm form = getMapForm();
+
+ // Inserted values
+ Map<String, String> map = new HashMap<String, String>();
+ map.put("A", "B");
+ form.getMapInput("Map").setValue(map);
+
+ // Serialize
+ JSONObject jsonObject = FormSerialization.extractForm(form, false);
+ String serializedJson = jsonObject.toJSONString();
+
+ // Deserialize
+ JSONObject retrievedJson = (JSONObject) JSONValue.parse(serializedJson);
+ MForm retrieved = FormSerialization.restoreForm(retrievedJson);
+ assertEquals(map, retrieved.getMapInput("Map").getValue());
+ }
+
+ @Test(expected=SqoopException.class)
+ public void testMapDataTypeException() {
+ MForm form = getMapForm();
+
+ // Inserted values
+ Map<String, String> map = new HashMap<String, String>();
+ map.put("A", "B");
+ form.getMapInput("Map").setValue(map);
+
+ // Serialize
+ JSONObject jsonObject = FormSerialization.extractForm(form, false);
+ String serializedJson = jsonObject.toJSONString();
+
+ // Replace map value with a fake string to force exception
+ String badSerializedJson = serializedJson.replace("{\"A\":\"B\"}", "\"nonsensical string\"");
+ System.out.println(badSerializedJson);
+ JSONObject retrievedJson = (JSONObject) JSONValue.parse(badSerializedJson);
+ FormSerialization.restoreForm(retrievedJson);
+ }
+
+ protected MForm getMapForm() {
+ List<MInput<?>> inputs;
+ MInput input;
+
+ inputs = new LinkedList<MInput<?>>();
+
+ input = new MMapInput("Map", false);
+ inputs.add(input);
+
+ return new MForm("f", inputs);
+ }
+
+ /**
+ * Return form with all data types.
+ *
+ * @return
+ */
+ protected MForm getForm() {
+ List<MInput<?>> inputs;
+ MInput input;
+
+ inputs = new LinkedList<MInput<?>>();
+
+ input = new MStringInput("String", false, (short)30);
+ inputs.add(input);
+
+ input = new MMapInput("Map", false);
+ inputs.add(input);
+
+ input = new MIntegerInput("Integer", false);
+ inputs.add(input);
+
+ input = new MBooleanInput("Boolean", false);
+ inputs.add(input);
+
+ input = new MEnumInput("Enum", false, new String[] {"YES", "NO"});
+ inputs.add(input);
+
+ return new MForm("f", inputs);
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/json/util/TestSchemaSerialization.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/json/util/TestSchemaSerialization.java b/common/src/test/java/org/apache/sqoop/json/util/TestSchemaSerialization.java
index e36308d..ab5bbd4 100644
--- a/common/src/test/java/org/apache/sqoop/json/util/TestSchemaSerialization.java
+++ b/common/src/test/java/org/apache/sqoop/json/util/TestSchemaSerialization.java
@@ -43,135 +43,135 @@ import static org.junit.Assert.assertEquals;
*/
public class TestSchemaSerialization {
-// @Test
-// public void testArray() {
-// Schema array = new Schema("array").addColumn(new Array("a", new Decimal()));
-// transferAndAssert(array);
-// }
-//
-// @Test
-// public void testBinary() {
-// Schema binary = new Schema("b").addColumn(new Binary("A", 100L));
-// transferAndAssert(binary);
-// }
-//
-// @Test
-// public void testBit() {
-// Schema bit = new Schema("b").addColumn(new Bit("B"));
-// transferAndAssert(bit);
-// }
-//
-// @Test
-// public void testDate() {
-// Schema date = new Schema("d").addColumn(new Date("d"));
-// transferAndAssert(date);
-// }
-//
-// @Test
-// public void testDateTime() {
-// Schema dateTime = new Schema("dt").addColumn(new DateTime("dt", Boolean.FALSE, Boolean.TRUE));
-// transferAndAssert(dateTime);
-// }
-//
-// @Test
-// public void testDecimal() {
-// Schema decimal = new Schema("d").addColumn(new Decimal("d", 12L, 15L));
-// transferAndAssert(decimal);
-// }
-//
-// @Test
-// public void testEnum() {
-// Schema e = new Schema("e").addColumn(new Enum("e", new Text()));
-// transferAndAssert(e);
-// }
-//
-// @Test
-// public void testFixedPoint() {
-// Schema f = new Schema("f").addColumn(new FixedPoint("fp", 4L, Boolean.FALSE));
-// transferAndAssert(f);
-// }
-//
-// @Test
-// public void testFloatingPoint() {
-// Schema fp = new Schema("fp").addColumn(new FloatingPoint("k", 4L));
-// transferAndAssert(fp);
-// }
-//
-// @Test
-// public void testMap() {
-// Schema m = new Schema("m").addColumn(new Map("m", new Text(), new Decimal()));
-// transferAndAssert(m);
-// }
-//
-// @Test
-// public void testSet() {
-// Schema s = new Schema("s").addColumn(new Set("b", new Binary()));
-// transferAndAssert(s);
-// }
-//
-// @Test
-// public void testText() {
-// Schema t = new Schema("t").addColumn(new Text("x", 10L));
-// transferAndAssert(t);
-// }
-//
-// @Test
-// public void testTime() {
-// Schema t = new Schema("t").addColumn(new Time("t", Boolean.FALSE));
-// transferAndAssert(t);
-// }
-//
-// @Test
-// public void testUnsupported() {
-// Schema t = new Schema("t").addColumn(new Unsupported("u", 4L));
-// transferAndAssert(t);
-// }
-// @Test
-// public void testNullable() {
-// Schema nullable = new Schema("n").addColumn(new Text("x", Boolean.FALSE));
-// transferAndAssert(nullable);
-// }
-//
-// @Test
-// public void testAllTypes() {
-// Schema allTypes = new Schema("all-types")
-// .addColumn(new Array("a", new Text()))
-// .addColumn(new Binary("b"))
-// .addColumn(new Bit("c"))
-// .addColumn(new Date("d"))
-// .addColumn(new DateTime("e"))
-// .addColumn(new Decimal("f"))
-// .addColumn(new Enum("g", new Text()))
-// .addColumn(new FixedPoint("h"))
-// .addColumn(new FloatingPoint("i"))
-// .addColumn(new Map("j", new Text(), new Text()))
-// .addColumn(new Set("k", new Text()))
-// .addColumn(new Text("l"))
-// .addColumn(new Time("m"))
-// .addColumn(new Unsupported("u"))
-// ;
-// transferAndAssert(allTypes);
-// }
-//
-// @Test
-// public void testComplex() {
-// Schema complex = new Schema("complex")
-// .addColumn(new Map(new Array(new Enum(new Text())), new Set(new Array(new Text()))).setName("a"))
-// ;
-// transferAndAssert(complex);
-// }
-//
-// private void transferAndAssert(Schema schema) {
-// Schema transferred = transfer(schema);
-// assertEquals(schema, transferred);
-// }
-//
-// protected Schema transfer(Schema schema) {
-// JSONObject extractJson = SchemaSerialization.extractSchema(schema);
-//
-// String transferredString = extractJson.toJSONString();
-//
-// JSONObject restoreJson = (JSONObject) JSONValue.parse(transferredString);
-// return SchemaSerialization.restoreSchemna(restoreJson);
-// }
+ @Test
+ public void testArray() {
+ Schema array = new Schema("array").addColumn(new Array("a", new Decimal()));
+ transferAndAssert(array);
+ }
+
+ @Test
+ public void testBinary() {
+ Schema binary = new Schema("b").addColumn(new Binary("A", 100L));
+ transferAndAssert(binary);
+ }
+
+ @Test
+ public void testBit() {
+ Schema bit = new Schema("b").addColumn(new Bit("B"));
+ transferAndAssert(bit);
+ }
+
+ @Test
+ public void testDate() {
+ Schema date = new Schema("d").addColumn(new Date("d"));
+ transferAndAssert(date);
+ }
+
+ @Test
+ public void testDateTime() {
+ Schema dateTime = new Schema("dt").addColumn(new DateTime("dt", Boolean.FALSE, Boolean.TRUE));
+ transferAndAssert(dateTime);
+ }
+
+ @Test
+ public void testDecimal() {
+ Schema decimal = new Schema("d").addColumn(new Decimal("d", 12L, 15L));
+ transferAndAssert(decimal);
+ }
+
+ @Test
+ public void testEnum() {
+ Schema e = new Schema("e").addColumn(new Enum("e", new Text()));
+ transferAndAssert(e);
+ }
+
+ @Test
+ public void testFixedPoint() {
+ Schema f = new Schema("f").addColumn(new FixedPoint("fp", 4L, Boolean.FALSE));
+ transferAndAssert(f);
+ }
+
+ @Test
+ public void testFloatingPoint() {
+ Schema fp = new Schema("fp").addColumn(new FloatingPoint("k", 4L));
+ transferAndAssert(fp);
+ }
+
+ @Test
+ public void testMap() {
+ Schema m = new Schema("m").addColumn(new Map("m", new Text(), new Decimal()));
+ transferAndAssert(m);
+ }
+
+ @Test
+ public void testSet() {
+ Schema s = new Schema("s").addColumn(new Set("b", new Binary()));
+ transferAndAssert(s);
+ }
+
+ @Test
+ public void testText() {
+ Schema t = new Schema("t").addColumn(new Text("x", 10L));
+ transferAndAssert(t);
+ }
+
+ @Test
+ public void testTime() {
+ Schema t = new Schema("t").addColumn(new Time("t", Boolean.FALSE));
+ transferAndAssert(t);
+ }
+
+ @Test
+ public void testUnsupported() {
+ Schema t = new Schema("t").addColumn(new Unsupported("u", 4L));
+ transferAndAssert(t);
+ }
+ @Test
+ public void testNullable() {
+ Schema nullable = new Schema("n").addColumn(new Text("x", Boolean.FALSE));
+ transferAndAssert(nullable);
+ }
+
+ @Test
+ public void testAllTypes() {
+ Schema allTypes = new Schema("all-types")
+ .addColumn(new Array("a", new Text()))
+ .addColumn(new Binary("b"))
+ .addColumn(new Bit("c"))
+ .addColumn(new Date("d"))
+ .addColumn(new DateTime("e"))
+ .addColumn(new Decimal("f"))
+ .addColumn(new Enum("g", new Text()))
+ .addColumn(new FixedPoint("h"))
+ .addColumn(new FloatingPoint("i"))
+ .addColumn(new Map("j", new Text(), new Text()))
+ .addColumn(new Set("k", new Text()))
+ .addColumn(new Text("l"))
+ .addColumn(new Time("m"))
+ .addColumn(new Unsupported("u"))
+ ;
+ transferAndAssert(allTypes);
+ }
+
+ @Test
+ public void testComplex() {
+ Schema complex = new Schema("complex")
+ .addColumn(new Map(new Array(new Enum(new Text())), new Set(new Array(new Text()))).setName("a"))
+ ;
+ transferAndAssert(complex);
+ }
+
+ private void transferAndAssert(Schema schema) {
+ Schema transferred = transfer(schema);
+ assertEquals(schema, transferred);
+ }
+
+ protected Schema transfer(Schema schema) {
+ JSONObject extractJson = SchemaSerialization.extractSchema(schema);
+
+ String transferredString = extractJson.toJSONString();
+
+ JSONObject restoreJson = (JSONObject) JSONValue.parse(transferredString);
+ return SchemaSerialization.restoreSchemna(restoreJson);
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/model/TestFormUtils.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/model/TestFormUtils.java b/common/src/test/java/org/apache/sqoop/model/TestFormUtils.java
index 6c76347..08dfa7b 100644
--- a/common/src/test/java/org/apache/sqoop/model/TestFormUtils.java
+++ b/common/src/test/java/org/apache/sqoop/model/TestFormUtils.java
@@ -32,218 +32,218 @@ import java.util.Map;
*/
public class TestFormUtils extends TestCase {
-// public void testToForms() {
-// Config config = new Config();
-// config.aForm.a1 = "value";
-//
-// List<MForm> formsByInstance = FormUtils.toForms(config);
-// assertEquals(getForms(), formsByInstance);
-// assertEquals("value", formsByInstance.get(0).getInputs().get(0).getValue());
-//
-// List<MForm> formsByClass = FormUtils.toForms(Config.class);
-// assertEquals(getForms(), formsByClass);
-//
-// List<MForm> formsByBoth = FormUtils.toForms(Config.class, config);
-// assertEquals(getForms(), formsByBoth);
-// assertEquals("value", formsByBoth.get(0).getInputs().get(0).getValue());
-// }
-//
-// public void testToFormsMissingAnnotation() {
-// try {
-// FormUtils.toForms(ConfigWithout.class);
-// } catch(SqoopException ex) {
-// assertEquals(ModelError.MODEL_003, ex.getErrorCode());
-// return;
-// }
-//
-// fail("Correct exception wasn't thrown");
-// }
-//
-// public void testFailureOnPrimitiveType() {
-// PrimitiveConfig config = new PrimitiveConfig();
-//
-// try {
-// FormUtils.toForms(config);
-// fail("We were expecting exception for unsupported type.");
-// } catch(SqoopException ex) {
-// assertEquals(ModelError.MODEL_007, ex.getErrorCode());
-// }
-// }
-//
-// public void testFillValues() {
-// List<MForm> forms = getForms();
-//
-// ((MStringInput)forms.get(0).getInputs().get(0)).setValue("value");
-//
-// Config config = new Config();
-//
-// FormUtils.fromForms(forms, config);
-// assertEquals("value", config.aForm.a1);
-// }
-//
-// public void testFillValuesObjectReuse() {
-// List<MForm> forms = getForms();
-//
-// ((MStringInput)forms.get(0).getInputs().get(0)).setValue("value");
-//
-// Config config = new Config();
-// config.aForm.a2 = "x";
-// config.bForm.b1 = "y";
-//
-// FormUtils.fromForms(forms, config);
-// assertEquals("value", config.aForm.a1);
-// assertNull(config.aForm.a2);
-// assertNull(config.bForm.b2);
-// assertNull(config.bForm.b2);
-// }
-//
-// public void testApplyValidation() {
-// Validation validation = getValidation();
-// List<MForm> forms = getForms();
-//
-// FormUtils.applyValidation(forms, validation);
-//
-// assertEquals(Status.ACCEPTABLE,
-// forms.get(0).getInputs().get(0).getValidationStatus());
-// assertEquals("e1",
-// forms.get(0).getInputs().get(0).getValidationMessage());
-//
-// assertEquals(Status.UNACCEPTABLE,
-// forms.get(0).getInputs().get(1).getValidationStatus());
-// assertEquals("e2",
-// forms.get(0).getInputs().get(1).getValidationMessage());
-// }
-//
-// public void testJson() {
-// Config config = new Config();
-// config.aForm.a1 = "A";
-// config.bForm.b2 = "B";
-// config.cForm.intValue = 4;
-// config.cForm.map.put("C", "D");
-// config.cForm.enumeration = Enumeration.X;
-//
-// String json = FormUtils.toJson(config);
-//
-// Config targetConfig = new Config();
-//
-// // Old values from should be always removed
-// targetConfig.aForm.a2 = "X";
-// targetConfig.bForm.b1 = "Y";
-// // Nulls in forms shouldn't be an issue either
-// targetConfig.cForm = null;
-//
-// FormUtils.fillValues(json, targetConfig);
-//
-// assertEquals("A", targetConfig.aForm.a1);
-// assertNull(targetConfig.aForm.a2);
-//
-// assertNull(targetConfig.bForm.b1);
-// assertEquals("B", targetConfig.bForm.b2);
-//
-// assertEquals((Integer)4, targetConfig.cForm.intValue);
-// assertEquals(1, targetConfig.cForm.map.size());
-// assertTrue(targetConfig.cForm.map.containsKey("C"));
-// assertEquals("D", targetConfig.cForm.map.get("C"));
-// assertEquals(Enumeration.X, targetConfig.cForm.enumeration);
-// }
-//
-// protected Validation getValidation() {
-// Map<Validation.FormInput, Validation.Message> messages
-// = new HashMap<Validation.FormInput, Validation.Message>();
-//
-// messages.put(
-// new Validation.FormInput("aForm", "a1"),
-// new Validation.Message(Status.ACCEPTABLE, "e1"));
-// messages.put(
-// new Validation.FormInput("aForm", "a2"),
-// new Validation.Message(Status.UNACCEPTABLE, "e2"));
-//
-// return new Validation(Status.UNACCEPTABLE, messages);
-// }
-//
-// /**
-// * Form structure that corresponds to Config class declared below
-// * @return Form structure
-// */
-// protected List<MForm> getForms() {
-// List<MForm> ret = new LinkedList<MForm>();
-//
-// List<MInput<?>> inputs;
-//
-// // Form A
-// inputs = new LinkedList<MInput<?>>();
-// inputs.add(new MStringInput("aForm.a1", false, (short)30));
-// inputs.add(new MStringInput("aForm.a2", true, (short)-1));
-// ret.add(new MForm("aForm", inputs));
-//
-// // Form B
-// inputs = new LinkedList<MInput<?>>();
-// inputs.add(new MStringInput("bForm.b1", false, (short)2));
-// inputs.add(new MStringInput("bForm.b2", false, (short)3));
-// ret.add(new MForm("bForm", inputs));
-//
-// // Form C
-// inputs = new LinkedList<MInput<?>>();
-// inputs.add(new MIntegerInput("cForm.intValue", false));
-// inputs.add(new MMapInput("cForm.map", false));
-// inputs.add(new MEnumInput("cForm.enumeration", false, new String[]{"X", "Y"}));
-// ret.add(new MForm("cForm", inputs));
-//
-// return ret;
-// }
-//
-// @ConfigurationClass
-// public static class Config {
-//
-// public Config() {
-// aForm = new AForm();
-// bForm = new BForm();
-// cForm = new CForm();
-// }
-//
-// @Form AForm aForm;
-// @Form BForm bForm;
-// @Form CForm cForm;
-// }
-//
-// @ConfigurationClass
-// public static class PrimitiveConfig {
-// @Form DForm dForm;
-// }
-//
-// @FormClass
-// public static class AForm {
-// @Input(size = 30) String a1;
-// @Input(sensitive = true) String a2;
-// }
-//
-// @FormClass
-// public static class BForm {
-// @Input(size = 2) String b1;
-// @Input(size = 3) String b2;
-// }
-//
-// @FormClass
-// public static class CForm {
-// @Input Integer intValue;
-// @Input Map<String, String> map;
-// @Input Enumeration enumeration;
-//
-// public CForm() {
-// map = new HashMap<String, String>();
-// }
-// }
-//
-// @FormClass
-// public static class DForm {
-// @Input int value;
-// }
-//
-// public static class ConfigWithout {
-// }
-//
-// enum Enumeration {
-// X,
-// Y,
-// }
+ public void testToForms() {
+ Config config = new Config();
+ config.aForm.a1 = "value";
+
+ List<MForm> formsByInstance = FormUtils.toForms(config);
+ assertEquals(getForms(), formsByInstance);
+ assertEquals("value", formsByInstance.get(0).getInputs().get(0).getValue());
+
+ List<MForm> formsByClass = FormUtils.toForms(Config.class);
+ assertEquals(getForms(), formsByClass);
+
+ List<MForm> formsByBoth = FormUtils.toForms(Config.class, config);
+ assertEquals(getForms(), formsByBoth);
+ assertEquals("value", formsByBoth.get(0).getInputs().get(0).getValue());
+ }
+
+ public void testToFormsMissingAnnotation() {
+ try {
+ FormUtils.toForms(ConfigWithout.class);
+ } catch(SqoopException ex) {
+ assertEquals(ModelError.MODEL_003, ex.getErrorCode());
+ return;
+ }
+
+ fail("Correct exception wasn't thrown");
+ }
+
+ public void testFailureOnPrimitiveType() {
+ PrimitiveConfig config = new PrimitiveConfig();
+
+ try {
+ FormUtils.toForms(config);
+ fail("We were expecting exception for unsupported type.");
+ } catch(SqoopException ex) {
+ assertEquals(ModelError.MODEL_007, ex.getErrorCode());
+ }
+ }
+
+ public void testFillValues() {
+ List<MForm> forms = getForms();
+
+ ((MStringInput)forms.get(0).getInputs().get(0)).setValue("value");
+
+ Config config = new Config();
+
+ FormUtils.fromForms(forms, config);
+ assertEquals("value", config.aForm.a1);
+ }
+
+ public void testFillValuesObjectReuse() {
+ List<MForm> forms = getForms();
+
+ ((MStringInput)forms.get(0).getInputs().get(0)).setValue("value");
+
+ Config config = new Config();
+ config.aForm.a2 = "x";
+ config.bForm.b1 = "y";
+
+ FormUtils.fromForms(forms, config);
+ assertEquals("value", config.aForm.a1);
+ assertNull(config.aForm.a2);
+ assertNull(config.bForm.b2);
+ assertNull(config.bForm.b2);
+ }
+
+ public void testApplyValidation() {
+ Validation validation = getValidation();
+ List<MForm> forms = getForms();
+
+ FormUtils.applyValidation(forms, validation);
+
+ assertEquals(Status.ACCEPTABLE,
+ forms.get(0).getInputs().get(0).getValidationStatus());
+ assertEquals("e1",
+ forms.get(0).getInputs().get(0).getValidationMessage());
+
+ assertEquals(Status.UNACCEPTABLE,
+ forms.get(0).getInputs().get(1).getValidationStatus());
+ assertEquals("e2",
+ forms.get(0).getInputs().get(1).getValidationMessage());
+ }
+
+ public void testJson() {
+ Config config = new Config();
+ config.aForm.a1 = "A";
+ config.bForm.b2 = "B";
+ config.cForm.intValue = 4;
+ config.cForm.map.put("C", "D");
+ config.cForm.enumeration = Enumeration.X;
+
+ String json = FormUtils.toJson(config);
+
+ Config targetConfig = new Config();
+
+ // Old values from should be always removed
+ targetConfig.aForm.a2 = "X";
+ targetConfig.bForm.b1 = "Y";
+ // Nulls in forms shouldn't be an issue either
+ targetConfig.cForm = null;
+
+ FormUtils.fillValues(json, targetConfig);
+
+ assertEquals("A", targetConfig.aForm.a1);
+ assertNull(targetConfig.aForm.a2);
+
+ assertNull(targetConfig.bForm.b1);
+ assertEquals("B", targetConfig.bForm.b2);
+
+ assertEquals((Integer)4, targetConfig.cForm.intValue);
+ assertEquals(1, targetConfig.cForm.map.size());
+ assertTrue(targetConfig.cForm.map.containsKey("C"));
+ assertEquals("D", targetConfig.cForm.map.get("C"));
+ assertEquals(Enumeration.X, targetConfig.cForm.enumeration);
+ }
+
+ protected Validation getValidation() {
+ Map<Validation.FormInput, Validation.Message> messages
+ = new HashMap<Validation.FormInput, Validation.Message>();
+
+ messages.put(
+ new Validation.FormInput("aForm", "a1"),
+ new Validation.Message(Status.ACCEPTABLE, "e1"));
+ messages.put(
+ new Validation.FormInput("aForm", "a2"),
+ new Validation.Message(Status.UNACCEPTABLE, "e2"));
+
+ return new Validation(Status.UNACCEPTABLE, messages);
+ }
+
+ /**
+ * Form structure that corresponds to Config class declared below
+ * @return Form structure
+ */
+ protected List<MForm> getForms() {
+ List<MForm> ret = new LinkedList<MForm>();
+
+ List<MInput<?>> inputs;
+
+ // Form A
+ inputs = new LinkedList<MInput<?>>();
+ inputs.add(new MStringInput("aForm.a1", false, (short)30));
+ inputs.add(new MStringInput("aForm.a2", true, (short)-1));
+ ret.add(new MForm("aForm", inputs));
+
+ // Form B
+ inputs = new LinkedList<MInput<?>>();
+ inputs.add(new MStringInput("bForm.b1", false, (short)2));
+ inputs.add(new MStringInput("bForm.b2", false, (short)3));
+ ret.add(new MForm("bForm", inputs));
+
+ // Form C
+ inputs = new LinkedList<MInput<?>>();
+ inputs.add(new MIntegerInput("cForm.intValue", false));
+ inputs.add(new MMapInput("cForm.map", false));
+ inputs.add(new MEnumInput("cForm.enumeration", false, new String[]{"X", "Y"}));
+ ret.add(new MForm("cForm", inputs));
+
+ return ret;
+ }
+
+ @ConfigurationClass
+ public static class Config {
+
+ public Config() {
+ aForm = new AForm();
+ bForm = new BForm();
+ cForm = new CForm();
+ }
+
+ @Form AForm aForm;
+ @Form BForm bForm;
+ @Form CForm cForm;
+ }
+
+ @ConfigurationClass
+ public static class PrimitiveConfig {
+ @Form DForm dForm;
+ }
+
+ @FormClass
+ public static class AForm {
+ @Input(size = 30) String a1;
+ @Input(sensitive = true) String a2;
+ }
+
+ @FormClass
+ public static class BForm {
+ @Input(size = 2) String b1;
+ @Input(size = 3) String b2;
+ }
+
+ @FormClass
+ public static class CForm {
+ @Input Integer intValue;
+ @Input Map<String, String> map;
+ @Input Enumeration enumeration;
+
+ public CForm() {
+ map = new HashMap<String, String>();
+ }
+ }
+
+ @FormClass
+ public static class DForm {
+ @Input int value;
+ }
+
+ public static class ConfigWithout {
+ }
+
+ enum Enumeration {
+ X,
+ Y,
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/model/TestMAccountableEntity.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/model/TestMAccountableEntity.java b/common/src/test/java/org/apache/sqoop/model/TestMAccountableEntity.java
index 942a056..f3d4166 100644
--- a/common/src/test/java/org/apache/sqoop/model/TestMAccountableEntity.java
+++ b/common/src/test/java/org/apache/sqoop/model/TestMAccountableEntity.java
@@ -30,32 +30,32 @@ import org.junit.Test;
*/
public class TestMAccountableEntity {
-// /**
-// * Test for class initialization
-// */
-// @Test
-// public void testInitialization() {
-// List<MForm> forms = new ArrayList<MForm>();
-// MIntegerInput input = new MIntegerInput("INTEGER-INPUT", false);
-// List<MInput<?>> list = new ArrayList<MInput<?>>();
-// list.add(input);
-// MForm form = new MForm("FORMNAME", list);
-// forms.add(form);
-// MAccountableEntity connection = new MConnection(123l, new MConnectionForms(
-// forms), new MConnectionForms(forms));
-// // Initially creation date and last update date is same
-// assertEquals(connection.getCreationDate(), connection.getLastUpdateDate());
-// Date testCreationDate = new Date();
-// Date testLastUpdateDate = new Date();
-// connection.setCreationUser("admin");
-// connection.setCreationDate(testCreationDate);
-// connection.setLastUpdateUser("user");
-// connection.setLastUpdateDate(testLastUpdateDate);
-// connection.setEnabled(false);
-// assertEquals(testCreationDate, connection.getCreationDate());
-// assertEquals("admin", connection.getCreationUser());
-// assertEquals(testLastUpdateDate, connection.getLastUpdateDate());
-// assertEquals(false, connection.getEnabled());
-// assertEquals("user", connection.getLastUpdateUser());
-// }
+ /**
+ * Test for class initialization
+ */
+ @Test
+ public void testInitialization() {
+ List<MForm> forms = new ArrayList<MForm>();
+ MIntegerInput input = new MIntegerInput("INTEGER-INPUT", false);
+ List<MInput<?>> list = new ArrayList<MInput<?>>();
+ list.add(input);
+ MForm form = new MForm("FORMNAME", list);
+ forms.add(form);
+ MAccountableEntity connection = new MConnection(123l, new MConnectionForms(
+ forms), new MConnectionForms(forms));
+ // Initially creation date and last update date is same
+ assertEquals(connection.getCreationDate(), connection.getLastUpdateDate());
+ Date testCreationDate = new Date();
+ Date testLastUpdateDate = new Date();
+ connection.setCreationUser("admin");
+ connection.setCreationDate(testCreationDate);
+ connection.setLastUpdateUser("user");
+ connection.setLastUpdateDate(testLastUpdateDate);
+ connection.setEnabled(false);
+ assertEquals(testCreationDate, connection.getCreationDate());
+ assertEquals("admin", connection.getCreationUser());
+ assertEquals(testLastUpdateDate, connection.getLastUpdateDate());
+ assertEquals(false, connection.getEnabled());
+ assertEquals("user", connection.getLastUpdateUser());
+ }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/3bb7ff83/common/src/test/java/org/apache/sqoop/model/TestMBooleanInput.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/sqoop/model/TestMBooleanInput.java b/common/src/test/java/org/apache/sqoop/model/TestMBooleanInput.java
index b955aa4..cf9cf24 100644
--- a/common/src/test/java/org/apache/sqoop/model/TestMBooleanInput.java
+++ b/common/src/test/java/org/apache/sqoop/model/TestMBooleanInput.java
@@ -30,70 +30,70 @@ import static org.junit.Assert.assertTrue;
*/
public class TestMBooleanInput {
-// /**
-// * Test for class initialization
-// */
-// @Test
-// public void testInitialization() {
-// MBooleanInput input = new MBooleanInput("sqoopsqoop", true);
-// assertEquals("sqoopsqoop", input.getName());
-// assertEquals(true, input.isSensitive());
-// assertEquals(MInputType.BOOLEAN, input.getType());
-// }
-//
-// /**
-// * Test for equals() method
-// */
-// @Test
-// public void testEquals() {
-// // Positive test
-// MBooleanInput input1 = new MBooleanInput("sqoopsqoop", true);
-// MBooleanInput input2 = new MBooleanInput("sqoopsqoop", true);
-// assertTrue(input1.equals(input2));
-//
-// // Negative test
-// MBooleanInput input3 = new MBooleanInput("sqoopsqoop", false);
-// MBooleanInput input4 = new MBooleanInput("sqoopsqoop", true);
-// assertFalse(input3.equals(input4));
-//
-// MBooleanInput input5 = new MBooleanInput("sqoopsqoop", false);
-// MBooleanInput input6 = new MBooleanInput("sqoop", false);
-// assertFalse(input5.equals(input6));
-// }
-//
-// /**
-// * Test for value
-// */
-// @Test
-// public void testValue() {
-// MBooleanInput input1 = new MBooleanInput("sqoopsqoop", true);
-// input1.setValue(true);
-// assertEquals(true, input1.getValue());
-// input1.setEmpty();
-// assertNull(input1.getValue());
-// }
-//
-// /**
-// * Test for getUrlSafeValueString() and restoreFromUrlSafeValueString()
-// */
-// @Test
-// public void testUrlSafe() {
-// MBooleanInput input1 = new MBooleanInput("sqoopsqoop", true);
-// input1.setValue(true);
-// // Getting URL safe string
-// String tmp = input1.getUrlSafeValueString();
-// // Restore to actual value
-// input1.restoreFromUrlSafeValueString(tmp);
-// assertEquals(true, input1.getValue());
-// }
-//
-// /**
-// * Test case for MNamedElement.getLabelKey() and MNamedElement.getHelpKey()
-// */
-// @Test
-// public void testNamedElement() {
-// MBooleanInput input1 = new MBooleanInput("sqoopsqoop", true);
-// assertEquals("sqoopsqoop.label", input1.getLabelKey());
-// assertEquals("sqoopsqoop.help", input1.getHelpKey());
-// }
+ /**
+ * Test for class initialization
+ */
+ @Test
+ public void testInitialization() {
+ MBooleanInput input = new MBooleanInput("sqoopsqoop", true);
+ assertEquals("sqoopsqoop", input.getName());
+ assertEquals(true, input.isSensitive());
+ assertEquals(MInputType.BOOLEAN, input.getType());
+ }
+
+ /**
+ * Test for equals() method
+ */
+ @Test
+ public void testEquals() {
+ // Positive test
+ MBooleanInput input1 = new MBooleanInput("sqoopsqoop", true);
+ MBooleanInput input2 = new MBooleanInput("sqoopsqoop", true);
+ assertTrue(input1.equals(input2));
+
+ // Negative test
+ MBooleanInput input3 = new MBooleanInput("sqoopsqoop", false);
+ MBooleanInput input4 = new MBooleanInput("sqoopsqoop", true);
+ assertFalse(input3.equals(input4));
+
+ MBooleanInput input5 = new MBooleanInput("sqoopsqoop", false);
+ MBooleanInput input6 = new MBooleanInput("sqoop", false);
+ assertFalse(input5.equals(input6));
+ }
+
+ /**
+ * Test for value
+ */
+ @Test
+ public void testValue() {
+ MBooleanInput input1 = new MBooleanInput("sqoopsqoop", true);
+ input1.setValue(true);
+ assertEquals(true, input1.getValue());
+ input1.setEmpty();
+ assertNull(input1.getValue());
+ }
+
+ /**
+ * Test for getUrlSafeValueString() and restoreFromUrlSafeValueString()
+ */
+ @Test
+ public void testUrlSafe() {
+ MBooleanInput input1 = new MBooleanInput("sqoopsqoop", true);
+ input1.setValue(true);
+ // Getting URL safe string
+ String tmp = input1.getUrlSafeValueString();
+ // Restore to actual value
+ input1.restoreFromUrlSafeValueString(tmp);
+ assertEquals(true, input1.getValue());
+ }
+
+ /**
+ * Test case for MNamedElement.getLabelKey() and MNamedElement.getHelpKey()
+ */
+ @Test
+ public void testNamedElement() {
+ MBooleanInput input1 = new MBooleanInput("sqoopsqoop", true);
+ assertEquals("sqoopsqoop.label", input1.getLabelKey());
+ assertEquals("sqoopsqoop.help", input1.getHelpKey());
+ }
}