summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2020-05-24 20:35:14 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2020-05-24 20:35:14 -0500
commit9c9e400b68f9cfb2270434fb8a16cc0df906ab8b (patch)
tree051470d7c3d29401462e3563bca34b11e58af5c5 /tests
parentb9980223dd469f24359d969ab24c3694507897e5 (diff)
downloadhorizon-9c9e400b68f9cfb2270434fb8a16cc0df906ab8b.tar.gz
horizon-9c9e400b68f9cfb2270434fb8a16cc0df906ab8b.tar.bz2
horizon-9c9e400b68f9cfb2270434fb8a16cc0df906ab8b.tar.xz
horizon-9c9e400b68f9cfb2270434fb8a16cc0df906ab8b.zip
hscript: Implement 'svcenable' key and tests
Diffstat (limited to 'tests')
-rw-r--r--tests/fixtures/0229-svcenable-basic.installfile6
-rw-r--r--tests/fixtures/0230-svcenable-duplicate.installfile7
-rw-r--r--tests/fixtures/0231-svcenable-invalid.installfile6
-rw-r--r--tests/spec/simulator_spec.rb7
-rw-r--r--tests/spec/validator_spec.rb18
5 files changed, 44 insertions, 0 deletions
diff --git a/tests/fixtures/0229-svcenable-basic.installfile b/tests/fixtures/0229-svcenable-basic.installfile
new file mode 100644
index 0000000..69e18d4
--- /dev/null
+++ b/tests/fixtures/0229-svcenable-basic.installfile
@@ -0,0 +1,6 @@
+network false
+hostname test.machine
+pkginstall adelie-base
+rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/
+mount /dev/sda1 /
+svcenable sshd
diff --git a/tests/fixtures/0230-svcenable-duplicate.installfile b/tests/fixtures/0230-svcenable-duplicate.installfile
new file mode 100644
index 0000000..bbd3401
--- /dev/null
+++ b/tests/fixtures/0230-svcenable-duplicate.installfile
@@ -0,0 +1,7 @@
+network false
+hostname test.machine
+pkginstall adelie-base
+rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/
+mount /dev/sda1 /
+svcenable sshd
+svcenable sshd
diff --git a/tests/fixtures/0231-svcenable-invalid.installfile b/tests/fixtures/0231-svcenable-invalid.installfile
new file mode 100644
index 0000000..f4fde97
--- /dev/null
+++ b/tests/fixtures/0231-svcenable-invalid.installfile
@@ -0,0 +1,6 @@
+network false
+hostname test.machine
+pkginstall adelie-base
+rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/
+mount /dev/sda1 /
+svcenable ../hax/illegal
diff --git a/tests/spec/simulator_spec.rb b/tests/spec/simulator_spec.rb
index ab77782..2e63009 100644
--- a/tests/spec/simulator_spec.rb
+++ b/tests/spec/simulator_spec.rb
@@ -274,6 +274,13 @@ printf '%s\\t%s\\t%s\\t%s\\t0\\t0\\n' /dev/gwyn/source /usr/src auto noatime >>
expect(last_command_started.stdout).to include("cp /etc/apk/keys/packages@adelielinux.org.pub /target/etc/apk/keys/packages@adelielinux.org.pub")
end
end
+ context "simulating 'svcenable' execution" do
+ it "enables the service correctly" do
+ use_fixture '0229-svcenable-basic.installfile'
+ run_simulate
+ expect(last_command_started.stdout).to include("ln -s /etc/init.d/sshd /target/etc/runlevels/default/sshd")
+ end
+ end
context "simulating 'pkginstall' execution" do
# Runner.Execute.pkginstall.APKDB
it "initialises the APK database" do
diff --git a/tests/spec/validator_spec.rb b/tests/spec/validator_spec.rb
index 365a8f3..0bd3516 100644
--- a/tests/spec/validator_spec.rb
+++ b/tests/spec/validator_spec.rb
@@ -669,6 +669,24 @@ RSpec.describe 'HorizonScript validation', :type => :aruba do
expect(last_command_started).to have_output(/warning: .*pkginstall.*already/)
end
end
+ context "for 'svcenable' key" do
+ it "succeeds with a basic service" do
+ use_fixture '0229-svcenable-basic.installfile'
+ run_validate
+ expect(last_command_started).to have_output(PARSER_SUCCESS)
+ expect(last_command_started).to have_output(VALIDATOR_SUCCESS)
+ end
+ it "warns when a service is specified twice" do
+ use_fixture '0230-svcenable-duplicate.installfile'
+ run_validate
+ expect(last_command_started).to have_output(/warning: .*svcenable.*already/)
+ end
+ it "fails when an invalid service name is specified" do
+ use_fixture '0231-svcenable-invalid.installfile'
+ run_validate
+ expect(last_command_started).to have_output(/error: .*svcenable.*invalid/)
+ end
+ end
context "for 'diskid' key" do
it "succeeds with basic disk identification" do
use_fixture '0076-diskid-basic.installfile'