puppetlabs/puppetlabs-registry — pull request #13 by jeffmccune (2012-05-15 02:08:02+00:00)
Title: This pull request is based off the topic branch staged in [PR-12](https://github.com/puppetlabs/puppetlabs-registry/pull/12)

Please don't merge this until PR-12 has been merged into master.

This topic branch should be rebased on master before merge. I'm staging it
largely for peer review at this point.

The main difference between PR-12 and this PR is in commit 9639d88 "Add
acceptance test for registry_value provider" (Which will likely be re-based
away)

Add acceptance tests for registry_value provider

Without this patch there is extremely limited acceptance test coverage
for the `registry_value` provider.

This patch adds a new test case which will be a comprehensive place to
test the behavior of the registry_value provider.

The test coverage provided by this patch exercises the following things:

Create registry_value resources with the following data types:

* string (REG_SZ)
* expand (REG_EXPAND_SZ)
* array (REG_MULTI_SZ)
* dword (REG_DWORD)
* qword (REG_QWORD)
* binary (REG_BINARY)

This list is comprehensive against what the registry_value type supports
at the time of this patch.

The tests will then re-declare all of these resources used to create
these values, only using slightly different data. This exercises the
transaction aspect of the RAL, ensuring we properly display change
methods.

At each step of create, change, we run puppet a second time and ensure
the expected create or change methods are not displayed. This is our
assurance Puppet is idempotent and the resources were actually properly
managed to begin with.