fdcc9b7e0e
Change-Id: Ie5a08859010453d276b42253f5f2130f80b82224
92 lines
2.6 KiB
Bash
Executable File
92 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright 2017 The Openstack-Helm Authors.
|
|
#
|
|
# Licensed 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.
|
|
|
|
set -xe
|
|
|
|
ELASTICSEARCH_ENDPOINT="elasticsearch-logging.osh-infra"
|
|
|
|
#NOTE: Create index with specified LDAP user
|
|
function create_index () {
|
|
index_result=$(curl -K- <<< "--user $1:$2" \
|
|
-XPUT "${ELASTICSEARCH_ENDPOINT}/$1_index?pretty" -H 'Content-Type: application/json' -d'
|
|
{
|
|
"settings" : {
|
|
"index" : {
|
|
"number_of_shards" : 3,
|
|
"number_of_replicas" : 2
|
|
}
|
|
}
|
|
}
|
|
' | python -c "import sys, json; print(json.load(sys.stdin)['acknowledged'])")
|
|
if [ "$index_result" == "True" ];
|
|
then
|
|
echo "$1's index successfully created!";
|
|
else
|
|
echo "$1's index not created!";
|
|
exit 1;
|
|
fi
|
|
}
|
|
|
|
#NOTE: Insert test data with specified LDAP user
|
|
function insert_test_data () {
|
|
insert_result=$(curl -K- <<< "--user $1:$2" \
|
|
-XPUT "${ELASTICSEARCH_ENDPOINT}/$1_index/sample_type/123/_create?pretty" -H 'Content-Type: application/json' -d'
|
|
{
|
|
"name" : "Elasticsearch",
|
|
"message" : "Test data text entry"
|
|
}
|
|
' | python -c "import sys, json; print(json.load(sys.stdin)['result'])")
|
|
if [ "$insert_result" == "created" ]; then
|
|
sleep 20
|
|
echo "Test data inserted into $1's index!";
|
|
else
|
|
echo "Test data not inserted into $1's index!";
|
|
exit 1;
|
|
fi
|
|
}
|
|
|
|
#NOTE: Check hits on test data in specified LDAP user's index
|
|
function check_hits () {
|
|
total_hits=$(curl -K- <<< "--user $1:$2" \
|
|
"${ELASTICSEARCH_ENDPOINT}/_search?pretty" -H 'Content-Type: application/json' -d'
|
|
{
|
|
"query" : {
|
|
"bool": {
|
|
"must": [
|
|
{ "match": { "name": "Elasticsearch" }},
|
|
{ "match": { "message": "Test data text entry" }}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
' | python -c "import sys, json; print(json.load(sys.stdin)['hits']['total'])")
|
|
if [ "$total_hits" -gt 0 ]; then
|
|
echo "Successful hits on test data query on $1's index!"
|
|
else
|
|
echo "No hits on query for test data on $1's index!";
|
|
exit 1;
|
|
fi
|
|
}
|
|
|
|
create_index bob password
|
|
create_index alice password
|
|
|
|
insert_test_data bob password
|
|
insert_test_data alice password
|
|
|
|
check_hits bob password
|
|
check_hits alice password
|