AnyEvent-Twitter

 view release on metacpan or  search on metacpan

xt/get_request_token.t  view on Meta::CPAN

use strict;
use utf8;
use Test::More;

use Data::Dumper;
use JSON;
use Encode;
use AnyEvent::Twitter;

plan skip_all => 'This test should not be executed by prove'
    if $ENV{HARNESS_ACTIVE};

my $config;

if (-f './xt/config.json') {
    open my $fh, '<', './xt/config-token-test.json' or die $!;
    $config = decode_json(join '', <$fh>);
    close $fh or die $!;
} else {
    plan skip_all => 'There is no setting file for testing';
}

my $screen_name = $config->{screen_name};

{
    my %token;

    my $cv = AE::cv;
    $cv->begin;
    AnyEvent::Twitter->get_request_token(
        consumer_key    => $config->{consumer_key},
        consumer_secret => $config->{consumer_secret},
        callback_url    => 'http://localhost:5000/',
        auth => 'authenticate',
        cb   => sub {
            my ($location, $token, $body, $header) = @_;

            note Dumper \@_;
            like $location, qr/^http/, 'authorize location';

            %token = %$token;
            $cv->end;
        },
    );
    $cv->recv;

    print "token: ";
    my $oauth_token = <STDIN>;
    chomp $oauth_token;

    print "verifier: ";
    my $oauth_verifier = <STDIN>;
    chomp $oauth_verifier;

    $cv = AE::cv;
    $cv->begin;
    AnyEvent::Twitter->get_access_token(
        consumer_key       => $config->{consumer_key},
        consumer_secret    => $config->{consumer_secret},
        oauth_token        => $oauth_token,
        oauth_token_secret => $token{oauth_token_secret},
        oauth_verifier     => $oauth_verifier,
        cb => sub {
            my ($token, $body, $header) = @_;



( run in 0.662 second using v1.01-cache-2.11-cpan-39bf76dae61 )