 
   Optionally accepts a second argument `dest-dir`, which specifies the location
   of Puppet's $confdir.  If this argument is not provided, defaults to
-  `testutils/conf-dir`."
+  `jruby-testutils/conf-dir`."
   ([puppet-conf-files]
-   (with-puppet-conf-files puppet-conf-files conf-dir))
-  ([puppet-conf-files :- {schema/Str (schema/pred (some-fn string? #(instance? File %)))}
+   (with-puppet-conf-fixture puppet-conf-files conf-dir))
+  ([puppet-conf-files :- PuppetConfFiles
     dest-dir :- schema/Str]
-
-   (let [target-paths (reduce
-                       (fn [acc filename]
-                         (assoc acc filename (fs/file dest-dir filename)))
-                       {}
-                       (keys puppet-conf-files))]
-     (fn [f]
-       (doseq [filename (keys puppet-conf-files)]
-         (fs/copy+ (get puppet-conf-files filename)
-                   (get target-paths filename)))
-       (try
-         (f)
-         (finally
-           (doseq [target-path (vals target-paths)]
-             (fs/delete target-path))))))))
+   (fn [f]
+     (with-puppet-conf-files puppet-conf-files dest-dir (f)))))
 
 (defn with-puppet-conf
   "This function returns a test fixture that will copy a specified puppet.conf

            [cheshire.core :as json]
            [puppetlabs.http.client.sync :as http-client])
  (:import (java.io File)))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Default settings

  ([puppet-conf-file]
   (with-puppet-conf puppet-conf-file conf-dir))
  ([puppet-conf-file dest-dir]
   (with-puppet-conf-fixture {"puppet.conf" puppet-conf-file} dest-dir)))
