puppet 2.6.0 → 2.6.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (246) hide show
  1. data/CHANGELOG +123 -0
  2. data/conf/redhat/puppet.spec +8 -2
  3. data/conf/solaris/smf/svc-puppetd +1 -1
  4. data/conf/solaris/smf/svc-puppetmasterd +1 -1
  5. data/conf/suse/client.init +4 -4
  6. data/conf/suse/fileserver.conf +12 -0
  7. data/conf/suse/logrotate +10 -0
  8. data/conf/suse/puppet.conf +25 -0
  9. data/conf/suse/puppet.spec +114 -49
  10. data/conf/suse/ruby-env.patch +17 -0
  11. data/conf/suse/server.init +4 -4
  12. data/ext/logcheck/puppet +23 -23
  13. data/ext/puppet-load.rb +357 -0
  14. data/ext/puppetstoredconfigclean.rb +3 -3
  15. data/ext/rack/files/config.ru +3 -5
  16. data/ext/vim/syntax/puppet.vim +6 -5
  17. data/install.rb +12 -11
  18. data/lib/puppet.rb +1 -1
  19. data/lib/puppet/agent.rb +3 -1
  20. data/lib/puppet/application.rb +2 -3
  21. data/lib/puppet/application/agent.rb +4 -0
  22. data/lib/puppet/application/apply.rb +14 -6
  23. data/lib/puppet/application/describe.rb +1 -1
  24. data/lib/puppet/application/doc.rb +2 -36
  25. data/lib/puppet/application/master.rb +0 -3
  26. data/lib/puppet/application/queue.rb +1 -0
  27. data/lib/puppet/configurer.rb +4 -0
  28. data/lib/puppet/daemon.rb +1 -1
  29. data/lib/puppet/defaults.rb +38 -44
  30. data/lib/puppet/file_serving/indirection_hooks.rb +2 -2
  31. data/lib/puppet/indirector/facts/memory.rb +1 -1
  32. data/lib/puppet/indirector/node/exec.rb +1 -1
  33. data/lib/puppet/indirector/node/ldap.rb +9 -53
  34. data/lib/puppet/indirector/node/memory.rb +1 -1
  35. data/lib/puppet/indirector/yaml.rb +6 -9
  36. data/lib/puppet/network/format_handler.rb +6 -0
  37. data/lib/puppet/network/formats.rb +4 -4
  38. data/lib/puppet/network/http/handler.rb +1 -1
  39. data/lib/puppet/network/http/rack.rb +3 -0
  40. data/lib/puppet/network/http/rack/rest.rb +1 -1
  41. data/lib/puppet/network/rest_authconfig.rb +6 -3
  42. data/lib/puppet/node/environment.rb +15 -5
  43. data/lib/puppet/parameter/value_collection.rb +3 -3
  44. data/lib/puppet/parser/ast/function.rb +0 -1
  45. data/lib/puppet/parser/ast/leaf.rb +1 -1
  46. data/lib/puppet/parser/ast/resource.rb +4 -3
  47. data/lib/puppet/parser/ast/resource_reference.rb +9 -2
  48. data/lib/puppet/parser/compiler.rb +12 -14
  49. data/lib/puppet/parser/files.rb +1 -1
  50. data/lib/puppet/parser/functions.rb +2 -2
  51. data/lib/puppet/parser/functions/defined.rb +1 -1
  52. data/lib/puppet/parser/functions/extlookup.rb +157 -0
  53. data/lib/puppet/parser/functions/file.rb +1 -1
  54. data/lib/puppet/parser/functions/inline_template.rb +6 -5
  55. data/lib/puppet/parser/functions/md5.rb +5 -0
  56. data/lib/puppet/parser/functions/realize.rb +1 -1
  57. data/lib/puppet/parser/functions/regsubst.rb +19 -19
  58. data/lib/puppet/parser/functions/require.rb +2 -3
  59. data/lib/puppet/parser/functions/split.rb +1 -1
  60. data/lib/puppet/parser/functions/sprintf.rb +1 -1
  61. data/lib/puppet/parser/functions/template.rb +4 -2
  62. data/lib/puppet/parser/functions/versioncmp.rb +12 -12
  63. data/lib/puppet/parser/lexer.rb +13 -14
  64. data/lib/puppet/parser/resource.rb +2 -7
  65. data/lib/puppet/parser/resource/param.rb +1 -1
  66. data/lib/puppet/parser/scope.rb +35 -0
  67. data/lib/puppet/parser/type_loader.rb +1 -1
  68. data/lib/puppet/property.rb +5 -5
  69. data/lib/puppet/provider.rb +3 -3
  70. data/lib/puppet/provider/group/groupadd.rb +1 -1
  71. data/lib/puppet/provider/group/ldap.rb +3 -3
  72. data/lib/puppet/provider/group/pw.rb +1 -1
  73. data/lib/puppet/provider/package/apple.rb +1 -1
  74. data/lib/puppet/provider/package/apt.rb +5 -1
  75. data/lib/puppet/provider/package/aptitude.rb +1 -1
  76. data/lib/puppet/provider/package/aptrpm.rb +1 -1
  77. data/lib/puppet/provider/package/blastwave.rb +1 -1
  78. data/lib/puppet/provider/package/dpkg.rb +2 -2
  79. data/lib/puppet/provider/package/fink.rb +1 -1
  80. data/lib/puppet/provider/package/gem.rb +1 -1
  81. data/lib/puppet/provider/package/openbsd.rb +1 -1
  82. data/lib/puppet/provider/package/rpm.rb +1 -1
  83. data/lib/puppet/provider/package/rug.rb +1 -1
  84. data/lib/puppet/provider/package/sunfreeware.rb +2 -2
  85. data/lib/puppet/provider/package/up2date.rb +1 -1
  86. data/lib/puppet/provider/package/urpmi.rb +1 -1
  87. data/lib/puppet/provider/package/yum.rb +1 -1
  88. data/lib/puppet/provider/package/zypper.rb +1 -1
  89. data/lib/puppet/provider/service/base.rb +1 -1
  90. data/lib/puppet/provider/service/bsd.rb +2 -2
  91. data/lib/puppet/provider/service/debian.rb +2 -2
  92. data/lib/puppet/provider/service/gentoo.rb +2 -2
  93. data/lib/puppet/provider/service/init.rb +2 -2
  94. data/lib/puppet/provider/service/redhat.rb +2 -2
  95. data/lib/puppet/provider/user/ldap.rb +3 -3
  96. data/lib/puppet/provider/user/pw.rb +1 -1
  97. data/lib/puppet/provider/user/user_role_add.rb +1 -1
  98. data/lib/puppet/provider/user/useradd.rb +1 -1
  99. data/lib/puppet/rails/host.rb +1 -0
  100. data/lib/puppet/reference/configuration.rb +37 -34
  101. data/lib/puppet/reference/indirection.rb +3 -4
  102. data/lib/puppet/reference/metaparameter.rb +0 -8
  103. data/lib/puppet/reference/network.rb +6 -4
  104. data/lib/puppet/reference/providers.rb +4 -4
  105. data/lib/puppet/reference/report.rb +5 -6
  106. data/lib/puppet/reference/type.rb +14 -14
  107. data/lib/puppet/reports/http.rb +1 -1
  108. data/lib/puppet/reports/rrdgraph.rb +8 -9
  109. data/lib/puppet/reports/store.rb +2 -2
  110. data/lib/puppet/reports/tagmail.rb +12 -13
  111. data/lib/puppet/resource.rb +15 -115
  112. data/lib/puppet/resource/catalog.rb +1 -1
  113. data/lib/puppet/resource/type.rb +26 -3
  114. data/lib/puppet/resource/type_collection.rb +3 -6
  115. data/lib/puppet/simple_graph.rb +4 -5
  116. data/lib/puppet/transaction/resource_harness.rb +1 -1
  117. data/lib/puppet/type.rb +100 -92
  118. data/lib/puppet/type/augeas.rb +44 -45
  119. data/lib/puppet/type/computer.rb +2 -2
  120. data/lib/puppet/type/cron.rb +29 -29
  121. data/lib/puppet/type/exec.rb +66 -67
  122. data/lib/puppet/type/file.rb +25 -25
  123. data/lib/puppet/type/file/content.rb +7 -1
  124. data/lib/puppet/type/file/ensure.rb +13 -13
  125. data/lib/puppet/type/file/mode.rb +6 -6
  126. data/lib/puppet/type/file/selcontext.rb +5 -5
  127. data/lib/puppet/type/file/source.rb +36 -26
  128. data/lib/puppet/type/filebucket.rb +5 -6
  129. data/lib/puppet/type/group.rb +1 -2
  130. data/lib/puppet/type/host.rb +3 -6
  131. data/lib/puppet/type/k5login.rb +3 -3
  132. data/lib/puppet/type/macauthorization.rb +1 -2
  133. data/lib/puppet/type/mailalias.rb +0 -1
  134. data/lib/puppet/type/maillist.rb +0 -1
  135. data/lib/puppet/type/mcx.rb +9 -9
  136. data/lib/puppet/type/mount.rb +9 -10
  137. data/lib/puppet/type/notify.rb +0 -1
  138. data/lib/puppet/type/package.rb +34 -36
  139. data/lib/puppet/type/resources.rb +1 -5
  140. data/lib/puppet/type/schedule.rb +9 -12
  141. data/lib/puppet/type/selboolean.rb +2 -7
  142. data/lib/puppet/type/selmodule.rb +3 -4
  143. data/lib/puppet/type/service.rb +9 -9
  144. data/lib/puppet/type/ssh_authorized_key.rb +2 -3
  145. data/lib/puppet/type/sshkey.rb +4 -7
  146. data/lib/puppet/type/stage.rb +5 -4
  147. data/lib/puppet/type/tidy.rb +3 -3
  148. data/lib/puppet/type/user.rb +1 -2
  149. data/lib/puppet/type/whit.rb +7 -0
  150. data/lib/puppet/type/yumrepo.rb +16 -3
  151. data/lib/puppet/type/zfs.rb +1 -2
  152. data/lib/puppet/type/zone.rb +28 -28
  153. data/lib/puppet/type/zpool.rb +10 -5
  154. data/lib/puppet/util/autoload.rb +17 -5
  155. data/lib/puppet/util/cacher.rb +15 -10
  156. data/lib/puppet/util/command_line/puppetdoc +5 -5
  157. data/lib/puppet/util/command_line/puppetrun +0 -2
  158. data/lib/puppet/util/command_line/ralsh +13 -13
  159. data/lib/puppet/util/docs.rb +5 -12
  160. data/lib/puppet/util/monkey_patches.rb +5 -2
  161. data/lib/puppet/util/nagios_maker.rb +4 -5
  162. data/lib/puppet/util/provider_features.rb +2 -2
  163. data/lib/puppet/util/rdoc.rb +1 -1
  164. data/lib/puppet/util/rdoc/parser.rb +5 -3
  165. data/lib/puppet/util/reference.rb +3 -52
  166. data/man/man5/puppet.conf.5 +2072 -1526
  167. data/man/man8/filebucket.8 +104 -106
  168. data/man/man8/pi.8 +14 -47
  169. data/man/man8/puppet.8 +8 -9
  170. data/man/man8/puppetca.8 +168 -129
  171. data/man/man8/puppetd.8 +282 -226
  172. data/man/man8/puppetdoc.8 +103 -103
  173. data/man/man8/puppetmasterd.8 +51 -71
  174. data/man/man8/puppetqd.8 +18 -53
  175. data/man/man8/puppetrun.8 +163 -143
  176. data/man/man8/ralsh.8 +77 -114
  177. data/spec/integration/indirector/bucket_file/rest_spec.rb +1 -0
  178. data/spec/integration/indirector/certificate/rest_spec.rb +1 -0
  179. data/spec/integration/indirector/certificate_request/rest_spec.rb +1 -0
  180. data/spec/integration/indirector/certificate_revocation_list/rest_spec.rb +1 -0
  181. data/spec/integration/indirector/report/rest_spec.rb +1 -0
  182. data/spec/integration/indirector/rest_spec.rb +1 -0
  183. data/spec/integration/network/server/webrick_spec.rb +1 -0
  184. data/spec/integration/parser/compiler_spec.rb +43 -0
  185. data/spec/integration/provider/mailalias/aliases_spec.rb +5 -5
  186. data/spec/integration/ssl/certificate_authority_spec.rb +1 -0
  187. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  188. data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -0
  189. data/spec/integration/ssl/host_spec.rb +1 -0
  190. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +0 -1
  191. data/spec/monkey_patches/publicize_methods.rb +11 -0
  192. data/spec/shared_behaviours/file_serving.rb +12 -1
  193. data/spec/spec_helper.rb +6 -25
  194. data/spec/unit/application/apply_spec.rb +22 -4
  195. data/spec/unit/application/cert_spec.rb +1 -1
  196. data/spec/unit/application/doc_spec.rb +0 -19
  197. data/spec/unit/application/master_spec.rb +1 -1
  198. data/spec/unit/application_spec.rb +2 -12
  199. data/spec/unit/indirector/node/ldap_spec.rb +19 -21
  200. data/spec/unit/indirector/yaml_spec.rb +18 -6
  201. data/spec/unit/network/http/rack/rest_spec.rb +3 -3
  202. data/spec/unit/network/http/webrick/rest_spec.rb +1 -0
  203. data/spec/unit/node/environment_spec.rb +32 -3
  204. data/spec/unit/node/facts_spec.rb +13 -2
  205. data/spec/unit/parameter/value_collection_spec.rb +2 -2
  206. data/spec/unit/parser/ast/leaf_spec.rb +4 -0
  207. data/spec/unit/parser/ast/resource_reference_spec.rb +0 -5
  208. data/spec/unit/parser/ast/resource_spec.rb +7 -0
  209. data/spec/unit/parser/compiler_spec.rb +12 -1
  210. data/spec/unit/parser/files_spec.rb +3 -3
  211. data/spec/unit/parser/functions/extlookup_spec.rb +95 -0
  212. data/spec/unit/parser/functions/include_spec.rb +33 -0
  213. data/spec/unit/parser/functions/require_spec.rb +1 -1
  214. data/spec/unit/parser/functions/tag_spec.rb +1 -0
  215. data/spec/unit/parser/lexer_spec.rb +10 -1
  216. data/spec/unit/parser/resource_spec.rb +3 -9
  217. data/spec/unit/parser/type_loader_spec.rb +1 -1
  218. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +4 -2
  219. data/spec/unit/rails/resource_spec.rb +1 -1
  220. data/spec/unit/reports/tagmail_spec.rb +2 -2
  221. data/spec/unit/resource/catalog_spec.rb +1 -1
  222. data/spec/unit/resource/type_collection_spec.rb +35 -0
  223. data/spec/unit/resource/type_spec.rb +19 -1
  224. data/spec/unit/resource_spec.rb +0 -36
  225. data/spec/unit/simple_graph_spec.rb +12 -2
  226. data/spec/unit/transaction/resource_harness_spec.rb +1 -1
  227. data/spec/unit/type/file/content_spec.rb +2 -1
  228. data/spec/unit/type/schedule_spec.rb +1 -1
  229. data/spec/unit/type/service_spec.rb +8 -0
  230. data/spec/unit/type/user_spec.rb +5 -0
  231. data/spec/unit/util/backups_spec.rb +0 -1
  232. data/spec/unit/util/rdoc/parser_spec.rb +3 -3
  233. data/spec/unit/util/rdoc_spec.rb +13 -0
  234. data/test/certmgr/support.rb +2 -1
  235. data/test/language/parser.rb +6 -6
  236. data/test/lib/puppettest.rb +3 -23
  237. data/test/lib/puppettest/fakes.rb +1 -1
  238. data/test/lib/puppettest/support/assertions.rb +0 -2
  239. data/test/lib/puppettest/support/utils.rb +25 -20
  240. data/test/ral/manager/attributes.rb +4 -1
  241. metadata +15 -9
  242. data/conf/suse/puppet.suse.patch +0 -16
  243. data/ext/extlookup.rb +0 -181
  244. data/ext/puppetlast +0 -16
  245. data/tasks/rake/tracdocs.rake +0 -8
  246. data/test/lib/mocha_standalone.rb +0 -2
@@ -1,122 +1,85 @@
1
- .TH "" "" ""
2
- .SH NAME
3
- \-
4
- .\" Man page generated from reStructeredText.
5
- .
6
- .SH SYNOPSIS
7
- .sp
8
- Use the Puppet RAL to directly interact with the system.
9
- .SH USAGE
10
- .INDENT 0.0
11
- .INDENT 3.5
12
- .INDENT 0.0
13
- .TP
14
- .B puppet resource [\-h|\-\-help] [\-d|\-\-debug] [\-v|\-\-verbose] [\-e|\-\-edit]
15
- .
16
- [\-H|\-\-host <host>] [\-p|\-\-param <param>] [\-t|\-\-types]
17
- type <name>
18
- .UNINDENT
19
- .UNINDENT
20
- .UNINDENT
21
- .SH DESCRIPTION
22
- .sp
23
- This command provides simple facilities for converting current system
24
- state into Puppet code, along with some ability to use Puppet to affect
25
- the current state.
26
- .sp
27
- By default, you must at least provide a type to list, which case puppet
28
- resource will tell you everything it knows about all instances of that
29
- type. You can optionally specify an instance name, and puppet resource
30
- will only describe that single instance.
31
- .sp
32
- You can also add +\-\-edit+ as an argument, and puppet resource will write
33
- its output to a file, open that file in an editor, and then apply the
34
- file as a Puppet transaction. You can easily use this to use Puppet to
35
- make simple changes to a system.
36
- .SH OPTIONS
37
- .sp
38
- Note that any configuration parameter that\(aqs valid in the configuration
39
- file is also a valid long argument. For example, \(aqssldir\(aq is a valid
40
- configuration parameter, so you can specify \(aq\-\-ssldir <directory>\(aq as an
41
- argument.
42
- .sp
43
- See the configuration file documentation at
44
- \fI\%http://docs.puppetlabs.com/references/stable/configuration.html\fP for the
45
- full list of acceptable parameters. A commented list of all
46
- configuration options can also be generated by running puppet with
47
- \(aq\-\-genconfig\(aq.
48
- .sp
49
- debug: Enable full debugging.
50
- .sp
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "RALSH" "8" "August 2010" "" ""
5
+ Use the Puppet RAL to directly interact with the system\.puppet resource [\-h|\-\-help] [\-d|\-\-debug] [\-v|\-\-verbose] [\-e|\-\-edit]
6
+ .
7
+ .IP "" 4
8
+ .
9
+ .nf
10
+
11
+ [\-H|\-\-host <host>] [\-p|\-\-param <param>] [\-t|\-\-types]
12
+ type <name>
13
+ .
14
+ .fi
15
+ .
16
+ .IP "" 0
17
+ This command provides simple facilities for converting current system state into Puppet code, along with some ability to use Puppet to affect the current state\.
18
+ .
19
+ .P
20
+ By default, you must at least provide a type to list, which case puppet resource will tell you everything it knows about all instances of that type\. You can optionally specify an instance name, and puppet resource will only describe that single instance\.
21
+ .
22
+ .P
23
+ You can also add +\-\-edit+ as an argument, and puppet resource will write its output to a file, open that file in an editor, and then apply the file as a Puppet transaction\. You can easily use this to use Puppet to make simple changes to a system\.Note that any configuration parameter that\'s valid in the configuration file is also a valid long argument\. For example, \'ssldir\' is a valid configuration parameter, so you can specify \'\-\-ssldir \fIdirectory\fR\' as an argument\.
24
+ .
25
+ .P
26
+ See the configuration file documentation at http://docs\.puppetlabs\.com/references/stable/configuration\.html for the full list of acceptable parameters\. A commented list of all configuration options can also be generated by running puppet with \'\-\-genconfig\'\.
27
+ .
28
+ .P
29
+ debug: Enable full debugging\.
30
+ .
31
+ .P
51
32
  edit:
52
- .INDENT 0.0
53
- .INDENT 3.5
54
- .sp
55
- Write the results of the query to a file, open the file in an editor,
56
- and read the file back in as an executable Puppet manifest.
57
- .UNINDENT
58
- .UNINDENT
59
- .sp
33
+ .
34
+ .P
35
+ Write the results of the query to a file, open the file in an editor, and read the file back in as an executable Puppet manifest\.
36
+ .
37
+ .P
60
38
  host:
61
- .INDENT 0.0
62
- .INDENT 3.5
63
- .sp
64
- When specified, connect to the resource server on the named host
65
- and retrieve the list of resouces of the type specified.
66
- .UNINDENT
67
- .UNINDENT
68
- .sp
39
+ .
40
+ .P
41
+ When specified, connect to the resource server on the named host and retrieve the list of resouces of the type specified\.
42
+ .
43
+ .P
69
44
  help:
70
- .INDENT 0.0
71
- .INDENT 3.5
72
- .sp
73
- Print this help message.
74
- .UNINDENT
75
- .UNINDENT
76
- .sp
45
+ .
46
+ .P
47
+ Print this help message\.
48
+ .
49
+ .P
77
50
  param:
78
- .INDENT 0.0
79
- .INDENT 3.5
80
- .sp
81
- Add more parameters to be outputted from queries.
82
- .UNINDENT
83
- .UNINDENT
84
- .sp
51
+ .
52
+ .P
53
+ Add more parameters to be outputted from queries\.
54
+ .
55
+ .P
85
56
  types:
86
- .INDENT 0.0
87
- .INDENT 3.5
88
- .sp
89
- List all available types.
90
- .UNINDENT
91
- .UNINDENT
92
- .sp
93
- verbose: Print extra information.
94
- .SH EXAMPLE
95
- .sp
96
- This example uses \fBpuppet resource\fP to return Puppet configuration for
97
- the user \fBluke\fP:
98
- .sp
57
+ .
58
+ .P
59
+ List all available types\.
60
+ .
61
+ .P
62
+ verbose:
63
+ .
64
+ .P
65
+ Print extra information\.This example uses \fBpuppet resource\fR to return Puppet configuration for the user \fBluke\fR:
66
+ .
67
+ .IP "" 4
68
+ .
99
69
  .nf
100
- .ft C
101
- $ puppet resource user luke
102
- user { \(aqluke\(aq:
103
- home => \(aq/home/luke\(aq,
104
- uid => \(aq100\(aq,
105
- ensure => \(aqpresent\(aq,
106
- comment => \(aqLuke Kanies,,,\(aq,
107
- gid => \(aq1000\(aq,
108
- shell => \(aq/bin/bash\(aq,
109
- groups => [\(aqsysadmin\(aq,\(aqaudio\(aq,\(aqvideo\(aq,\(aqpuppet\(aq]
110
- }
111
- .ft P
70
+
71
+ $ puppet resource user luke
72
+ user { \'luke\':
73
+ home => \'/home/luke\',
74
+ uid => \'100\',
75
+ ensure => \'present\',
76
+ comment => \'Luke Kanies,,,\',
77
+ gid => \'1000\',
78
+ shell => \'/bin/bash\',
79
+ groups => [\'sysadmin\',\'audio\',\'video\',\'puppet\']
80
+ }
81
+ .
112
82
  .fi
113
- .SH AUTHOR
114
- .sp
115
- Luke Kanies
116
- .SH COPYRIGHT
117
- .sp
118
- Copyright (c) 2005\-2007 Reductive Labs, LLC Licensed under the GNU
119
- Public License
120
- .\" Generated by docutils manpage writer.
121
- .\"
122
83
  .
84
+ .IP "" 0
85
+ Luke KaniesCopyright (c) 2005\-2007 Reductive Labs, LLC Licensed under the GNU Public License
@@ -17,6 +17,7 @@ describe "Filebucket REST Terminus" do
17
17
 
18
18
  Puppet.settings[:confdir] = @dir
19
19
  Puppet.settings[:vardir] = @dir
20
+ Puppet.settings[:group] = Process.gid
20
21
  Puppet.settings[:server] = "127.0.0.1"
21
22
  Puppet.settings[:masterport] = "34343"
22
23
 
@@ -17,6 +17,7 @@ describe "Certificate REST Terminus" do
17
17
 
18
18
  Puppet.settings[:confdir] = @dir
19
19
  Puppet.settings[:vardir] = @dir
20
+ Puppet.settings[:group] = Process.gid
20
21
  Puppet.settings[:server] = "127.0.0.1"
21
22
  Puppet.settings[:masterport] = "34343"
22
23
 
@@ -19,6 +19,7 @@ describe "Certificate Request REST Terminus" do
19
19
 
20
20
  Puppet.settings[:confdir] = @dir
21
21
  Puppet.settings[:vardir] = @dir
22
+ Puppet.settings[:group] = Process.gid
22
23
  Puppet.settings[:server] = "127.0.0.1"
23
24
  Puppet.settings[:masterport] = "34343"
24
25
 
@@ -17,6 +17,7 @@ describe "Certificate REST Terminus" do
17
17
 
18
18
  Puppet.settings[:confdir] = @dir
19
19
  Puppet.settings[:vardir] = @dir
20
+ Puppet.settings[:group] = Process.gid
20
21
  Puppet.settings[:server] = "127.0.0.1"
21
22
  Puppet.settings[:masterport] = "34343"
22
23
 
@@ -17,6 +17,7 @@ describe "Report REST Terminus" do
17
17
 
18
18
  Puppet.settings[:confdir] = @dir
19
19
  Puppet.settings[:vardir] = @dir
20
+ Puppet.settings[:group] = Process.gid
20
21
  Puppet.settings[:server] = "127.0.0.1"
21
22
  Puppet.settings[:masterport] = "34343"
22
23
 
@@ -39,6 +39,7 @@ describe Puppet::Indirector::REST do
39
39
 
40
40
  Puppet.settings[:confdir] = @dir
41
41
  Puppet.settings[:vardir] = @dir
42
+ Puppet.settings[:group] = Process.gid
42
43
  Puppet.settings[:server] = "127.0.0.1"
43
44
  Puppet.settings[:masterport] = "34343"
44
45
 
@@ -18,6 +18,7 @@ describe Puppet::Network::Server do
18
18
 
19
19
  Puppet.settings[:confdir] = @dir
20
20
  Puppet.settings[:vardir] = @dir
21
+ Puppet.settings[:group] = Process.gid
21
22
 
22
23
  Puppet::SSL::Host.ca_location = :local
23
24
 
@@ -26,4 +26,47 @@ describe Puppet::Parser::Compiler do
26
26
 
27
27
  @compiler.catalog.version.should == version
28
28
  end
29
+
30
+ describe "when resolving class references" do
31
+ it "should favor local scope, even if there's an included class in topscope" do
32
+ Puppet[:code] = <<-PP
33
+ class experiment {
34
+ class baz {
35
+ }
36
+ notify {"x" : require => Class[Baz] }
37
+ }
38
+ class baz {
39
+ }
40
+ include baz
41
+ include experiment
42
+ include experiment::baz
43
+ PP
44
+
45
+ catalog = Puppet::Parser::Compiler.compile(Puppet::Node.new("mynode"))
46
+
47
+ notify_resource = catalog.resource( "Notify[x]" )
48
+
49
+ notify_resource[:require].title.should == "Experiment::Baz"
50
+ end
51
+
52
+ it "should favor local scope, even if there's an unincluded class in topscope" do
53
+ Puppet[:code] = <<-PP
54
+ class experiment {
55
+ class baz {
56
+ }
57
+ notify {"x" : require => Class[Baz] }
58
+ }
59
+ class baz {
60
+ }
61
+ include experiment
62
+ include experiment::baz
63
+ PP
64
+
65
+ catalog = Puppet::Parser::Compiler.compile(Puppet::Node.new("mynode"))
66
+
67
+ notify_resource = catalog.resource( "Notify[x]" )
68
+
69
+ notify_resource[:require].title.should == "Experiment::Baz"
70
+ end
71
+ end
29
72
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  require File.dirname(__FILE__) + '/../../../spec_helper'
4
4
 
5
- require 'puppettest'
6
5
  require 'puppettest/support/utils'
7
6
  require 'puppettest/fileparsing'
8
7
 
@@ -11,15 +10,16 @@ provider_class = Puppet::Type.type(:mailalias).provider(:aliases)
11
10
  describe provider_class do
12
11
  include PuppetTest
13
12
  include PuppetTest::FileParsing
13
+ include PuppetTest::Support::Utils
14
14
 
15
15
  before :each do
16
16
  @provider = provider_class
17
17
  end
18
18
 
19
19
  # #1560
20
- PuppetTest.fakedata("data/providers/mailalias/aliases").each { |file|
21
- it "should be able to parse the examples in #{file}" do
20
+ it "should be able to parse the mailalias examples" do
21
+ fakedata("data/providers/mailalias/aliases").each { |file|
22
22
  fakedataparse(file)
23
- end
24
- }
23
+ }
24
+ end
25
25
  end
@@ -17,6 +17,7 @@ describe Puppet::SSL::CertificateAuthority do
17
17
 
18
18
  Puppet.settings[:confdir] = @dir
19
19
  Puppet.settings[:vardir] = @dir
20
+ Puppet.settings[:group] = Process.gid
20
21
 
21
22
  Puppet::SSL::Host.ca_location = :local
22
23
  @ca = Puppet::SSL::CertificateAuthority.new
@@ -21,6 +21,7 @@ describe Puppet::SSL::CertificateRequest do
21
21
 
22
22
  Puppet.settings[:confdir] = @dir
23
23
  Puppet.settings[:vardir] = @dir
24
+ Puppet.settings[:group] = Process.gid
24
25
 
25
26
  Puppet::SSL::Host.ca_location = :none
26
27
 
@@ -17,6 +17,7 @@ describe Puppet::SSL::CertificateRevocationList do
17
17
 
18
18
  Puppet.settings[:confdir] = @dir
19
19
  Puppet.settings[:vardir] = @dir
20
+ Puppet.settings[:group] = Process.gid
20
21
 
21
22
  Puppet::SSL::Host.ca_location = :local
22
23
  end
@@ -17,6 +17,7 @@ describe Puppet::SSL::Host do
17
17
 
18
18
  Puppet.settings[:confdir] = @dir
19
19
  Puppet.settings[:vardir] = @dir
20
+ Puppet.settings[:group] = Process.gid
20
21
 
21
22
  Puppet::SSL::Host.ca_location = :local
22
23
 
@@ -5,7 +5,6 @@ dir = File.expand_path(File.dirname(__FILE__))
5
5
  end
6
6
 
7
7
  require 'spec'
8
- require 'puppettest'
9
8
  require 'puppettest/runnable_test'
10
9
 
11
10
  module Spec
@@ -0,0 +1,11 @@
1
+ # Some monkey-patching to allow us to test private methods.
2
+ class Class
3
+ def publicize_methods(*methods)
4
+ saved_private_instance_methods = methods.empty? ? self.private_instance_methods : methods
5
+
6
+ self.class_eval { public(*saved_private_instance_methods) }
7
+ yield
8
+ self.class_eval { private(*saved_private_instance_methods) }
9
+ end
10
+ end
11
+
@@ -15,7 +15,7 @@ describe "Puppet::FileServing::Files", :shared => true do
15
15
  @test_class.find(uri)
16
16
  end
17
17
 
18
- it "should use the rest terminus when the 'puppet' URI scheme is used, no host name is present, and the process name is not 'puppet'" do
18
+ it "should use the rest terminus when the 'puppet' URI scheme is used, no host name is present, and the process name is not 'puppet' or 'apply'" do
19
19
  uri = "puppet:///fakemod/my/file"
20
20
  Puppet.settings.stubs(:value).returns "foo"
21
21
  Puppet.settings.stubs(:value).with(:name).returns("puppetd")
@@ -35,6 +35,17 @@ describe "Puppet::FileServing::Files", :shared => true do
35
35
  @test_class.find(uri)
36
36
  end
37
37
 
38
+ it "should use the file_server terminus when the 'puppet' URI scheme is used, no host name is present, and the process name is 'apply'" do
39
+ uri = "puppet:///fakemod/my/file"
40
+ Puppet::Node::Environment.stubs(:new).returns(stub("env", :name => "testing", :module => nil, :modulepath => []))
41
+ Puppet.settings.stubs(:value).returns ""
42
+ Puppet.settings.stubs(:value).with(:name).returns("apply")
43
+ Puppet.settings.stubs(:value).with(:fileserverconfig).returns("/whatever")
44
+ @indirection.terminus(:file_server).expects(:find)
45
+ @indirection.terminus(:file_server).stubs(:authorized?).returns(true)
46
+ @test_class.find(uri)
47
+ end
48
+
38
49
  it "should use the file terminus when the 'file' URI scheme is used" do
39
50
  uri = "file:///fakemod/my/file"
40
51
  @indirection.terminus(:file).expects(:find)
@@ -6,20 +6,11 @@ dir = File.expand_path(File.dirname(__FILE__))
6
6
  $LOAD_PATH.unshift("#{dir}/")
7
7
  $LOAD_PATH.unshift("#{dir}/lib") # a spec-specific test lib dir
8
8
  $LOAD_PATH.unshift("#{dir}/../lib")
9
- $LOAD_PATH.unshift("#{dir}/../test/lib") # Add the old test dir, so that we can still find our local mocha and spec
10
9
 
11
- # include any gems in vendor/gems
12
- Dir["#{dir}/../vendor/gems/**"].each do |path|
13
- libpath = File.join(path, "lib")
14
- if File.directory?(libpath)
15
- $LOAD_PATH.unshift(libpath)
16
- else
17
- $LOAD_PATH.unshift(path)
18
- end
19
- end
10
+ # Don't want puppet getting the command line arguments for rake or autotest
11
+ ARGV.clear
20
12
 
21
- require 'puppettest'
22
- require 'puppettest/runnable_test'
13
+ require 'puppet'
23
14
  require 'mocha'
24
15
  gem 'rspec', '>=1.2.9'
25
16
  require 'spec/autorun'
@@ -29,17 +20,13 @@ module PuppetSpec
29
20
  FIXTURE_DIR = File.join(dir = File.expand_path(File.dirname(__FILE__)), "fixtures") unless defined?(FIXTURE_DIR)
30
21
  end
31
22
 
32
- # load any monkey-patches
33
- Dir["#{dir}/monkey_patches/*.rb"].map { |file| require file }
23
+ require 'monkey_patches/alias_should_to_must'
24
+ require 'monkey_patches/add_confine_and_runnable_to_rspec_dsl'
25
+ require 'monkey_patches/publicize_methods'
34
26
 
35
27
  Spec::Runner.configure do |config|
36
28
  config.mock_with :mocha
37
29
 
38
- # config.prepend_before :all do
39
- # setup_mocks_for_rspec
40
- # setup if respond_to? :setup
41
- # end
42
- #
43
30
  config.prepend_after :each do
44
31
  Puppet.settings.clear
45
32
  Puppet::Node::Environment.clear
@@ -88,10 +75,4 @@ Spec::Runner.configure do |config|
88
75
  end
89
76
  end
90
77
 
91
- # We need this because the RAL uses 'should' as a method. This
92
- # allows us the same behaviour but with a different method name.
93
- class Object
94
- alias :must :should
95
- end
96
-
97
78
  end