diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-10-19 01:43:15 -0500 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-10-19 01:43:15 -0500 |
commit | d3489c52d4ad1e5b17ce88e8b0e5142b30bb324e (patch) | |
tree | f724d77518fc09b0707311b31857e784abda6daa /tests | |
parent | 2374778a55f9380ee5b821eb9563e20aad1bc3de (diff) | |
download | horizon-d3489c52d4ad1e5b17ce88e8b0e5142b30bb324e.tar.gz horizon-d3489c52d4ad1e5b17ce88e8b0e5142b30bb324e.tar.bz2 horizon-d3489c52d4ad1e5b17ce88e8b0e5142b30bb324e.tar.xz horizon-d3489c52d4ad1e5b17ce88e8b0e5142b30bb324e.zip |
hscript: Implement UserPassphrase, add tests
Diffstat (limited to 'tests')
-rw-r--r-- | tests/fixtures/0091-userpw-basic.installfile | 7 | ||||
-rw-r--r-- | tests/fixtures/0092-userpw-without-pw.installfile | 7 | ||||
-rw-r--r-- | tests/fixtures/0093-userpw-unknown-name.installfile | 8 | ||||
-rw-r--r-- | tests/fixtures/0094-userpw-duplicate.installfile | 9 | ||||
-rw-r--r-- | tests/fixtures/0095-userpw-plaintext.installfile | 7 | ||||
-rw-r--r-- | tests/fixtures/0096-userpw-md5.installfile | 7 | ||||
-rw-r--r-- | tests/fixtures/0097-userpw-missing.installfile | 6 | ||||
-rw-r--r-- | tests/spec/validator.rb | 44 |
8 files changed, 95 insertions, 0 deletions
diff --git a/tests/fixtures/0091-userpw-basic.installfile b/tests/fixtures/0091-userpw-basic.installfile new file mode 100644 index 0000000..2c3e842 --- /dev/null +++ b/tests/fixtures/0091-userpw-basic.installfile @@ -0,0 +1,7 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +username awilfox +userpw awilfox $6$UZJm/vBmVgyIdMZr$ppKEulz/HY0/e7RcXXujQbcqDXkUYgIqNEVPQJO6.le9kUpz8GvvRezY3ifqUUEwjhSo9tTOMG7lhqjn8gGpH0 diff --git a/tests/fixtures/0092-userpw-without-pw.installfile b/tests/fixtures/0092-userpw-without-pw.installfile new file mode 100644 index 0000000..9b2b524 --- /dev/null +++ b/tests/fixtures/0092-userpw-without-pw.installfile @@ -0,0 +1,7 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +username awilfox +userpw awilfox diff --git a/tests/fixtures/0093-userpw-unknown-name.installfile b/tests/fixtures/0093-userpw-unknown-name.installfile new file mode 100644 index 0000000..285a6a0 --- /dev/null +++ b/tests/fixtures/0093-userpw-unknown-name.installfile @@ -0,0 +1,8 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +username awilfox +# Intentional misspelling +userpw awilcox $6$UZJm/vBmVgyIdMZr$ppKEulz/HY0/e7RcXXujQbcqDXkUYgIqNEVPQJO6.le9kUpz8GvvRezY3ifqUUEwjhSo9tTOMG7lhqjn8gGpH0 diff --git a/tests/fixtures/0094-userpw-duplicate.installfile b/tests/fixtures/0094-userpw-duplicate.installfile new file mode 100644 index 0000000..6416c6f --- /dev/null +++ b/tests/fixtures/0094-userpw-duplicate.installfile @@ -0,0 +1,9 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +username awilfox +# Intentional duplication +userpw awilfox $6$UZJm/vBmVgyIdMZr$ppKEulz/HY0/e7RcXXujQbcqDXkUYgIqNEVPQJO6.le9kUpz8GvvRezY3ifqUUEwjhSo9tTOMG7lhqjn8gGpH0 +userpw awilfox $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ diff --git a/tests/fixtures/0095-userpw-plaintext.installfile b/tests/fixtures/0095-userpw-plaintext.installfile new file mode 100644 index 0000000..c0dce02 --- /dev/null +++ b/tests/fixtures/0095-userpw-plaintext.installfile @@ -0,0 +1,7 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +username awilfox +userpw awilfox Password123 diff --git a/tests/fixtures/0096-userpw-md5.installfile b/tests/fixtures/0096-userpw-md5.installfile new file mode 100644 index 0000000..79009bc --- /dev/null +++ b/tests/fixtures/0096-userpw-md5.installfile @@ -0,0 +1,7 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +username awilfox +userpw awilfox $1$5f4dcc3b5aa765d61d8327deb882cf99 diff --git a/tests/fixtures/0097-userpw-missing.installfile b/tests/fixtures/0097-userpw-missing.installfile new file mode 100644 index 0000000..3811133 --- /dev/null +++ b/tests/fixtures/0097-userpw-missing.installfile @@ -0,0 +1,6 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +username awilfox diff --git a/tests/spec/validator.rb b/tests/spec/validator.rb index 7fd8356..76f1c6f 100644 --- a/tests/spec/validator.rb +++ b/tests/spec/validator.rb @@ -568,6 +568,50 @@ RSpec.describe 'HorizonScript validation', :type => :aruba do expect(last_command_started).to have_output(/error: .*duplicate.*useralias/) end end + context "'userpw'" do + # Runner.Validate.userpw. + it "succeeds with username/passphrase combinations" do + use_fixture '0091-userpw-basic.installfile' + run_validate + expect(last_command_started).to have_output(PARSER_SUCCESS) + expect(last_command_started).to have_output(VALIDATOR_SUCCESS) + end + # Runner.Validate.userpw.Validity. + it "requires a passphrase to be provided" do + use_fixture '0092-userpw-without-pw.installfile' + run_validate + expect(last_command_started).to have_output(/error: .*userpw.*required/) + end + # Runner.Validate.userpw.Name. + it "fails with a username that wasn't given" do + use_fixture '0093-userpw-unknown-name.installfile' + run_validate + expect(last_command_started).to have_output(/error: .*userpw.*name/) + end + # Runner.Validate.userpw.Unique. + it "fails with more than one passphrase for an account" do + use_fixture '0094-userpw-duplicate.installfile' + run_validate + expect(last_command_started).to have_output(/error: .*duplicate.*userpw/) + end + # Runner.Validate.userpw.Crypt. + it "fails with a plain-text password" do + use_fixture '0095-userpw-plaintext.installfile' + run_validate + expect(last_command_started).to have_output(/error: .*userpw.*crypt/) + end + it "fails with an invalid encryption algorithm" do + use_fixture '0096-userpw-md5.installfile' + run_validate + expect(last_command_started).to have_output(/error: .*userpw.*crypt/) + end + # Runner.Validate.userpw.None. + it "warns when an account doesn't have a passphrase" do + use_fixture '0097-userpw-missing.installfile' + run_validate + expect(last_command_started).to have_output(/warning: .*passphrase/) + end + end end context "package specifications" do # no requirements for these, but I think obvious. |