[test] Test that packages don't start service

We don't want either the deb or rpm package to start elasticsearch as soon
as they install nor do we want the package to register elasticsearch to
start on restart. That action is reserved for the administrator. This adds
tests for that.

Closes #13122
This commit is contained in:
Nik Everett 2015-09-02 12:44:17 -04:00
parent 6885ab9680
commit 54e78b61b9
4 changed files with 39 additions and 0 deletions

View File

@ -67,6 +67,13 @@ setup() {
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
}
@test "[DEB] test elasticsearch" {
start_elasticsearch_service

View File

@ -66,6 +66,13 @@ setup() {
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" {
start_elasticsearch_service

View File

@ -46,6 +46,14 @@ setup() {
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" {
systemctl enable elasticsearch.service

View File

@ -37,11 +37,28 @@ setup() {
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" {
clean_before_test
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
}
@test "[INIT.D] start" {
service elasticsearch start