For the other symlink tests I verified both file and directory symlinks.  You're only covering directory here.

```ruby
      it "should not allow permissions to be set on file symlinks (PUP-2338)" do
        target_path = Tempfile.new('symlink_target', top_level_path)

        resource[:target] = File.expand_path("fake",resource[:target])
        Puppet::Util::Windows::File.symlink(target_path,resource[:target])

        permissions = [Puppet::Type::Acl::Ace.new({'identity' => 'Everyone','rights' => ['full']}, provider)]
        expect {
          set_perms(permissions)
        }.to raise_error(Puppet::ResourceError, /Puppet cannot manage ACLs of symbolic links/)
      end
```

Not sure if you want to think about adding in something like the above.  A couple of issues I ran into

* The standard Puppet `tmpfile` is not really available to modules since it lives in the `spec` folder of the Puppet gem.  Seems like some of that stuff should be pulled out.
* Because I'm calling `Tempfile.new` here directly, this requires some manual cleanup afterwards.  `tmpfile` keeps track of the master list of created files, then flushes them all when the test run terminates.