From 0962bea6887d6d1ec5e74ddbc3a53467cf44c150 Mon Sep 17 00:00:00 2001 From: "Jonathan \"Duke\" Leto" Date: Sun, 22 May 2011 18:12:40 -0700 Subject: add a script to trigger our hook --- scripts/trigger_hook | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 scripts/trigger_hook (limited to 'scripts') diff --git a/scripts/trigger_hook b/scripts/trigger_hook new file mode 100644 index 0000000..7c031af --- /dev/null +++ b/scripts/trigger_hook @@ -0,0 +1,57 @@ +use strict; +use warnings; + +use jitterbug; +use jitterbug::Schema; + +use JSON; +use YAML qw/LoadFile Dump/; + +use File::Spec; +use File::Temp qw/tempdir/; + +use Dancer::Test; +use Dancer::Config qw/setting/; + +my $content = LoadFile('t/data/test.yaml'); + +my $db_file = File::Spec->catfile( qw/jitterbug.db/ ); +my $dsn = 'dbi:SQLite:dbname=' . $db_file; +my $schema = jitterbug::Schema->connect($dsn); +# assume we have a deployed schema +# $schema->deploy; + +setting plugins => { + DBIC => { + schema => { + skip_automake => 1, + pckg => "jitterbug::Schema", + connect_info => [$dsn] + } + } +}; + +{ + my $response = dancer_response( + POST => '/hook/', + { + headers => + [ 'Content-Type' => 'application/x-www-form-urlencoded' ], + body => _generate_post_request($content), + } + ); + + printf "Response was: %s\n", $response->{status}; +} + +sub _generate_post_request { + my $content = shift; + my $payload = "payload=" . JSON::encode_json($content); + open my $in, '<', \$payload; + + $ENV{'CONTENT_LENGTH'} = length($payload); + $ENV{'CONTENT_TYPE'} = 'application/x-www-form-urlencoded'; + $ENV{'psgi.input'} = $in; + return $payload; +} + -- cgit 1.4.1