From da01034909eba11be184cedb408f34732a33c4cd Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Fri, 18 Oct 2019 23:18:12 -0500 Subject: hscript: Implement username validity check and UserAlias code; add tests --- tests/fixtures/0067-netssid-spaces-wpa.installfile | 2 +- tests/fixtures/0086-username-invalid.installfile | 6 ++++ tests/fixtures/0087-useralias-basic.installfile | 15 ++++++++++ .../0088-useralias-without-alias.installfile | 7 +++++ .../0089-useralias-unknown-name.installfile | 8 ++++++ .../fixtures/0090-useralias-duplicate.installfile | 9 ++++++ tests/spec/validator.rb | 32 ++++++++++++++++++++++ 7 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 tests/fixtures/0086-username-invalid.installfile create mode 100644 tests/fixtures/0087-useralias-basic.installfile create mode 100644 tests/fixtures/0088-useralias-without-alias.installfile create mode 100644 tests/fixtures/0089-useralias-unknown-name.installfile create mode 100644 tests/fixtures/0090-useralias-duplicate.installfile (limited to 'tests') diff --git a/tests/fixtures/0067-netssid-spaces-wpa.installfile b/tests/fixtures/0067-netssid-spaces-wpa.installfile index e74f34c..fecebf7 100644 --- a/tests/fixtures/0067-netssid-spaces-wpa.installfile +++ b/tests/fixtures/0067-netssid-spaces-wpa.installfile @@ -1,5 +1,5 @@ network false -hostname test.machine +hostname my.test.machine pkginstall adelie-base rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ mount /dev/sda1 / diff --git a/tests/fixtures/0086-username-invalid.installfile b/tests/fixtures/0086-username-invalid.installfile new file mode 100644 index 0000000..3605860 --- /dev/null +++ b/tests/fixtures/0086-username-invalid.installfile @@ -0,0 +1,6 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +username 1AWilcox diff --git a/tests/fixtures/0087-useralias-basic.installfile b/tests/fixtures/0087-useralias-basic.installfile new file mode 100644 index 0000000..bb3a0e5 --- /dev/null +++ b/tests/fixtures/0087-useralias-basic.installfile @@ -0,0 +1,15 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +username chris +useralias chris Christopher +username kayla +useralias kayla Kayla +username meg +useralias meg Meaghan +username steph +useralias steph Stephanie +username amanda +useralias amanda Amanda Jane diff --git a/tests/fixtures/0088-useralias-without-alias.installfile b/tests/fixtures/0088-useralias-without-alias.installfile new file mode 100644 index 0000000..f269e2e --- /dev/null +++ b/tests/fixtures/0088-useralias-without-alias.installfile @@ -0,0 +1,7 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +username awilfox +useralias awilfox diff --git a/tests/fixtures/0089-useralias-unknown-name.installfile b/tests/fixtures/0089-useralias-unknown-name.installfile new file mode 100644 index 0000000..b3b6d55 --- /dev/null +++ b/tests/fixtures/0089-useralias-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 to trigger error +useralias awilcox A. Wilcox diff --git a/tests/fixtures/0090-useralias-duplicate.installfile b/tests/fixtures/0090-useralias-duplicate.installfile new file mode 100644 index 0000000..5426abe --- /dev/null +++ b/tests/fixtures/0090-useralias-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 +useralias awilfox A. Wilcox +useralias awilfox A. Wilcox diff --git a/tests/spec/validator.rb b/tests/spec/validator.rb index 2fa9c89..7fd8356 100644 --- a/tests/spec/validator.rb +++ b/tests/spec/validator.rb @@ -535,6 +535,38 @@ RSpec.describe 'HorizonScript validation', :type => :aruba do run_validate expect(last_command_started).to have_output(/error: .*username.*too many/) end + it "fails with an invalid username" do + use_fixture '0086-username-invalid.installfile' + run_validate + expect(last_command_started).to have_output(/error: .*username.*invalid/) + end + end + context "'useralias'" do + # Runner.Validate.useralias. + it "succeeds with usernames with aliases" do + use_fixture '0087-useralias-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.useralias.Validity. + it "requires an alias to be provided" do + use_fixture '0088-useralias-without-alias.installfile' + run_validate + expect(last_command_started).to have_output(/error: .*useralias.*required/) + end + # Runner.Validate.useralias.Name. + it "fails with a username that wasn't given" do + use_fixture '0089-useralias-unknown-name.installfile' + run_validate + expect(last_command_started).to have_output(/error: .*useralias.*name/) + end + # Runner.Validate.useralias.Unique. + it "fails with a duplicated alias" do + use_fixture '0090-useralias-duplicate.installfile' + run_validate + expect(last_command_started).to have_output(/error: .*duplicate.*useralias/) + end end end context "package specifications" do -- cgit v1.2.3-60-g2f50