beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dhalp...@apache.org
Subject [1/5] beam git commit: [BEAM-1549] Add missing tests for Coders/Serializers in HBaseIO
Date Mon, 27 Feb 2017 21:13:15 GMT
Repository: beam
Updated Branches:
  refs/heads/master 83419241a -> eeed30b6e


[BEAM-1549] Add missing tests for Coders/Serializers in HBaseIO


Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/232975c6
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/232975c6
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/232975c6

Branch: refs/heads/master
Commit: 232975c6082210f91b6d2542e9afffc04d350d60
Parents: 16a2bc0
Author: Ismaël Mejía <iemejia@gmail.com>
Authored: Thu Feb 23 23:15:23 2017 +0100
Committer: Dan Halperin <dhalperi@google.com>
Committed: Mon Feb 27 13:13:03 2017 -0800

----------------------------------------------------------------------
 .../sdk/io/hbase/HBaseMutationCoderTest.java    | 52 ++++++++++++++++++
 .../beam/sdk/io/hbase/HBaseResultCoderTest.java | 41 ++++++++++++++
 .../beam/sdk/io/hbase/SerializableScanTest.java | 56 ++++++++++++++++++++
 3 files changed, 149 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/beam/blob/232975c6/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/HBaseMutationCoderTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/HBaseMutationCoderTest.java
b/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/HBaseMutationCoderTest.java
new file mode 100644
index 0000000..5bf2d80
--- /dev/null
+++ b/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/HBaseMutationCoderTest.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.beam.sdk.io.hbase;
+
+import org.apache.beam.sdk.testing.CoderProperties;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Increment;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/**
+ * Tests for HBaseMutationCoder.
+ */
+@RunWith(JUnit4.class)
+public class HBaseMutationCoderTest {
+  @Rule public final ExpectedException thrown = ExpectedException.none();
+  private static final HBaseMutationCoder CODER = HBaseMutationCoder.of();
+
+  @Test
+  public void testMutationEncoding() throws Exception {
+    Mutation put = new Put("1".getBytes());
+    CoderProperties.structuralValueDecodeEncodeEqual(CODER, put);
+
+    Mutation delete = new Delete("1".getBytes());
+    CoderProperties.structuralValueDecodeEncodeEqual(CODER, delete);
+
+    Mutation increment = new Increment("1".getBytes());
+    thrown.expect(IllegalArgumentException.class);
+    thrown.expectMessage("Only Put and Delete are supported");
+    CoderProperties.coderDecodeEncodeEqual(CODER, increment);
+  }
+}

http://git-wip-us.apache.org/repos/asf/beam/blob/232975c6/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/HBaseResultCoderTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/HBaseResultCoderTest.java
b/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/HBaseResultCoderTest.java
new file mode 100644
index 0000000..c6b27d6
--- /dev/null
+++ b/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/HBaseResultCoderTest.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.beam.sdk.io.hbase;
+
+import org.apache.beam.sdk.testing.CoderProperties;
+import org.apache.hadoop.hbase.client.Result;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/**
+ * Tests for HBaseResultCoder.
+ */
+@RunWith(JUnit4.class)
+public class HBaseResultCoderTest {
+  @Rule public final ExpectedException thrown = ExpectedException.none();
+  private static final HBaseResultCoder CODER = HBaseResultCoder.of();
+
+  @Test
+  public void testResultEncoding() throws Exception {
+    Result value = Result.EMPTY_RESULT;
+    CoderProperties.structuralValueDecodeEncodeEqual(CODER, value);
+  }
+}

http://git-wip-us.apache.org/repos/asf/beam/blob/232975c6/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/SerializableScanTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/SerializableScanTest.java
b/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/SerializableScanTest.java
new file mode 100644
index 0000000..49eb4e3
--- /dev/null
+++ b/sdks/java/io/hbase/src/test/java/org/apache/beam/sdk/io/hbase/SerializableScanTest.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.beam.sdk.io.hbase;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.commons.lang3.SerializationUtils;
+import org.apache.hadoop.hbase.client.Scan;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/**
+ * Tests for SerializableScan.
+ */
+@RunWith(JUnit4.class)
+public class SerializableScanTest {
+  @Rule public final ExpectedException thrown = ExpectedException.none();
+  private static final SerializableScan DEFAULT_SERIALIZABLE_SCAN =
+          new SerializableScan(new Scan());
+
+  @Test
+  public void testSerializationDeserialization() throws Exception {
+    Scan scan = new Scan().setStartRow("1".getBytes("UTF-8"));
+    byte[] object = SerializationUtils.serialize(new SerializableScan(scan));
+    SerializableScan serScan = SerializationUtils.deserialize(object);
+    assertNotNull(serScan);
+    assertEquals(new String(serScan.get().getStartRow(), "UTF-8"), "1");
+  }
+
+  @Test
+  public void testConstruction() {
+    assertNotNull(DEFAULT_SERIALIZABLE_SCAN.get());
+
+    thrown.expect(NullPointerException.class);
+    new SerializableScan(null);
+  }
+}


Mime
View raw message