| /* |
| * 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.pig.backend.hadoop.accumulo; |
| |
| import java.io.IOException; |
| import java.util.Arrays; |
| import java.util.LinkedList; |
| import java.util.List; |
| |
| import org.apache.accumulo.core.security.Authorizations; |
| import org.apache.commons.cli.ParseException; |
| import org.junit.Assert; |
| import org.junit.Test; |
| |
| public class TestAccumuloStorageOptions { |
| |
| @Test |
| public void testFetchColumns() throws ParseException, IOException { |
| AbstractAccumuloStorage storage = TestAbstractAccumuloStorage |
| .getAbstractAccumuloStorage("cf1,cf2:cq2"); |
| |
| List<Column> pairs = new LinkedList<Column>(); |
| pairs.add(new Column("cf1")); |
| pairs.add(new Column("cf2:cq2")); |
| |
| Assert.assertEquals(pairs, storage.columns); |
| } |
| |
| @Test |
| public void testWriteColumns() throws ParseException, IOException { |
| AbstractAccumuloStorage storage = TestAbstractAccumuloStorage |
| .getAbstractAccumuloStorage("foo,bar,baz,foo:bar,foo:baz"); |
| |
| List<Column> columnNames = Arrays.asList(new Column("foo"), new Column( |
| "bar"), new Column("baz"), new Column("foo:bar"), new Column( |
| "foo:baz")); |
| |
| Assert.assertEquals(columnNames, storage.columns); |
| } |
| |
| @Test |
| public void testAuths() throws ParseException, IOException { |
| AbstractAccumuloStorage storage = TestAbstractAccumuloStorage |
| .getAbstractAccumuloStorage("", "--authorizations auth1,auth2"); |
| |
| Authorizations auths = new Authorizations("auth1,auth2"); |
| |
| Assert.assertEquals(auths, storage.authorizations); |
| |
| storage = TestAbstractAccumuloStorage.getAbstractAccumuloStorage("", |
| "-auths auth1,auth2"); |
| Assert.assertEquals(auths, storage.authorizations); |
| } |
| |
| @Test |
| public void testStartEndRows() throws ParseException, IOException { |
| AbstractAccumuloStorage storage = TestAbstractAccumuloStorage |
| .getAbstractAccumuloStorage("", "--start begin --end finish"); |
| |
| Assert.assertEquals("begin", storage.start); |
| Assert.assertEquals("finish", storage.end); |
| |
| storage = TestAbstractAccumuloStorage.getAbstractAccumuloStorage("", |
| "-s begin -e finish"); |
| Assert.assertEquals("begin", storage.start); |
| Assert.assertEquals("finish", storage.end); |
| } |
| |
| @Test |
| public void testBatchWriterOptions() throws ParseException, IOException { |
| long buffSize = 1024 * 50; |
| int writeThreads = 8, maxLatency = 30 * 1000; |
| |
| AbstractAccumuloStorage storage = TestAbstractAccumuloStorage |
| .getAbstractAccumuloStorage("", "--mutation-buffer-size " |
| + buffSize + " --write-threads " + writeThreads |
| + " --max-latency " + maxLatency); |
| |
| Assert.assertEquals(buffSize, storage.maxMutationBufferSize); |
| Assert.assertEquals(writeThreads, storage.maxWriteThreads); |
| Assert.assertEquals(maxLatency, storage.maxLatency); |
| |
| storage = TestAbstractAccumuloStorage.getAbstractAccumuloStorage("", |
| "-buff " + buffSize + " -wt " + writeThreads + " -ml " |
| + maxLatency); |
| |
| Assert.assertEquals(buffSize, storage.maxMutationBufferSize); |
| Assert.assertEquals(writeThreads, storage.maxWriteThreads); |
| Assert.assertEquals(maxLatency, storage.maxLatency); |
| } |
| |
| @Test |
| public void testColumnOptions() throws ParseException, IOException { |
| AbstractAccumuloStorage storage = TestAbstractAccumuloStorage |
| .getAbstractAccumuloStorage("foo-bar ", |
| "--ignore-whitespace false --separator -"); |
| |
| Assert.assertEquals(2, storage.columns.size()); |
| |
| Assert.assertEquals("foo", storage.columns.get(0).getColumnFamily()); |
| Assert.assertEquals("bar ", storage.columns.get(1).getColumnFamily()); |
| } |
| } |