test_trapperkeeper.aug

Summary
test_trapperkeeper.aug
Augeas Variables
config
Augeas Tests
Trapperkeeper.lnsTest full config file
Trapperkeeper.lnsShould parse an empty file
Trapperkeeper.lnsValues can be quoted
Trapperkeeper.lnsKeys can be quoted
Trapperkeeper.lnsKeys can contain / (GH #7)

Augeas Variables

config

let config = " # This is a comment webserver: { bar: { # A comment host: localhost port= 9000 default-server: true } foo: { host: localhost port = 10000 } } jruby-puppet: { # This setting determines where JRuby will look for gems. It is also # used by the `puppetserver gem` command line tool. gem-home: /var/lib/puppet/jruby-gems # (optional) path to puppet conf dir; if not specified, will use the puppet default master-conf-dir: /etc/puppet # (optional) path to puppet var dir; if not specified, will use the puppet default master-var-dir: /var/lib/puppet # (optional) maximum number of JRuby instances to allow; defaults to <num-cpus>+2 #max-active-instances: 1 } # CA-related settings certificate-authority: { # settings for the certificate_status HTTP endpoint certificate-status: { # this setting contains a list of client certnames who are whitelisted to # have access to the certificate_status endpoint. Any requests made to # this endpoint that do not present a valid client cert mentioned in # this list will be denied access. client-whitelist: [] } } os-settings: { ruby-load-path: [/usr/lib/ruby/vendor_ruby, /home/foo/ruby ] } \n"

Augeas Tests

Trapperkeeper.lns

test Trapperkeeper.lns get config = { } { "#comment" = "This is a comment" } { "@hash" = "webserver" { "@hash" = "bar" { "#comment" = "A comment" } { "@simple" = "host" { "@value" = "localhost" } } { "@simple" = "port" { "@value" = "9000" } } { "@simple" = "default-server" { "@value" = "true" } } } { } { "@hash" = "foo" { "@simple" = "host" { "@value" = "localhost" } } { "@simple" = "port" { "@value" = "10000" } } } } { } { "@hash" = "jruby-puppet" { "#comment" = "This setting determines where JRuby will look for gems. It is also" } { "#comment" = "used by the `puppetserver gem` command line tool." } { "@simple" = "gem-home" { "@value" = "/var/lib/puppet/jruby-gems" } } { } { "#comment" = "(optional) path to puppet conf dir; if not specified, will use the puppet default" } { "@simple" = "master-conf-dir" { "@value" = "/etc/puppet" } } { } { "#comment" = "(optional) path to puppet var dir; if not specified, will use the puppet default" } { "@simple" = "master-var-dir" { "@value" = "/var/lib/puppet" } } { } { "#comment" = "(optional) maximum number of JRuby instances to allow; defaults to <num-cpus>+2" } { "#comment" = "max-active-instances: 1" } } { } { } { "#comment" = "CA-related settings" } { "@hash" = "certificate-authority" { "#comment" = "settings for the certificate_status HTTP endpoint" } { "@hash" = "certificate-status" { "#comment" = "this setting contains a list of client certnames who are whitelisted to" } { "#comment" = "have access to the certificate_status endpoint. Any requests made to" } { "#comment" = "this endpoint that do not present a valid client cert mentioned in" } { "#comment" = "this list will be denied access." } { "@array" = "client-whitelist" } } } { } { "@hash" = "os-settings" { "@array" = "ruby-load-path" { "1" = "/usr/lib/ruby/vendor_ruby" } { "2" = "/home/foo/ruby" } } } { }

Test full config file

Trapperkeeper.lns

test Trapperkeeper.lns get "\n" = {}

Should parse an empty file

Trapperkeeper.lns

test Trapperkeeper.lns get "os-settings: { ruby-load-paths: [\"/usr/lib/ruby/site_ruby/1.8\"] }\n" = { "@hash" = "os-settings" { "@array" = "ruby-load-paths" { "1" = "/usr/lib/ruby/site_ruby/1.8" } } }

Values can be quoted

Trapperkeeper.lns

test Trapperkeeper.lns get "

Keys can be quoted

Trapperkeeper.lns

test Trapperkeeper.lns get "

Keys can contain / (GH #7)

let config = " # This is a comment webserver: { bar: { # A comment host: localhost port= 9000 default-server: true } foo: { host: localhost port = 10000 } } jruby-puppet: { # This setting determines where JRuby will look for gems. It is also # used by the `puppetserver gem` command line tool. gem-home: /var/lib/puppet/jruby-gems # (optional) path to puppet conf dir; if not specified, will use the puppet default master-conf-dir: /etc/puppet # (optional) path to puppet var dir; if not specified, will use the puppet default master-var-dir: /var/lib/puppet # (optional) maximum number of JRuby instances to allow; defaults to <num-cpus>+2 #max-active-instances: 1 } # CA-related settings certificate-authority: { # settings for the certificate_status HTTP endpoint certificate-status: { # this setting contains a list of client certnames who are whitelisted to # have access to the certificate_status endpoint. Any requests made to # this endpoint that do not present a valid client cert mentioned in # this list will be denied access. client-whitelist: [] } } os-settings: { ruby-load-path: [/usr/lib/ruby/vendor_ruby, /home/foo/ruby ] } \n"
test Trapperkeeper.lns get config = { } { "#comment" = "This is a comment" } { "@hash" = "webserver" { "@hash" = "bar" { "#comment" = "A comment" } { "@simple" = "host" { "@value" = "localhost" } } { "@simple" = "port" { "@value" = "9000" } } { "@simple" = "default-server" { "@value" = "true" } } } { } { "@hash" = "foo" { "@simple" = "host" { "@value" = "localhost" } } { "@simple" = "port" { "@value" = "10000" } } } } { } { "@hash" = "jruby-puppet" { "#comment" = "This setting determines where JRuby will look for gems. It is also" } { "#comment" = "used by the `puppetserver gem` command line tool." } { "@simple" = "gem-home" { "@value" = "/var/lib/puppet/jruby-gems" } } { } { "#comment" = "(optional) path to puppet conf dir; if not specified, will use the puppet default" } { "@simple" = "master-conf-dir" { "@value" = "/etc/puppet" } } { } { "#comment" = "(optional) path to puppet var dir; if not specified, will use the puppet default" } { "@simple" = "master-var-dir" { "@value" = "/var/lib/puppet" } } { } { "#comment" = "(optional) maximum number of JRuby instances to allow; defaults to <num-cpus>+2" } { "#comment" = "max-active-instances: 1" } } { } { } { "#comment" = "CA-related settings" } { "@hash" = "certificate-authority" { "#comment" = "settings for the certificate_status HTTP endpoint" } { "@hash" = "certificate-status" { "#comment" = "this setting contains a list of client certnames who are whitelisted to" } { "#comment" = "have access to the certificate_status endpoint. Any requests made to" } { "#comment" = "this endpoint that do not present a valid client cert mentioned in" } { "#comment" = "this list will be denied access." } { "@array" = "client-whitelist" } } } { } { "@hash" = "os-settings" { "@array" = "ruby-load-path" { "1" = "/usr/lib/ruby/vendor_ruby" } { "2" = "/home/foo/ruby" } } } { }
Test full config file
Close