The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 2565
INSTALL 043
LICENSE 44
MANIFEST 418
META.json 8688
META.yml 12525
Makefile.PL 1418
README 150
README.md 0192
README.mkdn 1680
cpanfile 036
dist.ini 013
lib/Test/Net/RabbitMQ.pm 26115
t/00-compile.t 051
t/00-report-prereqs.dd 046
t/00-report-prereqs.t 0183
t/author-eol.t 043
t/author-no-tabs.t 043
t/author-pod-spell.t 044
t/pubsub.t 116
t/queue.t 048
t/release-cpan-changes.t 019
t/release-pod-coverage.t 052
t/release-pod-no404s.t 029
t/release-pod-syntax.t 31
t/release-portability.t 020
t/release-synopsis.t 160
t/release-test-version.t 030
weaver.ini 023
29 files changed (This is a version diff) 2962365
@@ -1,37 +1,77 @@
-Revision history for Test-Net-RabbitMQ
+0.13     2015-04-22
 
-0.10 Oct 11 2014
+* Make all delivery tags a Math::UInt64 object to match the latest
+  Net::AMQ::RabbitMQ changes (as of version 0.100000 of that library). (Ran
+  Eilam)
 
-0.09 Jun 30 2012
-    * Add tx_select, tx_commit, and tx_rollback support. (bluefeet)
 
-0.08    Tue Feb 28, 2012
-    * Make queues FIFO, not LIFO. (Thanks Ryan Olson!)
+0.12     2015-01-19
 
-    * Support the tx_select, tx_commit, and tx_rollback methods.
+* Added the redelivered key to messages returned by recv(). This matches a
+  change in Net::AMQP::RabbitMQ 0.007002.
+* The consume() method now returns a consumer tag, either the one you pass or
+  an auto-generated tag.
+* Implemented a cancel() method.
+* Partially implemented exchange_delete() and queue_delete() methods. These
+  aren't very smart and will not throw errors when the real RabbitMQ would,
+  but the methods at least exist and delete any existing mock queue or
+  exchange.
+* Implement "passive => 1" option for queue_declare, primarily to make it
+  possible to get a queue's message count.
+* Calling queue_declare would wipe out the contents of the queue if it already
+  existed.
 
-0.07    Fri Feb 24, 2012
-    * Rather than just return the body of the queued message, return all the
-      metainformation that Net::RabbitMQ would have returned. (Thanks Ryan Olson!)
 
-0.06    Fri Jul 2, 2010
-    * Mention the name of the queue get when is called and the queue doesn't exist.
+0.10     2014-10-11
 
-0.05    Thu Jul 1, 2010
-    * Add debug attribute for printing out publishes
+* Message properties now default to an empty hash if none are specified. This
+  matches the behavior of Net::AMQP::RabbitMQ. (Dave Rolsky)
 
-0.04    Fri Jun 4, 2010
-    * Default exchange to amq.direct
-    * Add support for wildcard bindings (# and *)
 
-0.03    Tue May 25, 2010
-    * Fix bug in get implementation
+0.09     2012-06-30
 
-0.02    Tue May 25, 2010
-    * Implement get method.
-    * POD fixes
-    
+* Add tx_select, tx_commit, and tx_rollback support. (bluefeet)
+
+
+0.08     2012-02-28
+
+* Make queues FIFO, not LIFO. (Thanks Ryan Olson!)
+* Support the tx_select, tx_commit, and tx_rollback methods.
+
+
+0.07     2012-02-24
+
+* Rather than just return the body of the queued message, return all the
+  metainformation that Net::RabbitMQ would have returned. (Thanks Ryan Olson!)
+
+
+0.06     2010-07-02
+
+* Mention the name of the queue get when is called and the queue doesn't exist.
+
+
+0.05     2010-07-01
 
-0.01    Date/time
-        First version, released on an unsuspecting world.
+* Add debug attribute for printing out publishes
+
+
+0.04     2010-06-04
+
+* Default exchange to amq.direct
+* Add support for wildcard bindings (# and *)
+
+
+0.03     2010-05-25
+
+* Fix bug in get implementation
+
+
+0.02     2010-05-25
+
+* Implement get method.
+* POD fixes
+
+    
+0.01     2010-03-05
 
+* First version, released on an unsuspecting world.
@@ -0,0 +1,43 @@
+This is the Perl distribution Test-Net-RabbitMQ.
+
+Installing Test-Net-RabbitMQ is straightforward.
+
+## Installation with cpanm
+
+If you have cpanm, you only need one line:
+
+    % cpanm Test::Net::RabbitMQ
+
+If you are installing into a system-wide directory, you may need to pass the
+"-S" flag to cpanm, which uses sudo to install the module:
+
+    % cpanm -S Test::Net::RabbitMQ
+
+## Installing with the CPAN shell
+
+Alternatively, if your CPAN shell is set up, you should just be able to do:
+
+    % cpan Test::Net::RabbitMQ
+
+## Manual installation
+
+As a last resort, you can manually install it. Download the tarball, untar it,
+then build it:
+
+    % perl Makefile.PL
+    % make && make test
+
+Then install it:
+
+    % make install
+
+If you are installing into a system-wide directory, you may need to run:
+
+    % sudo make install
+
+## Documentation
+
+Test-Net-RabbitMQ documentation is available as POD.
+You can run perldoc from a shell to read the documentation:
+
+    % perldoc Test::Net::RabbitMQ
@@ -1,4 +1,4 @@
-This software is copyright (c) 2014 by Cory G Watson.
+This software is copyright (c) 2015 by Cory G Watson.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2014 by Cory G Watson.
+This software is Copyright (c) 2015 by Cory G Watson.
 
 This is free software, licensed under:
 
@@ -22,7 +22,7 @@ This is free software, licensed under:
                      Version 1, February 1989
 
  Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Suite 500, Boston, MA  02110-1335  USA
+ 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
@@ -272,7 +272,7 @@ That's all there is to it!
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2014 by Cory G Watson.
+This software is Copyright (c) 2015 by Cory G Watson.
 
 This is free software, licensed under:
 
@@ -1,21 +1,35 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.012.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.035.
 Changes
+INSTALL
 LICENSE
 MANIFEST
 META.json
 META.yml
 Makefile.PL
-README
-README.mkdn
+README.md
+cpanfile
+dist.ini
 ignore.txt
 lib/Test/Net/RabbitMQ.pm
+t/00-compile.t
+t/00-report-prereqs.dd
+t/00-report-prereqs.t
 t/ack.t
+t/author-eol.t
+t/author-no-tabs.t
+t/author-pod-spell.t
 t/channels.t
 t/connections.t
 t/fifo.t
 t/pubsub.t
+t/queue.t
+t/release-cpan-changes.t
+t/release-pod-coverage.t
+t/release-pod-no404s.t
 t/release-pod-syntax.t
-t/release-synopsis.t
+t/release-portability.t
+t/release-test-version.t
 t/simple.t
 t/tx.t
 t/wildcard.t
+weaver.ini
@@ -4,7 +4,7 @@
       "Cory G Watson <gphat@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 5.012, CPAN::Meta::Converter version 2.133380",
+   "generated_by" : "Dist::Zilla version 5.035, CPAN::Meta::Converter version 2.143240",
    "license" : [
       "perl_5"
    ],
@@ -16,40 +16,720 @@
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "6.30"
+            "ExtUtils::MakeMaker" : "0"
          }
       },
       "develop" : {
          "requires" : {
-            "Test::Pod" : "1.41"
+            "Perl::Critic" : "1.123",
+            "Perl::Tidy" : "20140711",
+            "Pod::Coverage::TrustPod" : "0",
+            "Test::CPAN::Changes" : "0.19",
+            "Test::EOL" : "0",
+            "Test::More" : "0.88",
+            "Test::NoTabs" : "0",
+            "Test::Pod" : "1.41",
+            "Test::Pod::Coverage" : "1.08",
+            "Test::Spelling" : "0.12",
+            "Test::Version" : "1"
          }
       },
       "runtime" : {
          "requires" : {
+            "Math::Int64" : "0.34",
             "Moose" : "0",
             "strict" : "0",
             "warnings" : "0"
          }
       },
       "test" : {
+         "recommends" : {
+            "CPAN::Meta" : "2.120900"
+         },
          "requires" : {
+            "ExtUtils::MakeMaker" : "0",
+            "File::Spec" : "0",
+            "IO::Handle" : "0",
+            "IPC::Open3" : "0",
             "Test::Exception" : "0",
-            "Test::More" : "0"
+            "Test::More" : "0.96",
+            "perl" : "5.006"
          }
       }
    },
+   "provides" : {
+      "Test::Net::RabbitMQ" : {
+         "file" : "lib/Test/Net/RabbitMQ.pm",
+         "version" : "0.13"
+      }
+   },
    "release_status" : "stable",
    "resources" : {
       "bugtracker" : {
-         "web" : "https://github.com/gphat/test-net-rabbitmq/issues"
+         "mailto" : "bug-test-net-rabbitmq@rt.cpan.org",
+         "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Net-RabbitMQ"
       },
-      "homepage" : "https://github.com/gphat/test-net-rabbitmq",
+      "homepage" : "http://metacpan.org/release/Test-Net-RabbitMQ",
       "repository" : {
          "type" : "git",
-         "url" : "https://github.com/gphat/test-net-rabbitmq.git",
+         "url" : "git://github.com/gphat/test-net-rabbitmq.git",
          "web" : "https://github.com/gphat/test-net-rabbitmq"
       }
    },
-   "version" : "0.10"
+   "version" : "0.13",
+   "x_Dist_Zilla" : {
+      "perl" : {
+         "version" : "5.016003"
+      },
+      "plugins" : [
+         {
+            "class" : "Dist::Zilla::Plugin::MakeMaker",
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 1
+               }
+            },
+            "name" : "@DROLSKY/MakeMaker",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Authority",
+            "name" : "@DROLSKY/Authority",
+            "version" : "1.009"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::AutoPrereqs",
+            "name" : "@DROLSKY/AutoPrereqs",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CopyFilesFromBuild",
+            "name" : "@DROLSKY/CopyFilesFromBuild",
+            "version" : "0.150250"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::GatherDir",
+            "config" : {
+               "Dist::Zilla::Plugin::GatherDir" : {
+                  "exclude_filename" : [
+                     "README.md",
+                     "cpanfile",
+                     "Makefile.PL",
+                     "LICENSE",
+                     "Build.PL"
+                  ],
+                  "exclude_match" : [],
+                  "follow_symlinks" : "0",
+                  "include_dotfiles" : "0",
+                  "prefix" : "",
+                  "prune_directory" : [],
+                  "root" : "."
+               },
+               "Dist::Zilla::Plugin::Git::GatherDir" : {
+                  "include_untracked" : "0"
+               }
+            },
+            "name" : "@DROLSKY/Git::GatherDir",
+            "version" : "2.033"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::GitHub::Meta",
+            "name" : "@DROLSKY/GitHub::Meta",
+            "version" : "0.40"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::GitHub::Update",
+            "name" : "@DROLSKY/GitHub::Update",
+            "version" : "0.40"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaResources",
+            "name" : "@DROLSKY/MetaResources",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
+            "config" : {
+               "Dist::Zilla::Plugin::MetaProvides::Package" : {
+                  "finder_objects" : [
+                     {
+                        "class" : "Dist::Zilla::Plugin::FinderCode",
+                        "name" : "@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+                        "version" : "5.035"
+                     }
+                  ]
+               },
+               "Dist::Zilla::Role::MetaProvider::Provider" : {
+                  "inherit_missing" : "1",
+                  "inherit_version" : "1",
+                  "meta_noindex" : "1"
+               }
+            },
+            "name" : "@DROLSKY/MetaProvides::Package",
+            "version" : "2.003001"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::NextRelease",
+            "name" : "@DROLSKY/NextRelease",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "test",
+                  "type" : "requires"
+               }
+            },
+            "name" : "@DROLSKY/Test::More with subtest()",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "develop",
+                  "type" : "requires"
+               }
+            },
+            "name" : "@DROLSKY/Modules for use with tidyall",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PromptIfStale",
+            "config" : {
+               "Dist::Zilla::Plugin::PromptIfStale" : {
+                  "check_all_plugins" : "1",
+                  "check_all_prereqs" : "1",
+                  "modules" : [],
+                  "phase" : "release",
+                  "skip" : [
+                     "Dist::Zilla::Plugin::DROLSKY::Contributors",
+                     "Dist::Zilla::Plugin::DROLSKY::License",
+                     "Dist::Zilla::Plugin::DROLSKY::TidyAll"
+                  ]
+               }
+            },
+            "name" : "@DROLSKY/PromptIfStale",
+            "version" : "0.041"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
+            "name" : "@DROLSKY/README.md in build",
+            "version" : "0.150250"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
+            "name" : "@DROLSKY/README.md in root",
+            "version" : "0.150250"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable",
+            "name" : "@DROLSKY/Test::Pod::Coverage::Configurable",
+            "version" : "0.05"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::PodSpelling",
+            "name" : "@DROLSKY/Test::PodSpelling",
+            "version" : "2.006008"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
+            "name" : "@DROLSKY/Test::ReportPrereqs",
+            "version" : "0.021"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::Version",
+            "name" : "@DROLSKY/Test::Version",
+            "version" : "0.003001"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ManifestSkip",
+            "name" : "@DROLSKY/ManifestSkip",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaYAML",
+            "name" : "@DROLSKY/MetaYAML",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::License",
+            "name" : "@DROLSKY/License",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ExtraTests",
+            "name" : "@DROLSKY/ExtraTests",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ExecDir",
+            "name" : "@DROLSKY/ExecDir",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ShareDir",
+            "name" : "@DROLSKY/ShareDir",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Manifest",
+            "name" : "@DROLSKY/Manifest",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckVersionIncrement",
+            "name" : "@DROLSKY/CheckVersionIncrement",
+            "version" : "0.121750"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::TestRelease",
+            "name" : "@DROLSKY/TestRelease",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ConfirmRelease",
+            "name" : "@DROLSKY/ConfirmRelease",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::UploadToCPAN",
+            "name" : "@DROLSKY/UploadToCPAN",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
+            "name" : "@DROLSKY/CheckPrereqsIndexed",
+            "version" : "0.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CPANFile",
+            "name" : "@DROLSKY/CPANFile",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::DROLSKY::Contributors",
+            "name" : "@DROLSKY/DROLSKY::Contributors",
+            "version" : "0.32"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::DROLSKY::License",
+            "name" : "@DROLSKY/DROLSKY::License",
+            "version" : "0.32"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch",
+            "config" : {
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@DROLSKY/Git::CheckFor::CorrectBranch",
+            "version" : "0.013"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts",
+            "config" : {
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@DROLSKY/Git::CheckFor::MergeConflicts",
+            "version" : "0.013"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Contributors",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Contributors" : {
+                  "include_authors" : "0",
+                  "include_releaser" : "1",
+                  "order_by" : "name",
+                  "paths" : []
+               }
+            },
+            "name" : "@DROLSKY/Git::Contributors",
+            "version" : "0.011"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::InstallGuide",
+            "name" : "@DROLSKY/InstallGuide",
+            "version" : "1.200006"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Meta::Contributors",
+            "name" : "@DROLSKY/Meta::Contributors",
+            "version" : "0.002"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaConfig",
+            "name" : "@DROLSKY/MetaConfig",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaJSON",
+            "name" : "@DROLSKY/MetaJSON",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::RewriteVersion",
+            "name" : "@DROLSKY/RewriteVersion",
+            "version" : "0.009"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::SurgicalPodWeaver",
+            "config" : {
+               "Dist::Zilla::Plugin::PodWeaver" : {
+                  "finder" : [
+                     ":InstallModules",
+                     ":ExecFiles"
+                  ],
+                  "plugins" : [
+                     {
+                        "class" : "Pod::Weaver::Plugin::EnsurePod5",
+                        "name" : "@CorePrep/EnsurePod5",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::H1Nester",
+                        "name" : "@CorePrep/H1Nester",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Name",
+                        "name" : "Name",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Version",
+                        "name" : "Version",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "SYNOPSIS",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "DESCRIPTION",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "OVERVIEW",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "prelude",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Leftovers",
+                        "name" : "Leftovers",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "ATTRIBUTES",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "METHODS",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "postlude",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Authors",
+                        "name" : "Authors",
+                        "version" : "4.010"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Legal",
+                        "name" : "Legal",
+                        "version" : "4.010"
+                     }
+                  ]
+               }
+            },
+            "name" : "@DROLSKY/SurgicalPodWeaver",
+            "version" : "0.0023"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
+            "name" : "@DROLSKY/PodSyntaxTests",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
+            "name" : "@DROLSKY/Test::CPAN::Changes",
+            "version" : "0.009"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::Compile",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::Compile" : {
+                  "bail_out_on_fail" : "0",
+                  "fail_on_warning" : "author",
+                  "fake_home" : "0",
+                  "filename" : "t/00-compile.t",
+                  "module_finder" : [
+                     ":InstallModules"
+                  ],
+                  "needs_display" : "0",
+                  "phase" : "test",
+                  "script_finder" : [
+                     ":ExecFiles"
+                  ],
+                  "skips" : []
+               }
+            },
+            "name" : "@DROLSKY/Test::Compile",
+            "version" : "2.052"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::EOL",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::EOL" : {
+                  "filename" : "xt/author/eol.t",
+                  "finder" : [
+                     ":InstallModules",
+                     ":ExecFiles",
+                     ":TestFiles"
+                  ],
+                  "trailing_whitespace" : "1"
+               }
+            },
+            "name" : "@DROLSKY/Test::EOL",
+            "version" : "0.17"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::NoTabs",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::NoTabs" : {
+                  "filename" : "xt/author/no-tabs.t",
+                  "finder" : [
+                     ":InstallModules",
+                     ":ExecFiles",
+                     ":TestFiles"
+                  ]
+               }
+            },
+            "name" : "@DROLSKY/Test::NoTabs",
+            "version" : "0.13"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::Pod::No404s",
+            "name" : "@DROLSKY/Test::Pod::No404s",
+            "version" : "1.001"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::Portability",
+            "name" : "@DROLSKY/Test::Portability",
+            "version" : "2.000006"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Check",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Check" : {
+                  "untracked_files" : "die"
+               },
+               "Dist::Zilla::Role::Git::DirtyFiles" : {
+                  "allow_dirty" : [
+                     "README.md",
+                     "cpanfile",
+                     "Makefile.PL",
+                     "LICENSE",
+                     "Build.PL",
+                     "Changes",
+                     "CONTRIBUTING.md"
+                  ],
+                  "allow_dirty_match" : [],
+                  "changelog" : "Changes"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@DROLSKY/Git::Check",
+            "version" : "2.033"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Commit",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Commit" : {
+                  "add_files_in" : [],
+                  "commit_msg" : "v%v%n%n%c",
+                  "time_zone" : "local"
+               },
+               "Dist::Zilla::Role::Git::DirtyFiles" : {
+                  "allow_dirty" : [
+                     "README.md",
+                     "cpanfile",
+                     "Makefile.PL",
+                     "LICENSE",
+                     "Build.PL",
+                     "Changes",
+                     "CONTRIBUTING.md"
+                  ],
+                  "allow_dirty_match" : [],
+                  "changelog" : "Changes"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@DROLSKY/commit generated files",
+            "version" : "2.033"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Tag",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Tag" : {
+                  "branch" : null,
+                  "signed" : 0,
+                  "tag" : "v0.13",
+                  "tag_format" : "v%v",
+                  "tag_message" : "v%v",
+                  "time_zone" : "local"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@DROLSKY/Git::Tag",
+            "version" : "2.033"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Push",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Push" : {
+                  "push_to" : [
+                     "origin"
+                  ],
+                  "remotes_must_exist" : 1
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@DROLSKY/Git::Push",
+            "version" : "2.033"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease",
+            "name" : "@DROLSKY/BumpVersionAfterRelease",
+            "version" : "0.009"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Commit",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Commit" : {
+                  "add_files_in" : [],
+                  "commit_msg" : "Bump version after release",
+                  "time_zone" : "local"
+               },
+               "Dist::Zilla::Role::Git::DirtyFiles" : {
+                  "allow_dirty" : [
+                     "dist.ini",
+                     "Changes"
+                  ],
+                  "allow_dirty_match" : [
+                     "(?^:.+)"
+                  ],
+                  "changelog" : "Changes"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@DROLSKY/commit version bump",
+            "version" : "2.033"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Push",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Push" : {
+                  "push_to" : [
+                     "origin"
+                  ],
+                  "remotes_must_exist" : 1
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@DROLSKY/push version bump",
+            "version" : "2.033"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":InstallModules",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":IncModules",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":TestFiles",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":ExecFiles",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":ShareFiles",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":MainModule",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":AllFiles",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":NoFiles",
+            "version" : "5.035"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : "@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+            "version" : "5.035"
+         }
+      ],
+      "zilla" : {
+         "class" : "Dist::Zilla::Dist::Builder",
+         "config" : {
+            "is_trial" : ""
+         },
+         "version" : "5.035"
+      }
+   },
+   "x_authority" : "cpan:DROLSKY",
+   "x_contributors" : [
+      "Aran Deltac <bluefeet@gmail.com>",
+      "Cory G Watson <gphat@onemogin.com>",
+      "Cory Watson <gphat@Crankwizzah.local>",
+      "Dave Rolsky <autarch@urth.org>",
+      "Ran Eilam <reilam@maxmind.com>",
+      "Ryan Olson <rolson@rent.com>"
+   ]
 }
 
@@ -3,23 +3,536 @@ abstract: 'A mock RabbitMQ implementation for use when testing.'
 author:
   - 'Cory G Watson <gphat@cpan.org>'
 build_requires:
-  Test::Exception: 0
-  Test::More: 0
+  ExtUtils::MakeMaker: '0'
+  File::Spec: '0'
+  IO::Handle: '0'
+  IPC::Open3: '0'
+  Test::Exception: '0'
+  Test::More: '0.96'
+  perl: '5.006'
 configure_requires:
-  ExtUtils::MakeMaker: 6.30
+  ExtUtils::MakeMaker: '0'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.012, CPAN::Meta::Converter version 2.133380'
+generated_by: 'Dist::Zilla version 5.035, CPAN::Meta::Converter version 2.143240'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
+  version: '1.4'
 name: Test-Net-RabbitMQ
+provides:
+  Test::Net::RabbitMQ:
+    file: lib/Test/Net/RabbitMQ.pm
+    version: '0.13'
 requires:
-  Moose: 0
-  strict: 0
-  warnings: 0
+  Math::Int64: '0.34'
+  Moose: '0'
+  strict: '0'
+  warnings: '0'
 resources:
-  bugtracker: https://github.com/gphat/test-net-rabbitmq/issues
-  homepage: https://github.com/gphat/test-net-rabbitmq
-  repository: https://github.com/gphat/test-net-rabbitmq.git
-version: 0.10
+  bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Net-RabbitMQ
+  homepage: http://metacpan.org/release/Test-Net-RabbitMQ
+  repository: git://github.com/gphat/test-net-rabbitmq.git
+version: '0.13'
+x_Dist_Zilla:
+  perl:
+    version: '5.016003'
+  plugins:
+    -
+      class: Dist::Zilla::Plugin::MakeMaker
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 1
+      name: '@DROLSKY/MakeMaker'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::Authority
+      name: '@DROLSKY/Authority'
+      version: '1.009'
+    -
+      class: Dist::Zilla::Plugin::AutoPrereqs
+      name: '@DROLSKY/AutoPrereqs'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::CopyFilesFromBuild
+      name: '@DROLSKY/CopyFilesFromBuild'
+      version: '0.150250'
+    -
+      class: Dist::Zilla::Plugin::Git::GatherDir
+      config:
+        Dist::Zilla::Plugin::GatherDir:
+          exclude_filename:
+            - README.md
+            - cpanfile
+            - Makefile.PL
+            - LICENSE
+            - Build.PL
+          exclude_match: []
+          follow_symlinks: '0'
+          include_dotfiles: '0'
+          prefix: ''
+          prune_directory: []
+          root: .
+        Dist::Zilla::Plugin::Git::GatherDir:
+          include_untracked: '0'
+      name: '@DROLSKY/Git::GatherDir'
+      version: '2.033'
+    -
+      class: Dist::Zilla::Plugin::GitHub::Meta
+      name: '@DROLSKY/GitHub::Meta'
+      version: '0.40'
+    -
+      class: Dist::Zilla::Plugin::GitHub::Update
+      name: '@DROLSKY/GitHub::Update'
+      version: '0.40'
+    -
+      class: Dist::Zilla::Plugin::MetaResources
+      name: '@DROLSKY/MetaResources'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::MetaProvides::Package
+      config:
+        Dist::Zilla::Plugin::MetaProvides::Package:
+          finder_objects:
+            -
+              class: Dist::Zilla::Plugin::FinderCode
+              name: '@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+              version: '5.035'
+        Dist::Zilla::Role::MetaProvider::Provider:
+          inherit_missing: '1'
+          inherit_version: '1'
+          meta_noindex: '1'
+      name: '@DROLSKY/MetaProvides::Package'
+      version: '2.003001'
+    -
+      class: Dist::Zilla::Plugin::NextRelease
+      name: '@DROLSKY/NextRelease'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: test
+          type: requires
+      name: '@DROLSKY/Test::More with subtest()'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: develop
+          type: requires
+      name: '@DROLSKY/Modules for use with tidyall'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::PromptIfStale
+      config:
+        Dist::Zilla::Plugin::PromptIfStale:
+          check_all_plugins: '1'
+          check_all_prereqs: '1'
+          modules: []
+          phase: release
+          skip:
+            - Dist::Zilla::Plugin::DROLSKY::Contributors
+            - Dist::Zilla::Plugin::DROLSKY::License
+            - Dist::Zilla::Plugin::DROLSKY::TidyAll
+      name: '@DROLSKY/PromptIfStale'
+      version: '0.041'
+    -
+      class: Dist::Zilla::Plugin::ReadmeAnyFromPod
+      name: '@DROLSKY/README.md in build'
+      version: '0.150250'
+    -
+      class: Dist::Zilla::Plugin::ReadmeAnyFromPod
+      name: '@DROLSKY/README.md in root'
+      version: '0.150250'
+    -
+      class: Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable
+      name: '@DROLSKY/Test::Pod::Coverage::Configurable'
+      version: '0.05'
+    -
+      class: Dist::Zilla::Plugin::Test::PodSpelling
+      name: '@DROLSKY/Test::PodSpelling'
+      version: '2.006008'
+    -
+      class: Dist::Zilla::Plugin::Test::ReportPrereqs
+      name: '@DROLSKY/Test::ReportPrereqs'
+      version: '0.021'
+    -
+      class: Dist::Zilla::Plugin::Test::Version
+      name: '@DROLSKY/Test::Version'
+      version: '0.003001'
+    -
+      class: Dist::Zilla::Plugin::ManifestSkip
+      name: '@DROLSKY/ManifestSkip'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::MetaYAML
+      name: '@DROLSKY/MetaYAML'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::License
+      name: '@DROLSKY/License'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::ExtraTests
+      name: '@DROLSKY/ExtraTests'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::ExecDir
+      name: '@DROLSKY/ExecDir'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::ShareDir
+      name: '@DROLSKY/ShareDir'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::Manifest
+      name: '@DROLSKY/Manifest'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::CheckVersionIncrement
+      name: '@DROLSKY/CheckVersionIncrement'
+      version: '0.121750'
+    -
+      class: Dist::Zilla::Plugin::TestRelease
+      name: '@DROLSKY/TestRelease'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::ConfirmRelease
+      name: '@DROLSKY/ConfirmRelease'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::UploadToCPAN
+      name: '@DROLSKY/UploadToCPAN'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::CheckPrereqsIndexed
+      name: '@DROLSKY/CheckPrereqsIndexed'
+      version: '0.015'
+    -
+      class: Dist::Zilla::Plugin::CPANFile
+      name: '@DROLSKY/CPANFile'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::DROLSKY::Contributors
+      name: '@DROLSKY/DROLSKY::Contributors'
+      version: '0.32'
+    -
+      class: Dist::Zilla::Plugin::DROLSKY::License
+      name: '@DROLSKY/DROLSKY::License'
+      version: '0.32'
+    -
+      class: Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch
+      config:
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@DROLSKY/Git::CheckFor::CorrectBranch'
+      version: '0.013'
+    -
+      class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts
+      config:
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@DROLSKY/Git::CheckFor::MergeConflicts'
+      version: '0.013'
+    -
+      class: Dist::Zilla::Plugin::Git::Contributors
+      config:
+        Dist::Zilla::Plugin::Git::Contributors:
+          include_authors: '0'
+          include_releaser: '1'
+          order_by: name
+          paths: []
+      name: '@DROLSKY/Git::Contributors'
+      version: '0.011'
+    -
+      class: Dist::Zilla::Plugin::InstallGuide
+      name: '@DROLSKY/InstallGuide'
+      version: '1.200006'
+    -
+      class: Dist::Zilla::Plugin::Meta::Contributors
+      name: '@DROLSKY/Meta::Contributors'
+      version: '0.002'
+    -
+      class: Dist::Zilla::Plugin::MetaConfig
+      name: '@DROLSKY/MetaConfig'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::MetaJSON
+      name: '@DROLSKY/MetaJSON'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::RewriteVersion
+      name: '@DROLSKY/RewriteVersion'
+      version: '0.009'
+    -
+      class: Dist::Zilla::Plugin::SurgicalPodWeaver
+      config:
+        Dist::Zilla::Plugin::PodWeaver:
+          finder:
+            - ':InstallModules'
+            - ':ExecFiles'
+          plugins:
+            -
+              class: Pod::Weaver::Plugin::EnsurePod5
+              name: '@CorePrep/EnsurePod5'
+              version: '4.010'
+            -
+              class: Pod::Weaver::Plugin::H1Nester
+              name: '@CorePrep/H1Nester'
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Name
+              name: Name
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Version
+              name: Version
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Generic
+              name: SYNOPSIS
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Generic
+              name: DESCRIPTION
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Generic
+              name: OVERVIEW
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Region
+              name: prelude
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Leftovers
+              name: Leftovers
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Collect
+              name: ATTRIBUTES
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Collect
+              name: METHODS
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Region
+              name: postlude
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Authors
+              name: Authors
+              version: '4.010'
+            -
+              class: Pod::Weaver::Section::Legal
+              name: Legal
+              version: '4.010'
+      name: '@DROLSKY/SurgicalPodWeaver'
+      version: '0.0023'
+    -
+      class: Dist::Zilla::Plugin::PodSyntaxTests
+      name: '@DROLSKY/PodSyntaxTests'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::Test::CPAN::Changes
+      name: '@DROLSKY/Test::CPAN::Changes'
+      version: '0.009'
+    -
+      class: Dist::Zilla::Plugin::Test::Compile
+      config:
+        Dist::Zilla::Plugin::Test::Compile:
+          bail_out_on_fail: '0'
+          fail_on_warning: author
+          fake_home: '0'
+          filename: t/00-compile.t
+          module_finder:
+            - ':InstallModules'
+          needs_display: '0'
+          phase: test
+          script_finder:
+            - ':ExecFiles'
+          skips: []
+      name: '@DROLSKY/Test::Compile'
+      version: '2.052'
+    -
+      class: Dist::Zilla::Plugin::Test::EOL
+      config:
+        Dist::Zilla::Plugin::Test::EOL:
+          filename: xt/author/eol.t
+          finder:
+            - ':InstallModules'
+            - ':ExecFiles'
+            - ':TestFiles'
+          trailing_whitespace: '1'
+      name: '@DROLSKY/Test::EOL'
+      version: '0.17'
+    -
+      class: Dist::Zilla::Plugin::Test::NoTabs
+      config:
+        Dist::Zilla::Plugin::Test::NoTabs:
+          filename: xt/author/no-tabs.t
+          finder:
+            - ':InstallModules'
+            - ':ExecFiles'
+            - ':TestFiles'
+      name: '@DROLSKY/Test::NoTabs'
+      version: '0.13'
+    -
+      class: Dist::Zilla::Plugin::Test::Pod::No404s
+      name: '@DROLSKY/Test::Pod::No404s'
+      version: '1.001'
+    -
+      class: Dist::Zilla::Plugin::Test::Portability
+      name: '@DROLSKY/Test::Portability'
+      version: '2.000006'
+    -
+      class: Dist::Zilla::Plugin::Git::Check
+      config:
+        Dist::Zilla::Plugin::Git::Check:
+          untracked_files: die
+        Dist::Zilla::Role::Git::DirtyFiles:
+          allow_dirty:
+            - README.md
+            - cpanfile
+            - Makefile.PL
+            - LICENSE
+            - Build.PL
+            - Changes
+            - CONTRIBUTING.md
+          allow_dirty_match: []
+          changelog: Changes
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@DROLSKY/Git::Check'
+      version: '2.033'
+    -
+      class: Dist::Zilla::Plugin::Git::Commit
+      config:
+        Dist::Zilla::Plugin::Git::Commit:
+          add_files_in: []
+          commit_msg: v%v%n%n%c
+          time_zone: local
+        Dist::Zilla::Role::Git::DirtyFiles:
+          allow_dirty:
+            - README.md
+            - cpanfile
+            - Makefile.PL
+            - LICENSE
+            - Build.PL
+            - Changes
+            - CONTRIBUTING.md
+          allow_dirty_match: []
+          changelog: Changes
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@DROLSKY/commit generated files'
+      version: '2.033'
+    -
+      class: Dist::Zilla::Plugin::Git::Tag
+      config:
+        Dist::Zilla::Plugin::Git::Tag:
+          branch: ~
+          signed: 0
+          tag: v0.13
+          tag_format: v%v
+          tag_message: v%v
+          time_zone: local
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@DROLSKY/Git::Tag'
+      version: '2.033'
+    -
+      class: Dist::Zilla::Plugin::Git::Push
+      config:
+        Dist::Zilla::Plugin::Git::Push:
+          push_to:
+            - origin
+          remotes_must_exist: 1
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@DROLSKY/Git::Push'
+      version: '2.033'
+    -
+      class: Dist::Zilla::Plugin::BumpVersionAfterRelease
+      name: '@DROLSKY/BumpVersionAfterRelease'
+      version: '0.009'
+    -
+      class: Dist::Zilla::Plugin::Git::Commit
+      config:
+        Dist::Zilla::Plugin::Git::Commit:
+          add_files_in: []
+          commit_msg: 'Bump version after release'
+          time_zone: local
+        Dist::Zilla::Role::Git::DirtyFiles:
+          allow_dirty:
+            - dist.ini
+            - Changes
+          allow_dirty_match:
+            - (?^:.+)
+          changelog: Changes
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@DROLSKY/commit version bump'
+      version: '2.033'
+    -
+      class: Dist::Zilla::Plugin::Git::Push
+      config:
+        Dist::Zilla::Plugin::Git::Push:
+          push_to:
+            - origin
+          remotes_must_exist: 1
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@DROLSKY/push version bump'
+      version: '2.033'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':InstallModules'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':IncModules'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':TestFiles'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':ExecFiles'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':ShareFiles'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':MainModule'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':AllFiles'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':NoFiles'
+      version: '5.035'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: '@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+      version: '5.035'
+  zilla:
+    class: Dist::Zilla::Dist::Builder
+    config:
+      is_trial: ''
+    version: '5.035'
+x_authority: cpan:DROLSKY
+x_contributors:
+  - 'Aran Deltac <bluefeet@gmail.com>'
+  - 'Cory G Watson <gphat@onemogin.com>'
+  - 'Cory Watson <gphat@Crankwizzah.local>'
+  - 'Dave Rolsky <autarch@urth.org>'
+  - 'Ran Eilam <reilam@maxmind.com>'
+  - 'Ryan Olson <rolson@rent.com>'
@@ -1,35 +1,37 @@
-
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.012.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.035.
 use strict;
 use warnings;
 
+use 5.006;
 
-
-use ExtUtils::MakeMaker 6.30;
-
-
+use ExtUtils::MakeMaker;
 
 my %WriteMakefileArgs = (
   "ABSTRACT" => "A mock RabbitMQ implementation for use when testing.",
   "AUTHOR" => "Cory G Watson <gphat\@cpan.org>",
-  "BUILD_REQUIRES" => {},
   "CONFIGURE_REQUIRES" => {
-    "ExtUtils::MakeMaker" => "6.30"
+    "ExtUtils::MakeMaker" => 0
   },
   "DISTNAME" => "Test-Net-RabbitMQ",
   "EXE_FILES" => [],
   "LICENSE" => "perl",
+  "MIN_PERL_VERSION" => "5.006",
   "NAME" => "Test::Net::RabbitMQ",
   "PREREQ_PM" => {
+    "Math::Int64" => "0.34",
     "Moose" => 0,
     "strict" => 0,
     "warnings" => 0
   },
   "TEST_REQUIRES" => {
+    "ExtUtils::MakeMaker" => 0,
+    "File::Spec" => 0,
+    "IO::Handle" => 0,
+    "IPC::Open3" => 0,
     "Test::Exception" => 0,
-    "Test::More" => 0
+    "Test::More" => "0.96"
   },
-  "VERSION" => "0.10",
+  "VERSION" => "0.13",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -37,9 +39,14 @@ my %WriteMakefileArgs = (
 
 
 my %FallbackPrereqs = (
+  "ExtUtils::MakeMaker" => 0,
+  "File::Spec" => 0,
+  "IO::Handle" => 0,
+  "IPC::Open3" => 0,
+  "Math::Int64" => "0.34",
   "Moose" => 0,
   "Test::Exception" => 0,
-  "Test::More" => 0,
+  "Test::More" => "0.96",
   "strict" => 0,
   "warnings" => 0
 );
@@ -55,6 +62,3 @@ delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
   unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
 
 WriteMakefile(%WriteMakefileArgs);
-
-
-
@@ -1,15 +0,0 @@
-
-
-This archive contains the distribution Test-Net-RabbitMQ,
-version 0.10:
-
-  A mock RabbitMQ implementation for use when testing.
-
-This software is copyright (c) 2014 by Cory G Watson.
-
-This is free software; you can redistribute it and/or modify it under
-the same terms as the Perl 5 programming language system itself.
-
-
-This README file was generated by Dist::Zilla::Plugin::Readme v5.012.
-
@@ -0,0 +1,192 @@
+NAME
+
+    Test::Net::RabbitMQ - A mock RabbitMQ implementation for use when
+    testing.
+
+VERSION
+
+    version 0.13
+
+SYNOPSIS
+
+        use Test::Net::RabbitMQ;
+    
+        my $mq = Test::Net::RabbitMQ->new;
+    
+        $mq->connect;
+    
+        $mq->channel_open(1);
+    
+        $mq->exchange_declare(1, 'order');
+        $mq->queue_declare(1, 'new-orders');
+    
+        $mq->queue_bind(1, 'new-orders', 'order', 'order.new');
+    
+        $mq->publish(1, 'order.new', 'hello!', { exchange => 'order' });
+    
+        $mq->consume(1, 'new-orders');
+    
+        my $msg = $mq->recv;
+    
+        # Or
+    
+        my $msg = $mq->get(1, 'order.new', {});
+
+DESCRIPTION
+
+    Test::Net::RabbitMQ is a terrible approximation of using the real
+    thing, but hopefully will allow you to test systems that use
+    Net::AMQP::RabbitMQ or Net::RabbitMQ without having to use an actual
+    RabbitMQ instance.
+
+    The general overview is that calls to publish pushes a message into one
+    or more queues (or none if there are no bindings) and calls to recv pop
+    them.
+
+CAVEATS
+
+    This module has all the features I've needed to successfully test our
+    RabbitMQ-using application. Patches are welcome if I'm missing
+    something you need! At the moment there are a number of shortcomings:
+
+    recv doesn't block
+
+    exchanges are all topic
+
+    lots of other stuff!
+
+ATTRIBUTES
+
+ connectable
+
+    If false then any calls to connect will die to emulate a failed
+    connection.
+
+ debug
+
+    If set to true (which you can do at any time) then a message will be
+    emitted to STDERR any time a message is added to a queue.
+
+METHODS
+
+ channel_close($number)
+
+    Closes the specific channel.
+
+ channel_open($number)
+
+    Opens a channel with the specific number.
+
+ connect
+
+    Connects this instance. Does nothing except set connected to true. Will
+    throw an exception if you've set connectable to false.
+
+ consume($channel, $queue)
+
+    Sets the queue that will be popped when recv is called.
+
+ cancel($channel, $consumer_tag)
+
+    Cancels the subscription for the given consumer tag. Calls to recv
+    after this will throw an error unless you call consume again. This
+    method always returns true if there is a subscription to cancel, false
+    otherwise.
+
+ disconnect
+
+    Disconnects this instance by setting connected to false.
+
+ exchange_declare($channel, $exchange, $options)
+
+    Creates an exchange of the specified name.
+
+ exchange_delete($channel, $exchange, $options)
+
+    Deletes an exchange of the specified name.
+
+ tx_select($channel)
+
+    Begins a transaction on the specified channel. From this point forward
+    all publish() calls on the channel will be buffered until a call to
+    "tx_commit" or "tx_rollback" is made.
+
+ tx_commit($channel)
+
+    Commits a transaction on the specified channel, causing all buffered
+    publish() calls to this point to be published.
+
+ tx_rollback($channel)
+
+    Rolls the transaction back, causing all buffered publish() calls to be
+    wiped.
+
+ get ($channel, $queue, $options)
+
+    Get a message from the queue, if there is one.
+
+    Like Net::RabbitMQ, this will return a hash containing the following
+    information:
+
+         {
+           body => 'Magic Transient Payload', # the reconstructed body
+           routing_key => 'nr_test_q',        # route the message took
+           exchange => 'nr_test_x',           # exchange used
+           delivery_tag => uint64(1),         # (inc'd every recv or get)
+           redelivered => 0,                  # always 0
+           message_count => 0,                # always 0
+         }
+
+ queue_bind($channel, $queue, $exchange, $routing_key)
+
+    Binds the specified queue to the specified exchange using the provided
+    routing key. Note that, at the moment, this doesn't work with AMQP
+    wildcards. Only with exact matches of the routing key.
+
+ queue_declare($channel, $queue, $options)
+
+    Creates a queue of the specified name.
+
+ queue_delete($channel, $queue, $options)
+
+    Deletes a queue of the specified name.
+
+ queue_unbind($channel, $queue, $exchange, $routing_key)
+
+    Unbinds the specified routing key from the provided queue and exchange.
+
+ publish($channel, $routing_key, $body, $options)
+
+    Publishes the specified body with the supplied routing key. If there is
+    a binding that matches then the message will be added to the
+    appropriate queue(s).
+
+ recv
+
+    Provided you've called consume then calls to recv will pop the next
+    message of the queue. Note that this method does not block.
+
+    Like Net::RabbitMQ, this will return a hash containing the following
+    information:
+
+         {
+           body => 'Magic Transient Payload', # the reconstructed body
+           routing_key => 'nr_test_q',        # route the message took
+           exchange => 'nr_test_x',           # exchange used
+           delivery_tag => uint64(1),         # (inc'd every recv or get)
+           redelivered => $boolean            # if message is redelivered
+           consumer_tag => '',                # Always blank currently
+           props => $props,                   # hashref sent in
+         }
+
+AUTHOR
+
+    Cory G Watson <gphat@cpan.org>
+
+COPYRIGHT AND LICENSE
+
+    This software is copyright (c) 2015 by Cory G Watson.
+
+    This is free software; you can redistribute it and/or modify it under
+    the same terms as the Perl 5 programming language system itself.
+
@@ -1,168 +0,0 @@
-# NAME
-
-Test::Net::RabbitMQ - A mock RabbitMQ implementation for use when testing.
-
-# VERSION
-
-version 0.10
-
-# SYNOPSIS
-
-    use Test::Net::RabbitMQ;
-
-    my $mq = Test::Net::RabbitMQ->new;
-
-    $mq->connect;
-
-    $mq->channel_open(1);
-
-    $mq->exchange_declare(1, 'order');
-    $mq->queue_declare(1, 'new-orders');
-
-    $mq->queue_bind(1, 'new-orders', 'order', 'order.new');
-
-    $mq->publish(1, 'order.new', 'hello!', { exchange => 'order' });
-
-    $mq->consume(1, 'new-orders');
-
-    my $msg = $mq->recv;
-    
-    # Or
-    
-    my $msg = $mq->get(1, 'order.new', {});
-
-# DESCRIPTION
-
-Test::Net::RabbitMQ is a terrible approximation of using the real thing, but
-hopefully will allow you to test systems that use [Net::RabbitMQ](https://metacpan.org/pod/Net::RabbitMQ) without
-having to use an actual RabbitMQ instance.
-
-The general overview is that calls to `publish` pushes a message into one
-or more queues (or none if there are no bindings) and calls to `recv`
-pop them.
-
-# CAVEATS
-
-This module has all the features I've needed to successfully test our 
-RabbitMQ-using application. Patches are welcome if I'm missing something you
-need! At the moment there are a number of shortcomings:
-
-- `recv` doesn't block
-- exchanges are all topic
-- lots of other stuff!
-
-# ATTRIBUTES
-
-## connectable
-
-If false then any calls to connect will die to emulate a failed connection.
-
-## debug
-
-If set to true (which you can do at any time) then a message will be emmitted
-to STDERR any time a message is added to a queue.
-
-# METHODS
-
-## channel\_close($number)
-
-Closes the specific channel.
-
-## channel\_open($number)
-
-Opens a channel with the specific number.
-
-## connect
-
-Connects this instance.  Does nothing except set `connected` to true.  Will
-throw an exception if you've set `connectable` to false.
-
-## consume($channel, $queue)
-
-Sets the queue that will be popped when `recv` is called.
-
-## disconnect
-
-Disconnects this instance by setting `connected` to false.
-
-## exchange\_declare($channel, $exchange, $options)
-
-Creates an exchange of the specified name.
-
-## tx\_select($channel)
-
-Begins a transaction on the specified channel.  From this point forward all
-publish() calls on the channel will be buffered until a call to ["tx_commit"](#tx_commit)
-or ["tx_rollback"](#tx_rollback) is made.
-
-## tx\_commit($channel)
-
-Commits a transaction on the specified channel, causing all buffered publish()
-calls to this point to be published.
-
-## tx\_rollback($channel)
-
-Rolls the transaction back, causing all buffered publish() calls to be wiped.
-
-## get ($channel, $queue, $options)
-
-Get a message from the queue, if there is one.
-
-Like `Net::RabbitMQ`, this will return a hash containing the following
-information:
-
-     {
-       body => 'Magic Transient Payload', # the reconstructed body
-       routing_key => 'nr_test_q',        # route the message took
-       exchange => 'nr_test_x',           # exchange used
-       delivery_tag => 1,                 # (inc'd every recv or get)
-       redelivered => 0,                  # always 0
-       message_count => 0,                # always 0
-     }
-
-## queue\_bind($channel, $queue, $exchange, $routing\_key)
-
-Binds the specified queue to the specified exchange using the provided
-routing key.  __Note that, at the moment, this doesn't work with AMQP wildcards.
-Only with exact matches of the routing key.__
-
-## queue\_declare($channel, $queue, $options)
-
-Creates a queue of the specified name.
-
-## queue\_unbind($channel, $queue, $exchange, $routing\_key)
-
-Unbinds the specified routing key from the provided queue and exchange.
-
-## publish($channel, $routing\_key, $body, $options)
-
-Publishes the specified body with the supplied routing key.  If there is a
-binding that matches then the message will be added to the appropriate queue(s).
-
-## recv
-
-Provided you've called `consume` then calls to recv will `pop` the next
-message of the queue.  __Note that this method does not block.__
-
-Like `Net::RabbitMQ`, this will return a hash containing the following
-information:
-
-     {
-       body => 'Magic Transient Payload', # the reconstructed body
-       routing_key => 'nr_test_q',        # route the message took
-       exchange => 'nr_test_x',           # exchange used
-       delivery_tag => 1,                 # (inc'd every recv or get)
-       consumer_tag => '',                # Always blank currently
-       props => $props,                   # hashref sent in
-     }
-
-# AUTHOR
-
-Cory G Watson <gphat@cpan.org>
-
-# COPYRIGHT AND LICENSE
-
-This software is copyright (c) 2014 by Cory G Watson.
-
-This is free software; you can redistribute it and/or modify it under
-the same terms as the Perl 5 programming language system itself.
@@ -0,0 +1,36 @@
+requires "Math::Int64" => "0.34";
+requires "Moose" => "0";
+requires "strict" => "0";
+requires "warnings" => "0";
+
+on 'test' => sub {
+  requires "ExtUtils::MakeMaker" => "0";
+  requires "File::Spec" => "0";
+  requires "IO::Handle" => "0";
+  requires "IPC::Open3" => "0";
+  requires "Test::Exception" => "0";
+  requires "Test::More" => "0.96";
+  requires "perl" => "5.006";
+};
+
+on 'test' => sub {
+  recommends "CPAN::Meta" => "2.120900";
+};
+
+on 'configure' => sub {
+  requires "ExtUtils::MakeMaker" => "0";
+};
+
+on 'develop' => sub {
+  requires "Perl::Critic" => "1.123";
+  requires "Perl::Tidy" => "20140711";
+  requires "Pod::Coverage::TrustPod" => "0";
+  requires "Test::CPAN::Changes" => "0.19";
+  requires "Test::EOL" => "0";
+  requires "Test::More" => "0.88";
+  requires "Test::NoTabs" => "0";
+  requires "Test::Pod" => "1.41";
+  requires "Test::Pod::Coverage" => "1.08";
+  requires "Test::Spelling" => "0.12";
+  requires "Test::Version" => "1";
+};
@@ -0,0 +1,13 @@
+name    = Test-Net-RabbitMQ
+author  = Cory G Watson <gphat@cpan.org>
+license = Perl_5
+copyright_holder= Cory G Watson
+
+[@DROLSKY]
+dist = Test-Net-RabbitMQ
+stopwords = AMQP
+stopwords = connectable
+-remove = DROLSKY::TidyAll
+-remove = Test::Pod::LinkCheck
+-remove = Test::Synopsis
+-remove = Test::TidyAll
@@ -1,9 +1,12 @@
 package Test::Net::RabbitMQ;
-$Test::Net::RabbitMQ::VERSION = '0.10';
 use Moose;
 use warnings;
 use strict;
 
+use Math::Int64 0.34 qw( uint64 );
+
+our $VERSION = '0.13';
+
 # ABSTRACT: A mock RabbitMQ implementation for use when testing.
 
 
@@ -69,7 +72,9 @@ has exchanges => (
 
 has queue => (
     is => 'rw',
-    isa => 'Str'
+    isa => 'Str',
+    predicate => '_has_queue',
+    clearer => '_clear_queue',
 );
 
 has queues => (
@@ -86,17 +91,23 @@ has queues => (
 );
 
 has delivery_tag => (
-    traits  => [ qw(Counter) ],
-    is      => 'ro',
-    isa     => 'Num',
-    default => 0,
-    handles => {
-        _inc_delivery_tag   => 'inc',
-        _dec_delivery_tag   => 'dec',
-        _reset_delivery_tag => 'reset',
-    },
+    is      => 'rw',
+    isa     => 'Math::UInt64',
+    default => sub { uint64(0) },
+    clearer => '_reset_delivery_tag',
+    writer  => '_set_delivery_tag',
 );
 
+sub _inc_delivery_tag {
+    my $self = shift;
+    $self->_set_delivery_tag( $self->delivery_tag + 1 );
+}
+
+sub _dec_delivery_tag {
+    my $self = shift;
+    $self->_set_delivery_tag( $self->delivery_tag - 1 );
+}
+
 has _tx_messages => (
     is      => 'ro',
     isa     => 'HashRef',
@@ -133,6 +144,7 @@ sub connect {
 }
 
 
+my $ctag = 0;
 sub consume {
     my ($self, $channel, $queue, $options) = @_;
 
@@ -151,6 +163,26 @@ sub consume {
     die "no_ack=>0 is not supported at this time" if !$options->{no_ack};
 
     $self->queue($queue);
+
+    return exists $options->{consumer_tag}
+        ? $options->{consumer_tag}
+        : 'consumer-tag-' . $ctag++;
+}
+
+
+sub cancel {
+    my ($self, $channel, $consumer_tag) = @_;
+
+    die "Not connected" unless $self->connected;
+
+    die "You must provide a consumer tag"
+        unless defined $consumer_tag && length $consumer_tag;
+
+    return 0 unless $self->_has_queue;
+
+    $self->_clear_queue;
+
+    return 1;
 }
 
 
@@ -174,6 +206,17 @@ sub exchange_declare {
 }
 
 
+sub exchange_delete {
+    my ($self, $channel, $exchange, $options) = @_;
+
+    die "Not connected" unless $self->connected;
+
+    die "Unknown channel" unless $self->_channel_exists($channel);
+
+    $self->_remove_exchange($exchange);
+}
+
+
 sub tx_select {
     my ($self, $channel) = @_;
 
@@ -277,6 +320,7 @@ sub queue_bind {
 }
 
 
+my $queue = 0;
 sub queue_declare {
     my ($self, $channel, $queue, $options) = @_;
 
@@ -284,7 +328,36 @@ sub queue_declare {
 
     die "Unknown channel: $channel" unless $self->_channel_exists($channel);
 
-    $self->_set_queue($queue, []);
+    if ($options->{passive}) {
+        # Would rabbitmq die if $queue was undef or q{}?
+        return
+               unless defined $queue
+            && length $queue
+            && $self->_queue_exists($queue);
+    }
+    else {
+        $queue = 'queue-' . $queue++
+            unless defined $queue && length $queue;
+        $self->_set_queue($queue, []) unless $self->_queue_exists($queue);
+    }
+
+    return $queue unless wantarray;
+    return (
+        $queue,
+        scalar @{ $self->_get_queue($queue) },
+        $self->queue && $self->queue eq $queue ? 1 : 0,
+    );
+}
+
+
+sub queue_delete {
+    my ($self, $channel, $queue, $options) = @_;
+
+    die "Not connected" unless $self->connected;
+
+    die "Unknown channel" unless $self->_channel_exists($channel);
+
+    $self->_remove_queue($queue);
 }
 
 
@@ -309,6 +382,10 @@ sub publish {
     my $self = shift;
     my $channel = shift;
 
+    die "Not connected" unless $self->connected;
+
+    die "Unknown channel: $channel" unless $self->_channel_exists($channel);
+
     my $messages = $self->_tx_messages->{ $channel };
     if ($messages) {
         push @$messages, [ @_ ];
@@ -321,10 +398,6 @@ sub publish {
 sub _publish {
     my ($self, $channel, $routing_key, $body, $options, $props) = @_;
 
-    die "Not connected" unless $self->connected;
-
-    die "Unknown channel: $channel" unless $self->_channel_exists($channel);
-
     my $exchange = $options->{exchange};
     unless($exchange) {
         $exchange = 'amq.direct';
@@ -364,6 +437,7 @@ sub recv {
 
     $message->{delivery_tag} = $self->_inc_delivery_tag;
     $message->{consumer_tag} = '';
+    $message->{redelivered}  = 0;
 
     return $message;
 }
@@ -398,7 +472,7 @@ Test::Net::RabbitMQ - A mock RabbitMQ implementation for use when testing.
 
 =head1 VERSION
 
-version 0.10
+version 0.13
 
 =head1 SYNOPSIS
 
@@ -420,16 +494,16 @@ version 0.10
     $mq->consume(1, 'new-orders');
 
     my $msg = $mq->recv;
-    
+
     # Or
-    
+
     my $msg = $mq->get(1, 'order.new', {});
 
 =head1 DESCRIPTION
 
 Test::Net::RabbitMQ is a terrible approximation of using the real thing, but
-hopefully will allow you to test systems that use L<Net::RabbitMQ> without
-having to use an actual RabbitMQ instance.
+hopefully will allow you to test systems that use L<Net::AMQP::RabbitMQ> or
+L<Net::RabbitMQ> without having to use an actual RabbitMQ instance.
 
 The general overview is that calls to C<publish> pushes a message into one
 or more queues (or none if there are no bindings) and calls to C<recv>
@@ -437,7 +511,7 @@ pop them.
 
 =head1 CAVEATS
 
-This module has all the features I've needed to successfully test our 
+This module has all the features I've needed to successfully test our
 RabbitMQ-using application. Patches are welcome if I'm missing something you
 need! At the moment there are a number of shortcomings:
 
@@ -459,7 +533,7 @@ If false then any calls to connect will die to emulate a failed connection.
 
 =head2 debug
 
-If set to true (which you can do at any time) then a message will be emmitted
+If set to true (which you can do at any time) then a message will be emitted
 to STDERR any time a message is added to a queue.
 
 =head1 METHODS
@@ -481,6 +555,12 @@ throw an exception if you've set C<connectable> to false.
 
 Sets the queue that will be popped when C<recv> is called.
 
+=head2 cancel($channel, $consumer_tag)
+
+Cancels the subscription for the given consumer tag. Calls to C<recv> after
+this will throw an error unless you call C<consume> again. This method always
+returns true if there is a subscription to cancel, false otherwise.
+
 =head2 disconnect
 
 Disconnects this instance by setting C<connected> to false.
@@ -489,6 +569,10 @@ Disconnects this instance by setting C<connected> to false.
 
 Creates an exchange of the specified name.
 
+=head2 exchange_delete($channel, $exchange, $options)
+
+Deletes an exchange of the specified name.
+
 =head2 tx_select($channel)
 
 Begins a transaction on the specified channel.  From this point forward all
@@ -515,7 +599,7 @@ information:
        body => 'Magic Transient Payload', # the reconstructed body
        routing_key => 'nr_test_q',        # route the message took
        exchange => 'nr_test_x',           # exchange used
-       delivery_tag => 1,                 # (inc'd every recv or get)
+       delivery_tag => uint64(1),         # (inc'd every recv or get)
        redelivered => 0,                  # always 0
        message_count => 0,                # always 0
      }
@@ -530,6 +614,10 @@ Only with exact matches of the routing key.>
 
 Creates a queue of the specified name.
 
+=head2 queue_delete($channel, $queue, $options)
+
+Deletes a queue of the specified name.
+
 =head2 queue_unbind($channel, $queue, $exchange, $routing_key)
 
 Unbinds the specified routing key from the provided queue and exchange.
@@ -551,7 +639,8 @@ information:
        body => 'Magic Transient Payload', # the reconstructed body
        routing_key => 'nr_test_q',        # route the message took
        exchange => 'nr_test_x',           # exchange used
-       delivery_tag => 1,                 # (inc'd every recv or get)
+       delivery_tag => uint64(1),         # (inc'd every recv or get)
+       redelivered => $boolean            # if message is redelivered
        consumer_tag => '',                # Always blank currently
        props => $props,                   # hashref sent in
      }
@@ -562,7 +651,7 @@ Cory G Watson <gphat@cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by Cory G Watson.
+This software is copyright (c) 2015 by Cory G Watson.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -0,0 +1,51 @@
+use 5.006;
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.052
+
+use Test::More;
+
+plan tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
+
+my @module_files = (
+    'Test/Net/RabbitMQ.pm'
+);
+
+
+
+# no fake home requested
+
+my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
+
+use File::Spec;
+use IPC::Open3;
+use IO::Handle;
+
+open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
+
+my @warnings;
+for my $lib (@module_files)
+{
+    # see L<perlfaq8/How can I capture STDERR from an external command?>
+    my $stderr = IO::Handle->new;
+
+    my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
+    binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+    my @_warnings = <$stderr>;
+    waitpid($pid, 0);
+    is($?, 0, "$lib loaded ok");
+
+    if (@_warnings)
+    {
+        warn @_warnings;
+        push @warnings, @_warnings;
+    }
+}
+
+
+
+is(scalar(@warnings), 0, 'no warnings found')
+    or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ) if $ENV{AUTHOR_TESTING};
+
+
@@ -0,0 +1,46 @@
+do { my $x = {
+       'configure' => {
+                        'requires' => {
+                                        'ExtUtils::MakeMaker' => '0'
+                                      }
+                      },
+       'develop' => {
+                      'requires' => {
+                                      'Perl::Critic' => '1.123',
+                                      'Perl::Tidy' => '20140711',
+                                      'Pod::Coverage::TrustPod' => '0',
+                                      'Test::CPAN::Changes' => '0.19',
+                                      'Test::EOL' => '0',
+                                      'Test::More' => '0.88',
+                                      'Test::NoTabs' => '0',
+                                      'Test::Pod' => '1.41',
+                                      'Test::Pod::Coverage' => '1.08',
+                                      'Test::Spelling' => '0.12',
+                                      'Test::Version' => '1'
+                                    }
+                    },
+       'runtime' => {
+                      'requires' => {
+                                      'Math::Int64' => '0.34',
+                                      'Moose' => '0',
+                                      'strict' => '0',
+                                      'warnings' => '0'
+                                    }
+                    },
+       'test' => {
+                   'recommends' => {
+                                     'CPAN::Meta' => '2.120900'
+                                   },
+                   'requires' => {
+                                   'ExtUtils::MakeMaker' => '0',
+                                   'File::Spec' => '0',
+                                   'IO::Handle' => '0',
+                                   'IPC::Open3' => '0',
+                                   'Test::Exception' => '0',
+                                   'Test::More' => '0.96',
+                                   'perl' => '5.006'
+                                 }
+                 }
+     };
+  $x;
+ }
\ No newline at end of file
@@ -0,0 +1,183 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.021
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec;
+
+# from $version::LAX
+my $lax_version_re =
+    qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )?
+            |
+            (?:\.[0-9]+) (?:_[0-9]+)?
+        ) | (?:
+            v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )?
+            |
+            (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)?
+        )
+    )/x;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+my $cpan_meta_pre = "CPAN::Meta::Prereqs";
+my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic
+
+# Verify requirements?
+my $DO_VERIFY_PREREQS = 1;
+
+sub _max {
+    my $max = shift;
+    $max = ( $_ > $max ) ? $_ : $max for @_;
+    return $max;
+}
+
+sub _merge_prereqs {
+    my ($collector, $prereqs) = @_;
+
+    # CPAN::Meta::Prereqs object
+    if (ref $collector eq $cpan_meta_pre) {
+        return $collector->with_merged_prereqs(
+            CPAN::Meta::Prereqs->new( $prereqs )
+        );
+    }
+
+    # Raw hashrefs
+    for my $phase ( keys %$prereqs ) {
+        for my $type ( keys %{ $prereqs->{$phase} } ) {
+            for my $module ( keys %{ $prereqs->{$phase}{$type} } ) {
+                $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module};
+            }
+        }
+    }
+
+    return $collector;
+}
+
+my @include = qw(
+
+);
+
+my @exclude = qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do 't/00-report-prereqs.dd';
+
+# Merge all prereqs (either with ::Prereqs or a hashref)
+my $full_prereqs = _merge_prereqs(
+    ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ),
+    $static_prereqs
+);
+
+# Add dynamic prereqs to the included modules list (if we can)
+my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+if ( $source && $HAS_CPAN_META ) {
+    if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
+        $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
+    }
+}
+else {
+    $source = 'static metadata';
+}
+
+my @full_reports;
+my @dep_errors;
+my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
+
+# Add static includes into a fake section
+for my $mod (@include) {
+    $req_hash->{other}{modules}{$mod} = 0;
+}
+
+for my $phase ( qw(configure build test runtime develop other) ) {
+    next unless $req_hash->{$phase};
+    next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});
+
+    for my $type ( qw(requires recommends suggests conflicts modules) ) {
+        next unless $req_hash->{$phase}{$type};
+
+        my $title = ucfirst($phase).' '.ucfirst($type);
+        my @reports = [qw/Module Want Have/];
+
+        for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
+            next if $mod eq 'perl';
+            next if grep { $_ eq $mod } @exclude;
+
+            my $file = $mod;
+            $file =~ s{::}{/}g;
+            $file .= ".pm";
+            my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
+
+            my $want = $req_hash->{$phase}{$type}{$mod};
+            $want = "undef" unless defined $want;
+            $want = "any" if !$want && $want == 0;
+
+            my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
+
+            if ($prefix) {
+                my $have = MM->parse_version( File::Spec->catfile($prefix, $file) );
+                $have = "undef" unless defined $have;
+                push @reports, [$mod, $want, $have];
+
+                if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
+                    if ( $have !~ /\A$lax_version_re\z/ ) {
+                        push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
+                    }
+                    elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
+                        push @dep_errors, "$mod version '$have' is not in required range '$want'";
+                    }
+                }
+            }
+            else {
+                push @reports, [$mod, $want, "missing"];
+
+                if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
+                    push @dep_errors, "$mod is not installed ($req_string)";
+                }
+            }
+        }
+
+        if ( @reports ) {
+            push @full_reports, "=== $title ===\n\n";
+
+            my $ml = _max( map { length $_->[0] } @reports );
+            my $wl = _max( map { length $_->[1] } @reports );
+            my $hl = _max( map { length $_->[2] } @reports );
+
+            if ($type eq 'modules') {
+                splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl];
+                push @full_reports, map { sprintf("    %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports;
+            }
+            else {
+                splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl];
+                push @full_reports, map { sprintf("    %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports;
+            }
+
+            push @full_reports, "\n";
+        }
+    }
+}
+
+if ( @full_reports ) {
+    diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
+}
+
+if ( @dep_errors ) {
+    diag join("\n",
+        "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
+        "The following REQUIRED prerequisites were not satisfied:\n",
+        @dep_errors,
+        "\n"
+    );
+}
+
+pass;
+
+# vim: ts=4 sts=4 sw=4 et:
@@ -0,0 +1,43 @@
+
+BEGIN {
+  unless ($ENV{AUTHOR_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for testing by the author');
+  }
+}
+
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.17
+
+use Test::More 0.88;
+use Test::EOL;
+
+my @files = (
+    'lib/Test/Net/RabbitMQ.pm',
+    't/00-compile.t',
+    't/00-report-prereqs.dd',
+    't/00-report-prereqs.t',
+    't/ack.t',
+    't/author-eol.t',
+    't/author-no-tabs.t',
+    't/author-pod-spell.t',
+    't/channels.t',
+    't/connections.t',
+    't/fifo.t',
+    't/pubsub.t',
+    't/queue.t',
+    't/release-cpan-changes.t',
+    't/release-pod-coverage.t',
+    't/release-pod-no404s.t',
+    't/release-pod-syntax.t',
+    't/release-portability.t',
+    't/release-test-version.t',
+    't/simple.t',
+    't/tx.t',
+    't/wildcard.t'
+);
+
+eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files;
+done_testing;
@@ -0,0 +1,43 @@
+
+BEGIN {
+  unless ($ENV{AUTHOR_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for testing by the author');
+  }
+}
+
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.13
+
+use Test::More 0.88;
+use Test::NoTabs;
+
+my @files = (
+    'lib/Test/Net/RabbitMQ.pm',
+    't/00-compile.t',
+    't/00-report-prereqs.dd',
+    't/00-report-prereqs.t',
+    't/ack.t',
+    't/author-eol.t',
+    't/author-no-tabs.t',
+    't/author-pod-spell.t',
+    't/channels.t',
+    't/connections.t',
+    't/fifo.t',
+    't/pubsub.t',
+    't/queue.t',
+    't/release-cpan-changes.t',
+    't/release-pod-coverage.t',
+    't/release-pod-no404s.t',
+    't/release-pod-syntax.t',
+    't/release-portability.t',
+    't/release-test-version.t',
+    't/simple.t',
+    't/tx.t',
+    't/wildcard.t'
+);
+
+notabs_ok($_) foreach @files;
+done_testing;
@@ -0,0 +1,44 @@
+
+BEGIN {
+  unless ($ENV{AUTHOR_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for testing by the author');
+  }
+}
+
+use strict;
+use warnings;
+use Test::More;
+
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006008
+use Test::Spelling 0.12;
+use Pod::Wordlist;
+
+
+add_stopwords(<DATA>);
+all_pod_files_spelling_ok( qw( bin lib  ) );
+__DATA__
+DROLSKY
+DROLSKY's
+Rolsky
+Rolsky's
+AMQP
+connectable
+Cory
+Watson
+gphat
+Aran
+Deltac
+bluefeet
+Dave
+autarch
+Ran
+Eilam
+reilam
+Ryan
+Olson
+rolson
+lib
+Test
+Net
+RabbitMQ
@@ -17,14 +17,29 @@ $mq->queue_bind(1, 'new-orders', 'order', 'order.new');
 
 $mq->publish(1, 'order.new', 'hello!', { exchange => 'order' });
 
-$mq->consume(1, 'new-orders');
+my $ctag = $mq->consume(1, 'new-orders');
+like($ctag, qr/^[\w-]+$/, 'got a sane consumer tag back from consume');
 
 my $msg = $mq->recv;
 cmp_ok($msg->{body}, 'eq', 'hello!', 'recv got the message');
+ok(exists $msg->{redelivered}, 'msg has redelivered key');
+
+ok($mq->cancel(1, $ctag), 'cancel');
+ok(!$mq->cancel(1, $ctag), 'cancel returns false without a matching consume');
+
+dies_ok { $mq->cancel } 'must provide a channel to cancel';
+dies_ok { $mq->cancel(1) } 'must provide a consumer tag to cancel';
+dies_ok { $mq->cancel(1, undef) } 'must provide a non-undef consumer tag to cancel';
 
 $mq->publish(1, 'order.new', 'hello!', { exchange => 'order' });
 
 my $msg2 = $mq->get(1, 'new-orders', {});
 cmp_ok($msg2->{body}, 'eq', 'hello!', 'get got the message');
 
+$mq->disconnect;
+
+for my $meth (qw( publish consume recv cancel ) ) {
+    dies_ok { $mq->$meth } "cannot call $meth if not connected";
+}
+
 done_testing;
@@ -0,0 +1,48 @@
+use Test::More;
+use Test::Exception;
+
+use Test::Net::RabbitMQ;
+
+my $mq = Test::Net::RabbitMQ->new;
+isa_ok($mq, 'Test::Net::RabbitMQ', 'instantiated');
+
+$mq->connect;
+
+$mq->channel_open(1);
+
+$mq->exchange_declare(1, 'ex');
+my ($queue_name, $msg_count, $consumer_count)
+    = $mq->queue_declare(1, 'bind-twice');
+is($queue_name, 'bind-twice', 'queue_declare returns given queue name');
+is($msg_count, 0, 'queue_declare returns message count of 0 for new queue');
+is($consumer_count, 0, 'queue_declare returns consumer count of 0 for new queue');
+
+is_deeply(
+    [ $mq->queue_declare(1, 'bind-twice', { passive => 1 }) ],
+    [ 'bind-twice', 0, 0 ],
+    'queue_declare with passive => 1'
+);
+
+$mq->queue_bind(1, 'bind-twice', 'ex', 'key');
+$mq->publish(
+    1, 'key', 'message body',
+    { exchange     => 'ex' },
+    { content_type => 'text/plain' }
+);
+
+is_deeply(
+    [ $mq->queue_declare(1, 'bind-twice', { passive => 1 }) ],
+    [ 'bind-twice', 1, 0 ],
+    'queue_declare with passive => 1 has a message'
+);
+
+$mq->queue_declare(1, 'bind-twice');
+
+my $msg = $mq->get(1, 'bind-twice');
+ok($msg, 'got message after calling queue_declare');
+is($msg->{body}, 'message body', 'message body contains expected content');
+
+lives_ok { $mq->queue_delete(1, 'bind-twice') } 'queue_delete';
+lives_ok { $mq->exchange_delete(1, 'bind-twice') } 'ex';
+
+done_testing;
@@ -0,0 +1,19 @@
+#!perl
+
+BEGIN {
+  unless ($ENV{RELEASE_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for release candidate testing');
+  }
+}
+
+
+use strict;
+use warnings;
+
+use Test::More 0.96 tests => 2;
+use_ok('Test::CPAN::Changes');
+subtest 'changes_ok' => sub {
+    changes_file_ok('Changes');
+};
+done_testing();
@@ -0,0 +1,52 @@
+#!perl
+
+BEGIN {
+  unless ($ENV{RELEASE_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for release candidate testing');
+  }
+}
+
+# This file was automatically generated by Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable.
+
+use Test::Pod::Coverage 1.08;
+use Test::More 0.88;
+
+BEGIN {
+    if ( $] <= 5.008008 ) {
+        plan skip_all => 'These tests require Pod::Coverage::TrustPod, which only works with Perl 5.8.9+';
+    }
+}
+use Pod::Coverage::TrustPod;
+
+my %skip = map { $_ => 1 } qw(  );
+
+my @modules;
+for my $module ( all_modules() ) {
+    next if $skip{$module};
+
+    push @modules, $module;
+}
+
+plan skip_all => 'All the modules we found were excluded from POD coverage test.'
+    unless @modules;
+
+plan tests => scalar @modules;
+
+my %trustme = ();
+
+my @also_private;
+
+for my $module ( sort @modules ) {
+    pod_coverage_ok(
+        $module,
+        {
+            coverage_class => 'Pod::Coverage::TrustPod',
+            also_private   => \@also_private,
+            trustme        => $trustme{$module} || [],
+        },
+        "pod coverage for $module"
+    );
+}
+
+done_testing();
@@ -0,0 +1,29 @@
+#!perl
+
+BEGIN {
+  unless ($ENV{RELEASE_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for release candidate testing');
+  }
+}
+
+
+use strict;
+use warnings;
+use Test::More;
+
+foreach my $env_skip ( qw(
+  SKIP_POD_NO404S
+  AUTOMATED_TESTING
+) ){
+  plan skip_all => "\$ENV{$env_skip} is set, skipping"
+    if $ENV{$env_skip};
+}
+
+eval "use Test::Pod::No404s";
+if ( $@ ) {
+  plan skip_all => 'Test::Pod::No404s required for testing POD';
+}
+else {
+  all_pod_files_ok();
+}
@@ -9,8 +9,6 @@ BEGIN {
 
 # This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
 use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
+use Test::Pod 1.41;
 
 all_pod_files_ok();
@@ -0,0 +1,20 @@
+#!perl
+
+BEGIN {
+  unless ($ENV{RELEASE_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for release candidate testing');
+  }
+}
+
+
+use strict;
+use warnings;
+
+use Test::More;
+
+eval 'use Test::Portability::Files';
+plan skip_all => 'Test::Portability::Files required for testing portability'
+    if $@;
+
+run_tests();
@@ -1,16 +0,0 @@
-#!perl
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-
-use Test::More;
-
-eval "use Test::Synopsis";
-plan skip_all => "Test::Synopsis required for testing synopses"
-  if $@;
-all_synopsis_ok();
@@ -0,0 +1,30 @@
+
+BEGIN {
+  unless ($ENV{RELEASE_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for release candidate testing');
+  }
+}
+
+use strict;
+use warnings;
+use Test::More;
+
+# generated by Dist::Zilla::Plugin::Test::Version 0.003001
+use Test::Version;
+
+my @imports = ( 'version_all_ok' );
+
+my $params = {
+    is_strict   => 1,
+    has_version => 1,
+};
+
+push @imports, $params
+    if version->parse( $Test::Version::VERSION ) >= version->parse('1.002');
+
+
+Test::Version->import(@imports);
+
+version_all_ok;
+done_testing;
@@ -0,0 +1,23 @@
+[@CorePrep]
+
+[Name]
+[Version]
+
+[Generic / SYNOPSIS]
+[Generic / DESCRIPTION]
+[Generic / OVERVIEW]
+
+[Region / prelude]
+
+[Leftovers]
+
+[Collect / ATTRIBUTES]
+command = attr
+
+[Collect / METHODS]
+command = method
+
+[Region / postlude]
+
+[Authors]
+[Legal]
\ No newline at end of file