Correctly fix aliases quoting logic (#206)
We were previously incorrectly adding double quotes for the alias values. According to the man page it's not required. However, there is a requirement if its a command being pipe. In addition, the man page mentions this for the alias name: The name is a local address (no domain part). Use double quotes when the name contains any special characters such as whitespace, `#', `:', or `@'. The name is folded to lowercase, in order to make database lookups case insensitive. This includes logic to support this automatically. - Add new tests for aliases testing all types - Convert all serverspec tests to inspec - Add Github actions - Update platforms to test Signed-off-by: Lance Albertson <lance@osuosl.org>
This commit is contained in:
21
test/integration/aliases/controls/aliases.rb
Normal file
21
test/integration/aliases/controls/aliases.rb
Normal file
@@ -0,0 +1,21 @@
|
||||
control 'aliases' do
|
||||
describe file '/etc/aliases' do
|
||||
its('content') do
|
||||
should cmp <<~EOF
|
||||
#
|
||||
# Auto-generated by Chef.
|
||||
# Local modifications will be overwritten.
|
||||
#
|
||||
# See man 5 aliases for format
|
||||
postmaster: root
|
||||
|
||||
foo1: bar
|
||||
"foo@bar": foo
|
||||
foo2: "|/usr/bin/bar"
|
||||
foo3: foo,bar
|
||||
foo4: foo@example.com
|
||||
foo5: foo,bar
|
||||
EOF
|
||||
end
|
||||
end
|
||||
end
|
||||
1
test/integration/aliases/inspec.yml
Normal file
1
test/integration/aliases/inspec.yml
Normal file
@@ -0,0 +1 @@
|
||||
name: aliases
|
||||
@@ -1,24 +0,0 @@
|
||||
# Copyright:: 2012-2019, Chef Software, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
require_relative './spec_helper'
|
||||
|
||||
describe 'postfix::aliases' do
|
||||
context 'configures' do
|
||||
describe file('/etc/aliases') do
|
||||
its(:content) { should match(/^# Auto-generated by Chef/) }
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user