/usr/share/augeas/lenses/dist/tests/test_trapperkeeper.aug is in augeas-lenses 1.10.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | module Test_Trapperkeeper =
(* Variable: 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"
(* Test: Trapperkeeper.lns
Test full config file *)
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: Trapperkeeper.lns
Should parse an empty file *)
test Trapperkeeper.lns get "\n" = {}
(* Test: Trapperkeeper.lns
Values can be quoted *)
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" }
}
}
(* Test: Trapperkeeper.lns
Keys can be quoted *)
test Trapperkeeper.lns get "test: {
\"x\": true
}\n" =
{ "@hash" = "test"
{ "@simple" = "x" { "@value" = "true" } } }
(* Test: Trapperkeeper.lns
Keys can contain / (GH #7)
*)
test Trapperkeeper.lns get "test: {
\"x/y\" : z
}\n" =
{ "@hash" = "test"
{ "@simple" = "x/y" { "@value" = "z" } } }
|