1 # Licensed to the Apache Software Foundation (ASF) under one
2 # or more contributor license agreements. See the NOTICE file
3 # distributed with this work for additional information
4 # regarding copyright ownership. The ASF licenses this file
5 # to you under the Apache License, Version 2.0 (the
6 # "License"); you may not use this file except in compliance
7 # with the License. You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 require 'hbase_constants'
20 class NonInteractiveTest < Test::Unit::TestCase
22 @hbase = ::Hbase::Hbase.new($TEST_CLUSTER.getConfiguration)
23 @shell = Shell::Shell.new(@hbase, false)
26 define_test "Shell::Shell noninteractive mode should throw" do
27 # XXX Exception instead of StandardError because we throw things
28 # that aren't StandardError
29 assert_raise(ArgumentError) do
30 # incorrect number of arguments
31 @shell.command('create', 'foo')
33 @shell.command('create', 'foo', 'family_1')
34 exception = assert_raise(RuntimeError) do
35 # create a table that exists
36 @shell.command('create', 'foo', 'family_1')
38 assert_equal("Table already exists: foo!", exception.message)