Merge pull request #13275 from nik9000/test_no_start

Test that packages don't start elasticsearch
This commit is contained in:
Nik Everett 2015-09-10 12:33:13 -04:00
commit 2b4bcaeee3
4 changed files with 46 additions and 0 deletions

View File

@ -67,6 +67,17 @@ setup() {
verify_package_installation verify_package_installation
} }
@test "[DEB] elasticsearch isn't started by package install" {
# Wait a second to give Elasticsearch a change to start if it is going to.
# This isn't perfect by any means but its something.
sleep 1
! ps aux | grep elasticsearch | grep java
# You might be tempted to use jps instead of the above but that'd have to
# look like:
# ! sudo -u elasticsearch jps | grep -i elasticsearch
# which isn't really easier to read than the above.
}
@test "[DEB] test elasticsearch" { @test "[DEB] test elasticsearch" {
start_elasticsearch_service start_elasticsearch_service

View File

@ -66,6 +66,13 @@ setup() {
verify_package_installation verify_package_installation
} }
@test "[RPM] elasticsearch isn't started by package install" {
# Wait a second to give Elasticsearch a change to start if it is going to.
# This isn't perfect by any means but its something.
sleep 1
! ps aux | grep elasticsearch | grep java
}
@test "[RPM] test elasticsearch" { @test "[RPM] test elasticsearch" {
start_elasticsearch_service start_elasticsearch_service

View File

@ -46,6 +46,14 @@ setup() {
systemctl daemon-reload systemctl daemon-reload
} }
@test "[SYSTEMD] daemon isn't enabled on restart" {
# Rather than restart the VM we just ask systemd if it plans on starting
# elasticsearch on restart. Not as strong as a restart but much much
# faster.
run systemctl is-enabled elasticsearch.service
[ "$output" = "disabled" ]
}
@test "[SYSTEMD] enable" { @test "[SYSTEMD] enable" {
systemctl enable elasticsearch.service systemctl enable elasticsearch.service

View File

@ -37,11 +37,31 @@ setup() {
skip_not_dpkg_or_rpm skip_not_dpkg_or_rpm
} }
@test "[INIT.D] remove any leftover configuration to start elasticsearch on restart" {
# This configuration can be added with a command like:
# $ sudo update-rc.d elasticsearch defaults 95 10
# but we want to test that the RPM _doesn't_ add it on its own.
# Note that it'd be incorrect to use:
# $ sudo update-rc.d elasticsearch disable
# here because that'd prevent elasticsearch from installing the symlinks
# that cause it to be started on restart.
sudo update-rc.d -f elasticsearch remove
}
@test "[INIT.D] install elasticsearch" { @test "[INIT.D] install elasticsearch" {
clean_before_test clean_before_test
install_package install_package
} }
@test "[INIT.D] daemon isn't enabled on restart" {
# Rather than restart the VM which would be slow we check for the symlinks
# that init.d uses to restart the application on startup.
! find /etc/rc[0123456].d | grep elasticsearch
# Note that we don't use -iname above because that'd have to look like:
# [ $(find /etc/rc[0123456].d -iname "elasticsearch*" | wc -l) -eq 0 ]
# Which isn't really clearer than what we do use.
}
@test "[INIT.D] start" { @test "[INIT.D] start" {
service elasticsearch start service elasticsearch start