puppet 0.9.2 → 0.13.0

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 (213) hide show
  1. data/CHANGELOG +58 -0
  2. data/README +21 -18
  3. data/Rakefile +176 -36
  4. data/bin/puppet +34 -48
  5. data/bin/puppetca +41 -28
  6. data/bin/puppetd +87 -65
  7. data/bin/puppetdoc +99 -23
  8. data/bin/puppetmasterd +72 -91
  9. data/conf/redhat/client.init +80 -0
  10. data/conf/redhat/client.sysconfig +11 -0
  11. data/conf/redhat/fileserver.conf +12 -0
  12. data/conf/redhat/puppet.spec +130 -0
  13. data/conf/redhat/server.init +89 -0
  14. data/conf/redhat/server.sysconfig +9 -0
  15. data/examples/code/allatonce +2 -2
  16. data/examples/code/assignments +1 -1
  17. data/examples/code/classing +2 -2
  18. data/examples/code/components +2 -2
  19. data/examples/code/file.bl +5 -5
  20. data/examples/code/filedefaults +2 -2
  21. data/examples/code/fileparsing +1 -1
  22. data/examples/code/filerecursion +1 -1
  23. data/examples/code/functions +1 -1
  24. data/examples/code/groups +1 -1
  25. data/examples/code/importing +1 -1
  26. data/examples/code/nodes +1 -1
  27. data/examples/code/one +1 -1
  28. data/examples/code/relationships +2 -2
  29. data/examples/code/simpletests +5 -5
  30. data/examples/code/snippets/argumentdefaults +2 -2
  31. data/examples/code/snippets/casestatement +16 -8
  32. data/examples/code/snippets/classheirarchy.pp +4 -4
  33. data/examples/code/snippets/classincludes.pp +4 -4
  34. data/examples/code/snippets/classpathtest +2 -2
  35. data/examples/code/snippets/componentmetaparams.pp +11 -0
  36. data/examples/code/snippets/dirchmod +5 -5
  37. data/examples/code/snippets/emptyclass.pp +9 -0
  38. data/examples/code/snippets/failmissingexecpath.pp +1 -1
  39. data/examples/code/snippets/falsevalues.pp +1 -1
  40. data/examples/code/snippets/filecreate +5 -5
  41. data/examples/code/snippets/implicititeration +5 -5
  42. data/examples/code/snippets/multipleinstances +4 -4
  43. data/examples/code/snippets/namevartest +3 -3
  44. data/examples/code/snippets/scopetest +1 -1
  45. data/examples/code/snippets/selectorvalues.pp +3 -3
  46. data/examples/code/snippets/simpledefaults +2 -2
  47. data/examples/code/snippets/simpleselector +5 -5
  48. data/examples/code/snippets/singleary.pp +19 -0
  49. data/examples/root/etc/init.d/sleeper +3 -2
  50. data/ext/emacs/puppet-mode-init.el +6 -0
  51. data/ext/emacs/puppet-mode.el +189 -0
  52. data/ext/ldap/puppet.schema +17 -0
  53. data/ext/{module:puppet → module_puppet} +30 -31
  54. data/ext/vim/filetype.vim +9 -0
  55. data/ext/vim/puppet.vim +87 -0
  56. data/install.rb +63 -30
  57. data/lib/puppet.rb +216 -122
  58. data/lib/puppet/client.rb +51 -416
  59. data/lib/puppet/client/ca.rb +17 -0
  60. data/lib/puppet/client/dipper.rb +78 -0
  61. data/lib/puppet/client/file.rb +20 -0
  62. data/lib/puppet/client/log.rb +17 -0
  63. data/lib/puppet/client/master.rb +246 -0
  64. data/lib/puppet/client/proxy.rb +27 -0
  65. data/lib/puppet/client/status.rb +7 -0
  66. data/lib/puppet/config.rb +563 -13
  67. data/lib/puppet/daemon.rb +50 -22
  68. data/lib/puppet/element.rb +4 -4
  69. data/lib/puppet/event-loop.rb +1 -0
  70. data/lib/puppet/event-loop/better-definers.rb +367 -0
  71. data/lib/puppet/event-loop/event-loop.rb +355 -0
  72. data/lib/puppet/event-loop/signal-system.rb +220 -0
  73. data/lib/puppet/event.rb +9 -11
  74. data/lib/puppet/filetype.rb +195 -0
  75. data/lib/puppet/log.rb +35 -12
  76. data/lib/puppet/metric.rb +2 -2
  77. data/lib/puppet/networkclient.rb +145 -0
  78. data/lib/puppet/parameter.rb +335 -0
  79. data/lib/puppet/parser/ast.rb +42 -1453
  80. data/lib/puppet/parser/ast/astarray.rb +88 -0
  81. data/lib/puppet/parser/ast/branch.rb +47 -0
  82. data/lib/puppet/parser/ast/caseopt.rb +66 -0
  83. data/lib/puppet/parser/ast/casestatement.rb +78 -0
  84. data/lib/puppet/parser/ast/classdef.rb +78 -0
  85. data/lib/puppet/parser/ast/compdef.rb +111 -0
  86. data/lib/puppet/parser/ast/component.rb +105 -0
  87. data/lib/puppet/parser/ast/hostclass.rb +82 -0
  88. data/lib/puppet/parser/ast/leaf.rb +86 -0
  89. data/lib/puppet/parser/ast/node.rb +103 -0
  90. data/lib/puppet/parser/ast/nodedef.rb +68 -0
  91. data/lib/puppet/parser/ast/objectdef.rb +336 -0
  92. data/lib/puppet/parser/ast/objectparam.rb +30 -0
  93. data/lib/puppet/parser/ast/objectref.rb +76 -0
  94. data/lib/puppet/parser/ast/selector.rb +60 -0
  95. data/lib/puppet/parser/ast/typedefaults.rb +45 -0
  96. data/lib/puppet/parser/ast/vardef.rb +44 -0
  97. data/lib/puppet/parser/interpreter.rb +31 -14
  98. data/lib/puppet/parser/lexer.rb +2 -4
  99. data/lib/puppet/parser/parser.rb +332 -242
  100. data/lib/puppet/parser/scope.rb +55 -38
  101. data/lib/puppet/server.rb +43 -44
  102. data/lib/puppet/server/authstore.rb +3 -6
  103. data/lib/puppet/server/ca.rb +5 -2
  104. data/lib/puppet/server/filebucket.rb +2 -4
  105. data/lib/puppet/server/fileserver.rb +28 -12
  106. data/lib/puppet/server/logger.rb +15 -4
  107. data/lib/puppet/server/master.rb +62 -7
  108. data/lib/puppet/sslcertificates.rb +41 -607
  109. data/lib/puppet/sslcertificates/ca.rb +291 -0
  110. data/lib/puppet/sslcertificates/certificate.rb +283 -0
  111. data/lib/puppet/statechange.rb +6 -1
  112. data/lib/puppet/storage.rb +67 -56
  113. data/lib/puppet/transaction.rb +25 -9
  114. data/lib/puppet/transportable.rb +102 -22
  115. data/lib/puppet/type.rb +1096 -315
  116. data/lib/puppet/type/component.rb +30 -21
  117. data/lib/puppet/type/cron.rb +409 -448
  118. data/lib/puppet/type/exec.rb +234 -174
  119. data/lib/puppet/type/group.rb +65 -82
  120. data/lib/puppet/type/nameservice.rb +247 -3
  121. data/lib/puppet/type/nameservice/netinfo.rb +29 -40
  122. data/lib/puppet/type/nameservice/objectadd.rb +52 -66
  123. data/lib/puppet/type/nameservice/posix.rb +6 -194
  124. data/lib/puppet/type/package.rb +447 -295
  125. data/lib/puppet/type/package/apt.rb +51 -50
  126. data/lib/puppet/type/package/bsd.rb +82 -0
  127. data/lib/puppet/type/package/dpkg.rb +85 -88
  128. data/lib/puppet/type/package/rpm.rb +67 -63
  129. data/lib/puppet/type/package/sun.rb +119 -98
  130. data/lib/puppet/type/package/yum.rb +41 -37
  131. data/lib/puppet/type/parsedtype.rb +295 -0
  132. data/lib/puppet/type/parsedtype/host.rb +143 -0
  133. data/lib/puppet/type/parsedtype/port.rb +232 -0
  134. data/lib/puppet/type/parsedtype/sshkey.rb +129 -0
  135. data/lib/puppet/type/pfile.rb +484 -460
  136. data/lib/puppet/type/pfile/checksum.rb +237 -181
  137. data/lib/puppet/type/pfile/content.rb +67 -0
  138. data/lib/puppet/type/pfile/ensure.rb +212 -0
  139. data/lib/puppet/type/pfile/group.rb +106 -105
  140. data/lib/puppet/type/pfile/mode.rb +98 -101
  141. data/lib/puppet/type/pfile/source.rb +228 -209
  142. data/lib/puppet/type/pfile/type.rb +18 -21
  143. data/lib/puppet/type/pfile/uid.rb +127 -130
  144. data/lib/puppet/type/pfilebucket.rb +68 -63
  145. data/lib/puppet/type/schedule.rb +341 -0
  146. data/lib/puppet/type/service.rb +351 -255
  147. data/lib/puppet/type/service/base.rb +9 -14
  148. data/lib/puppet/type/service/debian.rb +32 -38
  149. data/lib/puppet/type/service/init.rb +130 -130
  150. data/lib/puppet/type/service/smf.rb +48 -20
  151. data/lib/puppet/type/state.rb +229 -16
  152. data/lib/puppet/type/symlink.rb +51 -63
  153. data/lib/puppet/type/tidy.rb +105 -102
  154. data/lib/puppet/type/user.rb +118 -180
  155. data/lib/puppet/util.rb +100 -6
  156. data/test/certmgr/certmgr.rb +0 -1
  157. data/test/client/client.rb +4 -4
  158. data/test/executables/puppetbin.rb +7 -14
  159. data/test/executables/puppetca.rb +18 -24
  160. data/test/executables/puppetd.rb +7 -16
  161. data/test/executables/puppetmasterd.rb +7 -9
  162. data/test/executables/puppetmodule.rb +11 -16
  163. data/test/language/ast.rb +11 -7
  164. data/test/language/interpreter.rb +1 -1
  165. data/test/language/scope.rb +2 -0
  166. data/test/language/snippets.rb +30 -5
  167. data/test/language/transportable.rb +77 -0
  168. data/test/other/config.rb +316 -0
  169. data/test/other/events.rb +22 -21
  170. data/test/other/log.rb +14 -14
  171. data/test/other/metrics.rb +4 -8
  172. data/test/other/overrides.rb +5 -5
  173. data/test/other/relationships.rb +4 -2
  174. data/test/other/storage.rb +64 -3
  175. data/test/other/transactions.rb +20 -20
  176. data/test/parser/parser.rb +7 -4
  177. data/test/puppet/conffiles.rb +12 -12
  178. data/test/puppet/defaults.rb +13 -11
  179. data/test/puppet/utiltest.rb +14 -11
  180. data/test/puppettest.rb +156 -48
  181. data/test/server/bucket.rb +2 -2
  182. data/test/server/fileserver.rb +6 -6
  183. data/test/server/logger.rb +19 -11
  184. data/test/server/master.rb +33 -4
  185. data/test/server/server.rb +2 -7
  186. data/test/types/basic.rb +5 -7
  187. data/test/types/component.rb +22 -18
  188. data/test/types/cron.rb +111 -44
  189. data/test/types/exec.rb +116 -59
  190. data/test/types/file.rb +262 -137
  191. data/test/types/filebucket.rb +13 -15
  192. data/test/types/fileignoresource.rb +12 -16
  193. data/test/types/filesources.rb +73 -48
  194. data/test/types/filetype.rb +13 -15
  195. data/test/types/group.rb +15 -13
  196. data/test/types/host.rb +146 -0
  197. data/test/types/package.rb +74 -63
  198. data/test/types/port.rb +139 -0
  199. data/test/types/query.rb +8 -8
  200. data/test/types/schedule.rb +335 -0
  201. data/test/types/service.rb +137 -21
  202. data/test/types/sshkey.rb +140 -0
  203. data/test/types/symlink.rb +3 -5
  204. data/test/types/tidy.rb +5 -14
  205. data/test/types/type.rb +67 -11
  206. data/test/types/user.rb +25 -23
  207. metadata +186 -122
  208. data/lib/puppet/type/pfile/create.rb +0 -108
  209. data/lib/puppet/type/pprocess.rb +0 -97
  210. data/lib/puppet/type/typegen.rb +0 -149
  211. data/lib/puppet/type/typegen/filerecord.rb +0 -243
  212. data/lib/puppet/type/typegen/filetype.rb +0 -316
  213. data/test/other/state.rb +0 -106
@@ -122,7 +122,7 @@ class TestBucket < Test::Unit::TestCase
122
122
 
123
123
  def setup
124
124
  super
125
- @bucket = File.join(Puppet[:puppetconf], "buckettesting")
125
+ @bucket = File.join(Puppet[:confdir], "buckettesting")
126
126
 
127
127
  @@tmpfiles << @bucket
128
128
  end
@@ -224,4 +224,4 @@ class TestBucket < Test::Unit::TestCase
224
224
  end
225
225
  end
226
226
 
227
- # $Id: bucket.rb 742 2005-11-16 17:12:11Z luke $
227
+ # $Id: bucket.rb 873 2006-02-07 23:12:33Z luke $
@@ -151,7 +151,7 @@ class TestFileServer < Test::Unit::TestCase
151
151
  }
152
152
 
153
153
  assert_nothing_raised {
154
- file = Puppet::Type::PFile[tmpfile]
154
+ file = Puppet.type(:file)[tmpfile]
155
155
  }
156
156
 
157
157
  output = "/\tfile"
@@ -317,7 +317,7 @@ class TestFileServer < Test::Unit::TestCase
317
317
 
318
318
 
319
319
  # create a deep dir
320
- basedir = "/tmp/remotefilecopying"
320
+ basedir = tempfile()
321
321
  testdir = "%s/with/some/sub/directories/for/testing" % basedir
322
322
  oldfile = File.join(testdir, "oldfile")
323
323
  assert_nothing_raised {
@@ -358,7 +358,7 @@ class TestFileServer < Test::Unit::TestCase
358
358
  )
359
359
  }
360
360
 
361
- basedir = "/tmp/remotefilecopying"
361
+ basedir = tempfile()
362
362
  dirs = %w{a set of directories}
363
363
  assert_nothing_raised {
364
364
  Dir.mkdir(basedir)
@@ -385,7 +385,7 @@ class TestFileServer < Test::Unit::TestCase
385
385
  # verify that 'describe' works as advertised
386
386
  def test_describe
387
387
  server = nil
388
- testdir = "/tmp/remotefilecopying"
388
+ testdir = tempfile()
389
389
  files = mktestfiles(testdir)
390
390
 
391
391
  file = nil
@@ -631,7 +631,7 @@ class TestFileServer < Test::Unit::TestCase
631
631
  def test_filereread
632
632
  server = nil
633
633
 
634
- dir = testdir()
634
+ dir = tstdir()
635
635
 
636
636
  files = mktestfiles(dir)
637
637
 
@@ -706,5 +706,5 @@ class TestFileServer < Test::Unit::TestCase
706
706
  end
707
707
  end
708
708
 
709
- # $Id: fileserver.rb 742 2005-11-16 17:12:11Z luke $
709
+ # $Id: fileserver.rb 805 2006-01-12 01:58:19Z luke $
710
710
 
@@ -13,6 +13,12 @@ require 'cgi'
13
13
  class TestLogger < Test::Unit::TestCase
14
14
  include ServerTest
15
15
 
16
+ def setup
17
+ super
18
+ #Puppet[:debug] = true
19
+ Puppet::Log.newdestination :console
20
+ end
21
+
16
22
  # Test the log driver manually
17
23
  def test_localaddlog
18
24
  logger = nil
@@ -23,7 +29,7 @@ class TestLogger < Test::Unit::TestCase
23
29
  msg = nil
24
30
  assert_nothing_raised {
25
31
  msg = Puppet::Log.create(
26
- :level => :info,
32
+ :level => :warning,
27
33
  :message => "This is a message"
28
34
  )
29
35
  }
@@ -43,13 +49,13 @@ class TestLogger < Test::Unit::TestCase
43
49
  msg = nil
44
50
  assert_nothing_raised {
45
51
  msg = Puppet::Log.create(
46
- :level => :info,
52
+ :level => :warning,
47
53
  :message => "This is a remote message"
48
54
  )
49
55
  }
50
56
 
51
57
  assert_nothing_raised {
52
- msg = CGI.escape(Marshal::dump(msg))
58
+ msg = CGI.escape(YAML.dump(msg))
53
59
  }
54
60
  assert_nothing_raised {
55
61
  logger.addlog(msg, "localhost", "127.0.0.1")
@@ -66,12 +72,12 @@ class TestLogger < Test::Unit::TestCase
66
72
  msg = nil
67
73
  assert_nothing_raised {
68
74
  msg = Puppet::Log.create(
69
- :level => :info,
75
+ :level => :warning,
70
76
  :message => "This is a logclient message"
71
77
  )
72
78
  }
73
79
 
74
- msg = CGI.escape(Marshal::dump(msg))
80
+ msg = CGI.escape(YAML.dump(msg))
75
81
 
76
82
  assert_nothing_raised {
77
83
  client.addlog(msg, "localhost", "127.0.0.1")
@@ -79,12 +85,14 @@ class TestLogger < Test::Unit::TestCase
79
85
  end
80
86
 
81
87
  # And now test over the network
82
- def test_logclient
88
+ # This test is disabled, since it doesn't work well and it's not the right
89
+ # solution anyway.
90
+ def disabled_test_logclient
83
91
  pid = nil
84
92
  clientlog = tempfile()
85
93
  serverlog = tempfile()
86
94
  Puppet.warning "serverlog is %s" % serverlog
87
- Puppet[:logdest] = clientlog
95
+ Puppet::Log.newdestination clientlog
88
96
  Puppet::Log.close(:syslog)
89
97
 
90
98
  # For testing
@@ -105,7 +113,7 @@ class TestLogger < Test::Unit::TestCase
105
113
  # Start our server
106
114
  serverpid = fork {
107
115
  Puppet::Log.close(clientlog)
108
- Puppet[:logdest] = serverlog
116
+ Puppet::Log.newdestination serverlog
109
117
  assert_nothing_raised() {
110
118
  trap(:INT) { logger.shutdown }
111
119
  logger.start
@@ -132,7 +140,7 @@ class TestLogger < Test::Unit::TestCase
132
140
  :warning => "XMLRPC2",
133
141
  :err => "XMLRPC3"
134
142
  }.each { |level, str|
135
- msg = CGI.escape(Marshal::dump(Puppet::Log.create(
143
+ msg = CGI.escape(YAML.dump(Puppet::Log.create(
136
144
  :level => level,
137
145
  :message => str
138
146
  )))
@@ -144,7 +152,7 @@ class TestLogger < Test::Unit::TestCase
144
152
  # and now use the normal client action
145
153
 
146
154
  # Set the log destination to be the server
147
- Puppet[:logdest] = "localhost:%s" % @@port
155
+ Puppet::Log.newdestination "localhost:%s" % @@port
148
156
 
149
157
  # And now do some logging
150
158
  assert_nothing_raised {
@@ -172,4 +180,4 @@ class TestLogger < Test::Unit::TestCase
172
180
  end
173
181
  end
174
182
 
175
- # $Id: logger.rb 751 2005-11-22 05:54:25Z luke $
183
+ # $Id: logger.rb 873 2006-02-07 23:12:33Z luke $
@@ -114,7 +114,7 @@ class TestMaster < Test::Unit::TestCase
114
114
  :File => manifest,
115
115
  :UseNodes => false,
116
116
  :Local => true,
117
- :FileTimeout => 0.5
117
+ :FileTimeout => 15
118
118
  )
119
119
  }
120
120
  assert_nothing_raised() {
@@ -123,28 +123,57 @@ class TestMaster < Test::Unit::TestCase
123
123
  )
124
124
  }
125
125
 
126
+ # The client doesn't have a config, so it can't be up to date
127
+ assert(! client.fresh?, "Client is incorrectly up to date")
128
+
126
129
  assert_nothing_raised {
127
130
  client.getconfig
128
131
  client.apply
129
132
  }
130
133
 
134
+ # Now it should be up to date
135
+ assert(client.fresh?, "Client is not up to date")
136
+
137
+ # Cache this value for later
138
+ parse1 = master.freshness
139
+
140
+ # Verify the config got applied
131
141
  assert(FileTest.exists?(@createdfile),
132
142
  "Created file %s does not exist" % @createdfile)
133
- sleep 1
134
143
  Puppet::Type.allclear
135
144
 
145
+ sleep 1.5
146
+ # Create a new manifest
136
147
  File.open(manifest, "w") { |f|
137
- f.puts "file { \"%s\": create => true }\n" % file2
148
+ f.puts "file { \"%s\": ensure => file }\n" % file2
149
+ }
150
+
151
+ # Verify that the master doesn't immediately reparse the file; we
152
+ # want to wait through the timeout
153
+ assert_equal(parse1, master.freshness, "Master did not wait through timeout")
154
+ assert(client.fresh?, "Client is not up to date")
155
+
156
+ assert_nothing_raised("Could not resent the file timeout") {
157
+ master.filetimeout = 0
138
158
  }
159
+ assert_equal(0, master.filetimeout)
160
+
161
+ # Now make sure the master does reparse
162
+ #Puppet.notice "%s vs %s" % [parse1, master.freshness]
163
+ assert(parse1 != master.freshness, "Master did not reparse file")
164
+ assert(! client.fresh?, "Client is incorrectly up to date")
165
+
166
+ # Retrieve and apply the new config
139
167
  assert_nothing_raised {
140
168
  client.getconfig
141
169
  client.apply
142
170
  }
171
+ assert(client.fresh?, "Client is not up to date")
143
172
 
144
173
  assert(FileTest.exists?(file2), "Second file %s does not exist" % file2)
145
174
  end
146
175
 
147
176
  end
148
177
 
149
- # $Id: master.rb 751 2005-11-22 05:54:25Z luke $
178
+ # $Id: master.rb 845 2006-01-18 21:30:56Z luke $
150
179
 
@@ -13,7 +13,7 @@ require 'xmlrpc/client'
13
13
  require 'test/unit'
14
14
  require 'puppettest.rb'
15
15
 
16
- # $Id: server.rb 747 2005-11-22 03:54:30Z luke $
16
+ # $Id: server.rb 816 2006-01-12 21:04:06Z luke $
17
17
 
18
18
  if ARGV.length > 0 and ARGV[0] == "short"
19
19
  $short = true
@@ -23,10 +23,6 @@ end
23
23
 
24
24
  class TestServer < Test::Unit::TestCase
25
25
  include ServerTest
26
- def teardown
27
- super
28
- #print "\n\n\n\n" if Puppet[:debug]
29
- end
30
26
 
31
27
  # test that we can connect to the server
32
28
  # we have to use fork here, because we apparently can't use threads
@@ -120,9 +116,8 @@ class TestServer < Test::Unit::TestCase
120
116
  assert_nothing_raised() {
121
117
  retval = client.getconfig
122
118
  }
123
- assert_instance_of(Puppet::TransBucket, retval,
124
- "Server returned something other than a TransBucket")
125
119
 
120
+ # Try it again, just for kicks
126
121
  assert_nothing_raised() {
127
122
  retval = client.getconfig
128
123
  }
@@ -19,10 +19,8 @@ class TestBasic < Test::Unit::TestCase
19
19
  @configfile = nil
20
20
  @sleeper = nil
21
21
 
22
- Puppet[:loglevel] = :debug if __FILE__ == $0
23
-
24
22
  assert_nothing_raised() {
25
- @component = Puppet::Type::Component.create(
23
+ @component = Puppet.type(:component).create(
26
24
  :name => "yaytest",
27
25
  :type => "testing"
28
26
  )
@@ -31,14 +29,14 @@ class TestBasic < Test::Unit::TestCase
31
29
  assert_nothing_raised() {
32
30
  @filepath = tempfile()
33
31
  @@tmpfiles << @filepath
34
- @configfile = Puppet::Type::PFile.create(
32
+ @configfile = Puppet.type(:file).create(
35
33
  :path => @filepath,
36
- :create => true,
34
+ :ensure => "file",
37
35
  :checksum => "md5"
38
36
  )
39
37
  }
40
38
  assert_nothing_raised() {
41
- @sleeper = Puppet::Type::Service.create(
39
+ @sleeper = Puppet.type(:service).create(
42
40
  :name => "sleeper",
43
41
  :type => "init",
44
42
  :path => File.join($puppetbase,"examples/root/etc/init.d"),
@@ -116,4 +114,4 @@ class TestBasic < Test::Unit::TestCase
116
114
  end
117
115
  end
118
116
 
119
- # $Id: basic.rb 737 2005-10-30 04:07:52Z luke $
117
+ # $Id: basic.rb 873 2006-02-07 23:12:33Z luke $
@@ -8,7 +8,7 @@ require 'puppet'
8
8
  require 'puppettest'
9
9
  require 'test/unit'
10
10
 
11
- # $Id: component.rb 742 2005-11-16 17:12:11Z luke $
11
+ # $Id: component.rb 808 2006-01-12 05:02:51Z luke $
12
12
 
13
13
  class TestComponent < Test::Unit::TestCase
14
14
  include TestPuppet
@@ -22,7 +22,7 @@ class TestComponent < Test::Unit::TestCase
22
22
  looped = 0
23
23
  loop do
24
24
  looped += 1
25
- if looped > 1000
25
+ if looped > 2000
26
26
  raise "Reached limit of looping"
27
27
  break
28
28
  end
@@ -40,9 +40,9 @@ class TestComponent < Test::Unit::TestCase
40
40
  unless num
41
41
  num = randnum(1000)
42
42
  end
43
- name = "/tmp/componentrandfile" + num.to_s
43
+ name = tempfile() + num.to_s
44
44
 
45
- file = Puppet::Type::PFile.create(
45
+ file = Puppet.type(:file).create(
46
46
  :path => name,
47
47
  :checksum => "md5"
48
48
  )
@@ -51,7 +51,7 @@ class TestComponent < Test::Unit::TestCase
51
51
  end
52
52
 
53
53
  def mkcomp
54
- Puppet::Type::Component.create(:name => "component_" + randnum(1000).to_s)
54
+ Puppet.type(:component).create(:name => "component_" + randnum(1000).to_s)
55
55
  end
56
56
 
57
57
  def mkrandcomp(numfiles, numdivs)
@@ -89,6 +89,7 @@ class TestComponent < Test::Unit::TestCase
89
89
  comp.push obj
90
90
  }
91
91
 
92
+ Puppet::Type.finalize
92
93
  comp
93
94
  end
94
95
 
@@ -107,19 +108,19 @@ class TestComponent < Test::Unit::TestCase
107
108
  end
108
109
 
109
110
  def test_correctsorting
110
- tmpfile = "/tmp/comptesting"
111
+ tmpfile = tempfile()
111
112
  @@tmpfiles.push tmpfile
112
113
  trans = nil
113
114
  cmd = nil
114
115
  File.open(tmpfile, File::WRONLY|File::CREAT|File::TRUNC) { |of|
115
116
  of.puts rand(100)
116
117
  }
117
- file = Puppet::Type::PFile.create(
118
+ file = Puppet.type(:file).create(
118
119
  :path => tmpfile,
119
120
  :checksum => "md5"
120
121
  )
121
122
  assert_nothing_raised {
122
- cmd = Puppet::Type::Exec.create(
123
+ cmd = Puppet.type(:exec).create(
123
124
  :command => "pwd",
124
125
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
125
126
  :subscribe => [[file.class.name,file.name]],
@@ -129,7 +130,7 @@ class TestComponent < Test::Unit::TestCase
129
130
 
130
131
  order = nil
131
132
  assert_nothing_raised {
132
- order = Puppet::Type::Component.sort([file, cmd])
133
+ order = Puppet.type(:component).sort([file, cmd])
133
134
  }
134
135
 
135
136
  [cmd, file].each { |obj|
@@ -138,19 +139,19 @@ class TestComponent < Test::Unit::TestCase
138
139
  end
139
140
 
140
141
  def test_correctflattening
141
- tmpfile = "/tmp/comptesting"
142
+ tmpfile = tempfile()
142
143
  @@tmpfiles.push tmpfile
143
144
  trans = nil
144
145
  cmd = nil
145
146
  File.open(tmpfile, File::WRONLY|File::CREAT|File::TRUNC) { |of|
146
147
  of.puts rand(100)
147
148
  }
148
- file = Puppet::Type::PFile.create(
149
+ file = Puppet.type(:file).create(
149
150
  :path => tmpfile,
150
151
  :checksum => "md5"
151
152
  )
152
153
  assert_nothing_raised {
153
- cmd = Puppet::Type::Exec.create(
154
+ cmd = Puppet.type(:exec).create(
154
155
  :command => "pwd",
155
156
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
156
157
  :subscribe => [[file.class.name,file.name]],
@@ -158,7 +159,8 @@ class TestComponent < Test::Unit::TestCase
158
159
  )
159
160
  }
160
161
 
161
- comp = Puppet::Type::Component.create(:name => "RefreshTest")
162
+ Puppet::Type.finalize
163
+ comp = Puppet.type(:component).create(:name => "RefreshTest")
162
164
  [cmd, file].each { |obj|
163
165
  comp.push obj
164
166
  }
@@ -183,12 +185,12 @@ class TestComponent < Test::Unit::TestCase
183
185
  File.open(tmpfile, File::WRONLY|File::CREAT|File::TRUNC) { |of|
184
186
  of.puts rand(100)
185
187
  }
186
- file = Puppet::Type::PFile.create(
188
+ file = Puppet.type(:file).create(
187
189
  :path => tmpfile,
188
190
  :checksum => "md5"
189
191
  )
190
192
  assert_nothing_raised {
191
- cmd = Puppet::Type::Exec.create(
193
+ cmd = Puppet.type(:exec).create(
192
194
  :command => "pwd",
193
195
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
194
196
  :refreshonly => true
@@ -202,6 +204,7 @@ class TestComponent < Test::Unit::TestCase
202
204
  ecomp[:subscribe] = [[fcomp.class.name,fcomp.name]]
203
205
 
204
206
  comp = newcomp("bflatten", ecomp, fcomp)
207
+ Puppet::Type.finalize
205
208
  objects = nil
206
209
  assert_nothing_raised {
207
210
  objects = comp.flatten
@@ -224,12 +227,12 @@ class TestComponent < Test::Unit::TestCase
224
227
  File.open(tmpfile, File::WRONLY|File::CREAT|File::TRUNC) { |of|
225
228
  of.puts rand(100)
226
229
  }
227
- file = Puppet::Type::PFile.create(
230
+ file = Puppet.type(:file).create(
228
231
  :path => tmpfile,
229
232
  :checksum => "md5"
230
233
  )
231
234
  assert_nothing_raised {
232
- cmd = Puppet::Type::Exec.create(
235
+ cmd = Puppet.type(:exec).create(
233
236
  :command => "pwd",
234
237
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
235
238
  :refreshonly => true
@@ -238,7 +241,7 @@ class TestComponent < Test::Unit::TestCase
238
241
 
239
242
  ocmd = nil
240
243
  assert_nothing_raised {
241
- ocmd = Puppet::Type::Exec.create(
244
+ ocmd = Puppet.type(:exec).create(
242
245
  :command => "echo true",
243
246
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
244
247
  :refreshonly => true
@@ -254,6 +257,7 @@ class TestComponent < Test::Unit::TestCase
254
257
  ocmd[:subscribe] = [[cmd.class.name,cmd.name]]
255
258
 
256
259
  comp = newcomp("bflatten", ocomp, ecomp, fcomp)
260
+ Puppet::Type.finalize
257
261
  objects = nil
258
262
  assert_nothing_raised {
259
263
  objects = comp.flatten