#!/bin/bash # 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. ASSERT_SUCCESS=0 ASSERT_FAILURE=1 TEST_SUCCESS=0 TEST_FAILURE=1 function assert_cmd_succeeded() { retval=$? if [[ $retval -ne 0 ]]; then echo "Expected command $1 to succeed, but exited with $retval" return $ASSERT_FAILURE fi return $ASSERT_SUCCESS } function assert_cmd_failed() { retval=$? if [[ $retval -eq 0 ]]; then echo "Expected command $1 to fail, but exited with $retval" return $ASSERT_FAILURE fi return $ASSERT_SUCCESS } function assert_output_contains() { local actual_output="$1" local needle="$2" if [[ "$actual_output" == *"$needle"* ]]; then return $ASSERT_SUCCESS fi echo "Expected to find "$needle" in output [$actual_output]" return $ASSERT_FAILURE } function assert_output_not_contains() { local actual_output="$1" local needle="$2" if echo "$actual_output" | grep -q "$needle"; then echo "Didn't expect to find "$needle" in output [$actual_output]" return $ASSERT_FAILURE fi return $ASSERT_SUCCESS } function assert_collection_exists() { local coll_name=$1 local coll_list=$(bin/solr zk ls /collections -z localhost:9983) for coll in $coll_list; do if [[ $(echo $coll | tr -d " ") == $coll_name ]]; then return $ASSERT_SUCCESS fi done echo "Expected to find collection named [$coll_name], but could only find: $coll_list" return $ASSERT_FAILURE } function assert_collection_doesnt_exist() { local coll_name=$1 local coll_list=$(bin/solr zk ls /collections -z localhost:9983) for coll in $coll_list; do echo "Comparing $coll to $coll_name" if [[ $(echo $coll | tr -d " ") == "$coll_name" ]]; then echo "Expected not to find collection [$coll_name], but it exists" return $ASSERT_FAILURE fi done return $ASSERT_SUCCESS } function assert_config_exists() { local config_name=$1 local config_list=$(bin/solr zk ls /configs -z localhost:9983) for config in $config_list; do if [[ $(echo $config | tr -d " ") == $config_name ]]; then return $ASSERT_SUCCESS fi done echo "Expected to find config named [$config_name], but could only find: $config_list" return $ASSERT_FAILURE } function assert_config_doesnt_exist() { local config_name=$1 local config_list=$(bin/solr zk ls /configs -z localhost:9983) for config in $config_list; do if [[ $(echo $config | tr -d " ") == $config_name ]]; then echo "Expected not to find config [$config_name], but it exists" return $ASSERT_FAILURE fi done return $ASSERT_SUCCESS }