mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-15 17:35:41 +00:00
The system level tests for our distributions have historically be run in vagrant, and thus the name of the gradle project has been "vagrant". However, as we move to running these tests in other environments (eg GCP) the name vagrant no longer makes sense. This commit renames the project to "os" (short for operating system), since these tests ensure all of our distributions run correctly on our supported operating systems.
88 lines
2.6 KiB
Bash
88 lines
2.6 KiB
Bash
|
|
#!/usr/bin/env bats
|
|
|
|
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
# or more contributor license agreements. Licensed under the Elastic License;
|
|
# you may not use this file except in compliance with the Elastic License.
|
|
|
|
load $BATS_UTILS/utils.bash
|
|
load $BATS_UTILS/plugins.bash
|
|
load $BATS_UTILS/xpack.bash
|
|
|
|
setup() {
|
|
if [ $BATS_TEST_NUMBER == 1 ]; then
|
|
export PACKAGE_NAME="elasticsearch"
|
|
clean_before_test
|
|
install
|
|
set_debug_logging
|
|
|
|
generate_trial_license
|
|
verify_xpack_installation
|
|
fi
|
|
}
|
|
|
|
|
|
if [[ "$BATS_TEST_FILENAME" =~ 30_tar_setup_passwords.bats$ ]]; then
|
|
load $BATS_UTILS/tar.bash
|
|
GROUP='TAR SETUP PASSWORD'
|
|
install() {
|
|
install_archive
|
|
verify_archive_installation
|
|
}
|
|
export ESHOME=/tmp/elasticsearch
|
|
export_elasticsearch_paths
|
|
export ESPLUGIN_COMMAND_USER=elasticsearch
|
|
else
|
|
load $BATS_UTILS/packages.bash
|
|
if is_rpm; then
|
|
GROUP='RPM SETUP PASSWORD'
|
|
elif is_dpkg; then
|
|
GROUP='DEB SETUP PASSWORD'
|
|
fi
|
|
export_elasticsearch_paths
|
|
export ESPLUGIN_COMMAND_USER=root
|
|
install() {
|
|
install_package
|
|
verify_package_installation
|
|
}
|
|
fi
|
|
|
|
@test "[$GROUP] test auto generated passwords" {
|
|
run_elasticsearch_service 0
|
|
wait_for_xpack
|
|
|
|
run sudo -E -u $ESPLUGIN_COMMAND_USER bash <<"SETUP_AUTO"
|
|
echo 'y' | $ESHOME/bin/elasticsearch-setup-passwords auto
|
|
SETUP_AUTO
|
|
echo "$output" > /tmp/setup-passwords-output
|
|
[ "$status" -eq 0 ] || {
|
|
echo "Expected x-pack elasticsearch-setup-passwords tool exit code to be zero but got $status"
|
|
cat /tmp/setup-passwords-output
|
|
debug_collect_logs
|
|
false
|
|
}
|
|
|
|
curl -s -XGET localhost:9200 | grep "missing authentication credentials for REST"
|
|
|
|
# Disable bash history expansion because passwords can contain "!"
|
|
set +H
|
|
|
|
users=( elastic kibana logstash_system )
|
|
for user in "${users[@]}"; do
|
|
grep "Changed password for user $user" /tmp/setup-passwords-output || {
|
|
echo "Expected x-pack elasticsearch-setup-passwords tool to change password for user [$user]:"
|
|
cat /tmp/setup-passwords-output
|
|
false
|
|
}
|
|
|
|
password=$(grep "PASSWORD $user = " /tmp/setup-passwords-output | sed "s/PASSWORD $user = //")
|
|
curl -u "$user:$password" -XGET localhost:9200 | grep "You Know, for Search"
|
|
|
|
basic=$(echo -n "$user:$password" | base64)
|
|
curl -H "Authorization: Basic $basic" -XGET localhost:9200 | grep "You Know, for Search"
|
|
done
|
|
set -H
|
|
|
|
stop_elasticsearch_service
|
|
}
|