Merge commit 'jason/master'
t0m [Wed, 22 Jul 2009 23:39:11 +0000 (00:39 +0100)]
Changes
Makefile.PL
lib/Catalyst/Controller/MessageDriven.pm
lib/Catalyst/Engine/Stomp.pm
lib/CatalystX/Test/MessageDriven.pm [moved from t/lib/Catalyst/Test/MessageDriven.pm with 89% similarity]
t/13_message-driven-request.t

diff --git a/Changes b/Changes
index 6d7bde7..bbe7ed7 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,8 +1,10 @@
 Revision history for Perl extension Catalyst::Engine::Stomp.
 
+0.06  Mon Jul 13 22:22:22 2009
+    - Make the test-app harness available under CatalystX::
     - Clean up use of deprecated dispatcher methods.
     - Add an error message in the Catalyst log when we
-      recieve an unserializeable message.
+      receive an unserializeable message.
     - Fix the test application to always run with the
       correct library paths.
     - Fix bug causing alternate serializers to not be found
index 47251dc..456dbc0 100644 (file)
@@ -17,6 +17,7 @@ requires 'Data::Serializer' => '0.49';
 requires 'namespace::autoclean' => '0.05';
 
 test_requires 'Alien::ActiveMQ' => '0.00003';
+test_requires 'Catalyst::Plugin::ConfigLoader' => undef;
 
 my @force_build_requires_if_author = qw(
   Test::NoTabs
@@ -57,7 +58,7 @@ sub darwin_check_no_resource_forks {
 
         # TAR on 10.4 wants COPY_EXTENDED_ATTRIBUTES_DISABLE
         # On 10.5 (Leopard) it wants COPYFILE_DISABLE
-        my $attr = $osx_ver eq '10.5' ? 'COPYFILE_DISABLE' : 'COPY_EXTENDED_ATTRIBUTES_DISABLE';
+        my $attr = $osx_ver =~ /^10.5/ ? 'COPYFILE_DISABLE' : 'COPY_EXTENDED_ATTRIBUTES_DISABLE';
 
         makemaker_args(dist => { PREOP => qq{\@if [ "\$\$$attr" != "true" ]; then}.
                                           qq{ echo "You must set the ENV variable $attr to true,"; }.
index a259b2f..656acf7 100644 (file)
@@ -59,11 +59,17 @@ has serializer => (
     default => 'YAML', coerce => 1,
 );
 
+has type_key => (
+    is => 'rw', required =>1,
+    default => 'type',
+);
+
+
 sub begin : Private {
     my ($self, $c) = @_;
 
     # Deserialize the request message
-        my $message;
+    my $message;
     my $s = $self->serializer;
     eval {
         my $body = $c->request->body;
@@ -121,7 +127,7 @@ sub default : Private {
 
     # Forward the request to the appropriate action, based on the
     # message type.
-    my $action = $c->stash->{request}->{type};
+    my $action = $c->stash->{request}->{ $self->type_key };
     if (defined $action) {
         $c->forward($action, [$c->stash->{request}]);
     }
index 3bfb611..218702e 100644 (file)
@@ -7,7 +7,7 @@ use namespace::autoclean;
 
 extends 'Catalyst::Engine::Embeddable';
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 has connection => (is => 'rw', isa => 'Net::Stomp');
 has conn_desc => (is => 'rw', isa => 'Str');
similarity index 89%
rename from t/lib/Catalyst/Test/MessageDriven.pm
rename to lib/CatalystX/Test/MessageDriven.pm
index db50c2b..281e7bc 100644 (file)
@@ -1,5 +1,4 @@
-package # PAUSE hide
-    Catalyst::Test::MessageDriven;
+package CatalystX::Test::MessageDriven;
 use Class::MOP;
 use Sub::Exporter;
 use HTTP::Request;
@@ -10,7 +9,7 @@ BEGIN {
 
 =head1 NAME
 
-Catalyst::Test::MessageDriven - test message-driven Catalyst apps
+CatalystX::Test::MessageDriven - test message-driven Catalyst apps
 
 =head1 DESCRIPTION
 
@@ -21,7 +20,7 @@ run with Catalyst::Engine::Stomp.
 
 =head1 SYNOPSIS
 
-  BEGIN { use_ok 'Catalyst::Test::MessageDriven', 'SomeApp' };
+  BEGIN { use_ok 'CatalystX::Test::MessageDriven', 'SomeApp' };
 
   my $req = '... some message text ...';
   my $queue = 'somequeue';
@@ -63,7 +62,7 @@ my $build_exports = sub {
     my $class = $args->{class};
 
     if (!$class) {
-        $request = sub { Catalyst::Exception->throw("Must specify a test app: use Catalyst::Test::MessageDriven 'TestApp'") };
+        $request = sub { Catalyst::Exception->throw("Must specify a test app: use CatalystX::Test::MessageDriven 'TestApp'") };
     }
     else {
         unless (Class::MOP::is_class_loaded($class)) {
index 7f21a53..a1ea8c3 100644 (file)
@@ -6,7 +6,7 @@ use FindBin;
 use lib "$FindBin::Bin/lib";
 
 BEGIN {
-    use_ok 'Catalyst::Test::MessageDriven', 'StompTestApp' or die;
+    use_ok 'CatalystX::Test::MessageDriven', 'StompTestApp' or die;
 };
 
 # successful request - type is minimum attributes