Project

General

Profile

« Previous | Next » 

Revision 09b4cd5b

Added by Michael Moll over 4 years ago

Fixes #29161 - Fix Layout/IndentHeredoc cop

View differences:

.rubocop_todo.yml
Layout/IndentFirstHashElement:
Enabled: false
# Offense count: 18
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: squiggly, active_support, powerpack, unindent
Layout/IndentHeredoc:
Enabled: false
# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
smart_proxy.gemspec
s.add_dependency 'logging'
s.add_dependency 'rack', '>= 1.3'
s.add_dependency 'sinatra'
s.description = <<EOF
Foreman Proxy is used via The Foreman Project, it allows Foreman to manage
Remote DHCP, DNS, TFTP and Puppet servers via a REST API
EOF
s.description = <<~EOF
Foreman Proxy is used via The Foreman Project, it allows Foreman to manage
Remote DHCP, DNS, TFTP and Puppet servers via a REST API
EOF
end
test/dhcp/conf_parser_test.rb
Proxy::DHCP::CommonISC::ConfigurationParser.new.hardware.parse!('hardware token-ring 1:1:1:1:1:1;')
end
MULTILINE_FQDN_LIST =<<EOFFQDNLIST
ns1.isc.org,
ns1.isc.org,
ns1.isc.org
EOFFQDNLIST
MULTILINE_FQDN_LIST =<<~EOFFQDNLIST
ns1.isc.org,
ns1.isc.org,
ns1.isc.org
EOFFQDNLIST
def test_fqdn_list_with_various_spacing
assert_equal ['ns1.isc.org', 'ns2.isc.org'], Proxy::DHCP::CommonISC::ConfigurationParser::FQDN_LIST.parse!('ns1.isc.org, ns2.isc.org')
assert_equal ['ns1.isc.org', 'ns2.isc.org'], Proxy::DHCP::CommonISC::ConfigurationParser::FQDN_LIST.parse!('ns1.isc.org, ns2.isc.org')
......
assert_equal ['ns1.isc.org', 'ns1.isc.org', 'ns1.isc.org'], Proxy::DHCP::CommonISC::ConfigurationParser::FQDN_LIST.parse!(MULTILINE_FQDN_LIST)
end
MULTILINE_IP_LIST =<<EOFIPLIST
204.254.239.1,
204.254.239.2,
204.254.239.3
EOFIPLIST
MULTILINE_IP_LIST =<<~EOFIPLIST
204.254.239.1,
204.254.239.2,
204.254.239.3
EOFIPLIST
def test_ipv4_address_list_with_various_spacing
assert_equal ['204.254.239.1', '204.254.239.2'], Proxy::DHCP::CommonISC::ConfigurationParser::IPV4_ADDRESS_LIST.parse!('204.254.239.1, 204.254.239.2')
assert_equal ['204.254.239.1', '204.254.239.2'], Proxy::DHCP::CommonISC::ConfigurationParser::IPV4_ADDRESS_LIST.parse!('204.254.239.1, 204.254.239.2')
......
Proxy::DHCP::CommonISC::ConfigurationParser.new.conf.parse!("group testing {adaptive-lease-time-threshold 50;}")
end
MULTILINE_GROUP =<<EOFMULTILINEGROUP
group ilom {
default-lease-time 3600;
option domain-name "isc.org";
option routers 204.254.239.1, 204.254.239.2, 204.254.239.3;
host nested-host { hardware ethernet 11:22:33:a9:61:09; fixed-address 192.168.1.200; }
subnet 192.168.2.0 netmask 255.255.255.0 {
option domain-name "nested.subnet.test";
}
group nested-group {
option domain-name "nested.group.test";
}
shared-network nested-shared-network {
option domain-name "nested.shared.network.test";
}
}
EOFMULTILINEGROUP
MULTILINE_GROUP =<<~EOFMULTILINEGROUP
group ilom {
default-lease-time 3600;
option domain-name "isc.org";
option routers 204.254.239.1, 204.254.239.2, 204.254.239.3;
host nested-host { hardware ethernet 11:22:33:a9:61:09; fixed-address 192.168.1.200; }
subnet 192.168.2.0 netmask 255.255.255.0 {
option domain-name "nested.subnet.test";
}
group nested-group {
option domain-name "nested.group.test";
}
shared-network nested-shared-network {
option domain-name "nested.shared.network.test";
}
}
EOFMULTILINEGROUP
def test_group_parser
assert_equal [Proxy::DHCP::CommonISC::ConfigurationParser::GroupNode['ilom', [
Proxy::DHCP::CommonISC::ConfigurationParser::IgnoredDeclaration[['default-lease-time', '3600']],
test/dhcp/dhcp_isc_subnet_service_initialization_test.rb
require 'dhcp_common/isc/subnet_service_initialization'
class DhcpIscSubnetServiceInitializationTest < Test::Unit::TestCase
DHCPD_CONFIG =<<END
# This is a comment.
omapi-port 7911;
default-lease-time 43200;
max-lease-time 86400;
ddns-update-style none;
option domain-name "some.example.com";
option domain-name-servers 192.168.121.101;
option ntp-servers none;
allow booting;
allow bootp;
option fqdn.no-client-update on;
option fqdn.rcode2 255;
option pxegrub code 150 = text ;
option voip-tftp-server code 150 = { ip-address };
subnet 192.168.122.0 netmask 255.255.255.0 {
option interface-mtu 9000;
option voip-tftp-server 1.2.3.4;
option routers 192.168.122.250; # This is an inline comment
next-server 192.168.122.251;
}
subnet 192.168.123.0 netmask 255.255.255.192 {
option subnet-mask 255.255.255.192;
option routers 192.168.123.1;
option domain-name-servers 192.168.123.1;
option domain-name example.com;
range 192.168.123.2 192.168.123.62;
}
subnet 192.168.124.0 netmask 255.255.255.0 {
pool
{
range 192.168.124.200 192.168.124.254;
}
option domain-name foo.example.com;
option routers 192.168.124.1, 192.168.124.2;
option domain-name-servers 192.168.123.1, 192.168.122.250;
}
subnet 192.168.1.0 netmask 255.255.255.128 {
class "pxeclients" {
if option pxe-system-type = 00:02 {
filename "xyz";
DHCPD_CONFIG =<<~END
# This is a comment.
omapi-port 7911;
default-lease-time 43200;
max-lease-time 86400;
ddns-update-style none;
option domain-name "some.example.com";
option domain-name-servers 192.168.121.101;
option ntp-servers none;
allow booting;
allow bootp;
option fqdn.no-client-update on;
option fqdn.rcode2 255;
option pxegrub code 150 = text ;
option voip-tftp-server code 150 = { ip-address };
subnet 192.168.122.0 netmask 255.255.255.0 {
option interface-mtu 9000;
option voip-tftp-server 1.2.3.4;
option routers 192.168.122.250; # This is an inline comment
next-server 192.168.122.251;
}
}
# random stuff
host hostinsidesubnet {
server-name "hostinsidesubnet";
hardware ethernet 00:18:dd:01:9e:2e;
fixed-address 10.253.2.127;
}
}
host test.example.com {
hardware ethernet 00:11:bb:cc:dd:ee;
fixed-address 192.168.122.1;
supersede server.next-server = ac:17:23:1d;
}
END
subnet 192.168.123.0 netmask 255.255.255.192 {
option subnet-mask 255.255.255.192;
option routers 192.168.123.1;
option domain-name-servers 192.168.123.1;
option domain-name example.com;
range 192.168.123.2 192.168.123.62;
}
subnet 192.168.124.0 netmask 255.255.255.0 {
pool
{
range 192.168.124.200 192.168.124.254;
}
option domain-name foo.example.com;
option routers 192.168.124.1, 192.168.124.2;
option domain-name-servers 192.168.123.1, 192.168.122.250;
}
subnet 192.168.1.0 netmask 255.255.255.128 {
class "pxeclients" {
if option pxe-system-type = 00:02 {
filename "xyz";
}
}
# random stuff
host hostinsidesubnet {
server-name "hostinsidesubnet";
hardware ethernet 00:18:dd:01:9e:2e;
fixed-address 10.253.2.127;
}
}
host test.example.com {
hardware ethernet 00:11:bb:cc:dd:ee;
fixed-address 192.168.122.1;
supersede server.next-server = ac:17:23:1d;
}
END
def setup
@subnet_service = Proxy::DHCP::SubnetService.initialized_instance
test/dhcp_libvirt/subnet_service_initializer_test.rb
class SubnetServiceInitializerTest < Test::Unit::TestCase
def setup
@network_xml = <<XMLFIXTURE
<network>
<name>default</name>
<uuid>25703051-f5d4-4a31-80b7-37bbbc4d19e1</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:ed:a7:f7'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
<host mac="00:16:3e:77:e2:ed" name="foo-1.example.com" ip="192.168.122.10" />
<host mac="00:16:3e:77:e2:ee" name="foo-2.example.com" ip="192.168.122.11" />
</dhcp>
</ip>
</network>
XMLFIXTURE
@network_xml = <<~XMLFIXTURE
<network>
<name>default</name>
<uuid>25703051-f5d4-4a31-80b7-37bbbc4d19e1</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:ed:a7:f7'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
<host mac="00:16:3e:77:e2:ed" name="foo-1.example.com" ip="192.168.122.10" />
<host mac="00:16:3e:77:e2:ee" name="foo-2.example.com" ip="192.168.122.11" />
</dhcp>
</ip>
</network>
XMLFIXTURE
@json_leases = [{
"ipaddr" => "192.168.122.22",
"mac" => "52:54:00:13:05:12",
test/dns_libvirt/dns_libvirt_provider_test.rb
class DnsLibvirtProviderTest < Test::Unit::TestCase
def setup
fixture = <<XMLFIXTURE
<network>
<name>default</name>
<domain name='local.lan'/>
<dns>
<host ip='192.168.122.1'>
<hostname>some.example.com</hostname>
</host>
</dns>
<ip address='192.168.122.0' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.1' end='192.168.122.250'/>
<host mac='52:54:00:e2:62:08' name='some.example.com' ip='192.168.122.1'/>
</dhcp>
</ip>
</network>
XMLFIXTURE
fixture = <<~XMLFIXTURE
<network>
<name>default</name>
<domain name='local.lan'/>
<dns>
<host ip='192.168.122.1'>
<hostname>some.example.com</hostname>
</host>
</dns>
<ip address='192.168.122.0' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.1' end='192.168.122.250'/>
<host mac='52:54:00:e2:62:08' name='some.example.com' ip='192.168.122.1'/>
</dhcp>
</ip>
</network>
XMLFIXTURE
@libvirt_network = mock()
@libvirt_network.stubs(:dump_xml).returns(fixture)
@subject = Proxy::Dns::Libvirt::Record.new('default', @libvirt_network)
test/puppet/puppet_api_v3_environment_classes_retriever_test.rb
def test_returns_cached_classes_if_puppet_responds_with_not_modified
Proxy::PuppetApi::EnvironmentClassesApiv3.any_instance.expects(:list_classes).returns([Proxy::PuppetApi::EnvironmentClassesApiv3::NOT_MODIFIED, 42])
expected_classes =<<EOL
{
"files": [
{
"classes": [{"name": "dns::config", "params": []}],
"path": "/etc/puppetlabs/code/environments/home/modules/dns/manifests/config.pp"
}],
"name": "test_environment"
}
EOL
expected_classes =<<~EOL
{
"files": [
{
"classes": [{"name": "dns::config", "params": []}],
"path": "/etc/puppetlabs/code/environments/home/modules/dns/manifests/config.pp"
}],
"name": "test_environment"
}
EOL
retriever = EnvironmentClassesApiRetrieverForTesting.new(nil, nil, nil, nil, nil)
retriever.classes_cache['test_environment'] = JSON.parse(expected_classes)
assert_equal JSON.parse(expected_classes), retriever.get_classes('test_environment')
......
@retriever = Proxy::PuppetApi::V3EnvironmentClassesApiClassesRetriever.new(nil, nil, nil, nil, nil)
end
ENVIRONMENT_CLASSES_RESPONSE =<<EOL
{
"files": [
{
"classes": [{"name": "dns::config", "params": []}],
"path": "/manifests/config.pp"
},
ENVIRONMENT_CLASSES_RESPONSE =<<~EOL
{
"classes": [{"name": "dns::install", "params": []}],
"path": "/manifests/install.pp"
},
{
"error": "Syntax error at '=>' at /manifests/witherror.pp:20:19",
"path": "/manifests/witherror.pp"
}],
"name": "test_environment"
}
EOL
"files": [
{
"classes": [{"name": "dns::config", "params": []}],
"path": "/manifests/config.pp"
},
{
"classes": [{"name": "dns::install", "params": []}],
"path": "/manifests/install.pp"
},
{
"error": "Syntax error at '=>' at /manifests/witherror.pp:20:19",
"path": "/manifests/witherror.pp"
}],
"name": "test_environment"
}
EOL
def test_legacy_parser_with_environment_classes_response
expected_classes = [Proxy::Puppet::PuppetClass.new("dns::config", {}), Proxy::Puppet::PuppetClass.new("dns::install", {})]
Proxy::PuppetApi::EnvironmentClassesApiv3.any_instance.expects(:list_classes).returns([JSON.load(ENVIRONMENT_CLASSES_RESPONSE), 42])
......
assert_equal expected_reponse, @retriever.classes_and_errors_in_environment('test_environment')
end
ENVIRONMENT_CLASSES_RESPONSE_WITH_EXPRESSION_PARAMETERS =<<EOL
{
"files": [{"classes": [{"name": "dns",
"params": [
{"default_source": "$::dns::params::namedconf_path", "name": "namedconf_path"},
{"default_source": "$::dns::params::dnsdir", "name": "dnsdir"}
]}],
"path": "/manifests/init.pp"
}],
"name": "test_environment"
}
EOL
ENVIRONMENT_CLASSES_RESPONSE_WITH_EXPRESSION_PARAMETERS =<<~EOL
{
"files": [{"classes": [{"name": "dns",
"params": [
{"default_source": "$::dns::params::namedconf_path", "name": "namedconf_path"},
{"default_source": "$::dns::params::dnsdir", "name": "dnsdir"}
]}],
"path": "/manifests/init.pp"
}],
"name": "test_environment"
}
EOL
def test_legacy_parser_with_environment_classes_response_with_variable_expression_parameteres
expected_classes = [Proxy::Puppet::PuppetClass.new("dns", 'namedconf_path' => '${::dns::params::namedconf_path}', 'dnsdir' => '${::dns::params::dnsdir}')]
Proxy::PuppetApi::EnvironmentClassesApiv3.any_instance.expects(:list_classes).returns([JSON.load(ENVIRONMENT_CLASSES_RESPONSE_WITH_EXPRESSION_PARAMETERS), 42])
......
assert_equal expected_response, @retriever.classes_and_errors_in_environment('test_environment')
end
ENVIRONMENT_CLASSES_RESPONSE_WITH_DEFAULT_LITERALS =<<EOL
{
"files": [{"classes": [{"name": "testing",
"params": [
{"default_literal": "literal default", "default_source": "literal default", "name": "string_with_literal_default", "type": "String"},
{
"default_literal": {
"one": "foo",
"two": "hello"
},
"default_source": "{'one' => 'foo', 'two' => 'hello'}",
"name": "a_hash",
"type": "Hash"
}
]}],
"path": "init.pp"
}],
"name": "test_environment"
}
EOL
ENVIRONMENT_CLASSES_RESPONSE_WITH_DEFAULT_LITERALS =<<~EOL
{
"files": [{"classes": [{"name": "testing",
"params": [
{"default_literal": "literal default", "default_source": "literal default", "name": "string_with_literal_default", "type": "String"},
{
"default_literal": {
"one": "foo",
"two": "hello"
},
"default_source": "{'one' => 'foo', 'two' => 'hello'}",
"name": "a_hash",
"type": "Hash"
}
]}],
"path": "init.pp"
}],
"name": "test_environment"
}
EOL
def test_legacy_parser_with_puppet_environment_classes_response_with_default_literals
expected_classes = [Proxy::Puppet::PuppetClass.new("testing", 'string_with_literal_default' => 'literal default', 'a_hash' => {'one' => 'foo', 'two' => 'hello'})]
Proxy::PuppetApi::EnvironmentClassesApiv3.any_instance.expects(:list_classes).returns([JSON.load(ENVIRONMENT_CLASSES_RESPONSE_WITH_DEFAULT_LITERALS), 42])
test/puppetca_puppet_cert/puppetca_puppet_cert_test.rb
assert_equal '/bin/ls', @puppet_cert.which('ls')
end
INVENTORY_CONTENTS =<<EOF
0x0002 2015-09-01T15:15:57UTC 2020-08-31T15:15:57UTC /CN=revoked.my.domain
0x0003 2015-09-02T08:34:59UTC 2020-09-01T08:34:59UTC /CN=active.my.domain
0x0004 2017-01-11T15:04:35UTC 2022-01-11T15:04:35UTC /CN=revoked.my.domain
0x0005 2017-01-14T12:01:22UTC 2022-01-14T12:01:22UTC /CN=second-active.my.domain/OU=mydepartment
EOF
INVENTORY_CONTENTS =<<~EOF
0x0002 2015-09-01T15:15:57UTC 2020-08-31T15:15:57UTC /CN=revoked.my.domain
0x0003 2015-09-02T08:34:59UTC 2020-09-01T08:34:59UTC /CN=active.my.domain
0x0004 2017-01-11T15:04:35UTC 2022-01-11T15:04:35UTC /CN=revoked.my.domain
0x0005 2017-01-14T12:01:22UTC 2022-01-14T12:01:22UTC /CN=second-active.my.domain/OU=mydepartment
EOF
def test_parse_inventory
assert_equal({"revoked.my.domain" => {:serial => 4, :not_before => "2017-01-11T15:04:35UTC", :not_after => "2022-01-11T15:04:35UTC"},
"active.my.domain" => {:serial => 3, :not_before => "2015-09-02T08:34:59UTC", :not_after => "2020-09-01T08:34:59UTC"},
......
@puppet_cert.parse_inventory(INVENTORY_CONTENTS))
end
CRL_CONTENTS =<<EOF
-----BEGIN X509 CRL-----
MIIC9DCB3QIBATANBgkqhkiG9w0BAQUFADA0MTIwMAYDVQQDDClQdXBwZXQgQ0E6
IGx1Y2lkLW5vbnNlbnNlLmFwcGxpZWRsb2dpYy5jYRcNMTcwMTEyMTUzNjM1WhcN
MjIwMTExMTUzNjM2WjBEMCACAQIXDTE3MDExMjEzMDEwOVowDDAKBgNVHRUEAwoB
ATAgAgEEFw0xNzAxMTIxNTM2MzZaMAwwCgYDVR0VBAMKAQGgLzAtMB8GA1UdIwQY
MBaAFPXwC6fTTZGAEGWebeMJobxzTq0IMAoGA1UdFAQDAgECMA0GCSqGSIb3DQEB
BQUAA4ICAQBevzkpnkJOelipZsd8GbV5r7b/5Mc/X9fIoNb7wfDGzRWMNDvp/pqd
3TeXvHKsgFqjgchQlI+dd+K1eouJm3pYSsT5MYVrJYUJ6kzPgC89tgtEDApnYOjx
rZIWyF6PeWjL8E7ZKNVFX6RS2HbhWLZStDnkJvckXAhN4GXdLdm5FulkXQ7asQTy
8u1bXWDvRESNuveHuuVyQpfzbnznxUSgf+gJzQ35wbNGZCJDoNlEth6UnIz26LIY
/3dRt/HcybDLoSIV+PF7m2VZZxwcpRCIgjvhCz0fWdfakPYoCn5l3ZGZnv6vL/ss
Mt7bh+b9C0u4g9sQxAYsW21EEFcxVjREXQNn9t/9iqwNn+W90Fee3TJGmWQINO29
zzPgmYyWZQFHCVPuQE/R6cVrRIFte1PjEycsxcTjVv4f71vIWd/54VW7/7TjXYq5
7CnBxWUlWs8N8GwJLzem5DgJvF85YUbVACfNs8JhZc7osLPxFhnZcKz2dLyJgXOj
tzZtHJZG7qxR1n9GmERVpk6OSeK0KKYmb+N9u4mGXYTDG6kl+nj1dU/Uh/yoAwG8
UCEaly81c8sSHjLI3GetK4WxND0cElcSaFY3q22bDay7drhhCMftcbhxoh9ROI5h
Ldr9eKhzX/iwBRnlcwxVCLSUEP+46oGi8hawrhEUnPxPtftMjPVFTQ==
-----END X509 CRL-----
EOF
PUPPET_CERT_LIST_OUTPUT = <<OUTPUT
+ "tfmcentos7.beispiel.xyz" (SHA256) B1:7C:A8:EC:2A:37:E6:2D:A6:55:B9:00:DE:2B:36:6B:E1:F0:BA:49:42:91:3D:60:4B:42:81:6F:5E:18:78:C8
+ "tfmdemo.beispiel.xyz" (SHA256) 79:E3:98:2C:FF:53:74:02:6F:96:6D:61:05:85:1A:5F:C6:FB:67:AF:A6:05:24:FA:16:42:21:14:46:86:AC:AF (alt names: "DNS:puppet", "DNS:puppet.beispiel.xyz", "DNS:tfmdemo.beispiel.xyz")
OUTPUT
PUPPET_CERT_CLEAN_OUTPUT = <<OUTPUT
Notice: Revoked certificate with serial 4
Notice: Removing file Puppet::SSL::Certificate tfmcentos7.beispiel.xyz at '/etc/puppetlabs/puppet/ssl/ca/signed/tfmcentos7.beispiel.xyz.pem'
Notice: Removing file Puppet::SSL::Certificate tfmcentos7.beispiel.xyz at '/etc/puppetlabs/puppet/ssl/certs/tfmcentos7.beispiel.xyz.pem'
OUTPUT
PUPPET_CERT_SIGN_OUTPUT = <<OUTPUT
Signing Certificate Request for:
"tfmcentos7.beispiel.xyz" (SHA256) 23:B0:F0:83:72:ED:69:8A:E1:06:83:0E:A6:DE:0B:5D:83:0B:58:3B:AB:EE:82:F1:30:1B:39:19:84:5B:4B:10 **
Notice: Signed certificate request for tfmcentos7.beispiel.xyz
Notice: Removing file Puppet::SSL::CertificateRequest tfmcentos7.beispiel.xyz at '/etc/puppetlabs/puppet/ssl/ca/requests/tfmcentos7.beispiel.xyz.pem'
OUTPUT
CRL_CONTENTS =<<~EOF
-----BEGIN X509 CRL-----
MIIC9DCB3QIBATANBgkqhkiG9w0BAQUFADA0MTIwMAYDVQQDDClQdXBwZXQgQ0E6
IGx1Y2lkLW5vbnNlbnNlLmFwcGxpZWRsb2dpYy5jYRcNMTcwMTEyMTUzNjM1WhcN
MjIwMTExMTUzNjM2WjBEMCACAQIXDTE3MDExMjEzMDEwOVowDDAKBgNVHRUEAwoB
ATAgAgEEFw0xNzAxMTIxNTM2MzZaMAwwCgYDVR0VBAMKAQGgLzAtMB8GA1UdIwQY
MBaAFPXwC6fTTZGAEGWebeMJobxzTq0IMAoGA1UdFAQDAgECMA0GCSqGSIb3DQEB
BQUAA4ICAQBevzkpnkJOelipZsd8GbV5r7b/5Mc/X9fIoNb7wfDGzRWMNDvp/pqd
3TeXvHKsgFqjgchQlI+dd+K1eouJm3pYSsT5MYVrJYUJ6kzPgC89tgtEDApnYOjx
rZIWyF6PeWjL8E7ZKNVFX6RS2HbhWLZStDnkJvckXAhN4GXdLdm5FulkXQ7asQTy
8u1bXWDvRESNuveHuuVyQpfzbnznxUSgf+gJzQ35wbNGZCJDoNlEth6UnIz26LIY
/3dRt/HcybDLoSIV+PF7m2VZZxwcpRCIgjvhCz0fWdfakPYoCn5l3ZGZnv6vL/ss
Mt7bh+b9C0u4g9sQxAYsW21EEFcxVjREXQNn9t/9iqwNn+W90Fee3TJGmWQINO29
zzPgmYyWZQFHCVPuQE/R6cVrRIFte1PjEycsxcTjVv4f71vIWd/54VW7/7TjXYq5
7CnBxWUlWs8N8GwJLzem5DgJvF85YUbVACfNs8JhZc7osLPxFhnZcKz2dLyJgXOj
tzZtHJZG7qxR1n9GmERVpk6OSeK0KKYmb+N9u4mGXYTDG6kl+nj1dU/Uh/yoAwG8
UCEaly81c8sSHjLI3GetK4WxND0cElcSaFY3q22bDay7drhhCMftcbhxoh9ROI5h
Ldr9eKhzX/iwBRnlcwxVCLSUEP+46oGi8hawrhEUnPxPtftMjPVFTQ==
-----END X509 CRL-----
EOF
PUPPET_CERT_LIST_OUTPUT = <<~OUTPUT
+ "tfmcentos7.beispiel.xyz" (SHA256) B1:7C:A8:EC:2A:37:E6:2D:A6:55:B9:00:DE:2B:36:6B:E1:F0:BA:49:42:91:3D:60:4B:42:81:6F:5E:18:78:C8
+ "tfmdemo.beispiel.xyz" (SHA256) 79:E3:98:2C:FF:53:74:02:6F:96:6D:61:05:85:1A:5F:C6:FB:67:AF:A6:05:24:FA:16:42:21:14:46:86:AC:AF (alt names: "DNS:puppet", "DNS:puppet.beispiel.xyz", "DNS:tfmdemo.beispiel.xyz")
OUTPUT
PUPPET_CERT_CLEAN_OUTPUT = <<~OUTPUT
Notice: Revoked certificate with serial 4
Notice: Removing file Puppet::SSL::Certificate tfmcentos7.beispiel.xyz at '/etc/puppetlabs/puppet/ssl/ca/signed/tfmcentos7.beispiel.xyz.pem'
Notice: Removing file Puppet::SSL::Certificate tfmcentos7.beispiel.xyz at '/etc/puppetlabs/puppet/ssl/certs/tfmcentos7.beispiel.xyz.pem'
OUTPUT
PUPPET_CERT_SIGN_OUTPUT = <<~OUTPUT
Signing Certificate Request for:
"tfmcentos7.beispiel.xyz" (SHA256) 23:B0:F0:83:72:ED:69:8A:E1:06:83:0E:A6:DE:0B:5D:83:0B:58:3B:AB:EE:82:F1:30:1B:39:19:84:5B:4B:10 **
Notice: Signed certificate request for tfmcentos7.beispiel.xyz
Notice: Removing file Puppet::SSL::CertificateRequest tfmcentos7.beispiel.xyz at '/etc/puppetlabs/puppet/ssl/ca/requests/tfmcentos7.beispiel.xyz.pem'
OUTPUT
def test_revoked_serials
assert_equal Set.new([2, 4]), @puppet_cert.revoked_serials(CRL_CONTENTS)
test/realm/ipa_config_parser_test.rb
end
def test_should_raise_error_if_xmlrpc_uri_is_not_defined
config = <<EOL
[global]
basedn = dc=demo1,dc=freeipa,dc=org
realm = DEMO1.FREEIPA.ORG
domain = demo1.freeipa.org
server = ipa.demo1.freeipa.org
host = lucid-nonsense
enable_ra = True
EOL
config = <<~EOL
[global]
basedn = dc=demo1,dc=freeipa,dc=org
realm = DEMO1.FREEIPA.ORG
domain = demo1.freeipa.org
server = ipa.demo1.freeipa.org
host = lucid-nonsense
enable_ra = True
EOL
parser = Proxy::FreeIPARealm::IpaConfigParser.new('')
assert_raises(Exception) { parser.do_parse(StringIO.new(config)) }
end
def test_should_raise_error_if_realm_is_not_defined
config = <<EOL
[global]
basedn = dc=demo1,dc=freeipa,dc=org
domain = demo1.freeipa.org
server = ipa.demo1.freeipa.org
host = lucid-nonsense
xmlrpc_uri = https://ipa.demo1.freeipa.org/ipa/xml
enable_ra = True
EOL
config = <<~EOL
[global]
basedn = dc=demo1,dc=freeipa,dc=org
domain = demo1.freeipa.org
server = ipa.demo1.freeipa.org
host = lucid-nonsense
xmlrpc_uri = https://ipa.demo1.freeipa.org/ipa/xml
enable_ra = True
EOL
parser = Proxy::FreeIPARealm::IpaConfigParser.new('')
assert_raises(Exception) { parser.do_parse(StringIO.new(config)) }
end

Also available in: Unified diff