#!perl
eval
'use TestUA'
;
plan
skip_all
=>
'LWP::UserAgent 5.819 required'
if
$@;
plan
tests
=> 13;
my
$nt
= Net::Twitter->new(
legacy
=> 1);
isa_ok
$nt
,
'Net::Twitter'
;
$nt
= Net::Twitter->new(
legacy
=> 0);
my
$t
= TestUA->new(1,
$nt
->ua);
is exception {
$nt
->user_timeline },
undef
,
"lives without credentials"
;
ok !
$t
->request->header(
'Authorization'
),
"no auth header without credentials"
;
$nt
->credentials(
homer
=>
'doh!'
);
is exception {
$nt
->user_timeline },
undef
,
"lives with credentials"
;
like
$t
->request->header(
'Authorization'
),
qr/Basic/
,
"has Basic Auth header"
;
$nt
->public_timeline;
ok
$t
->request->header(
'Authorization'
),
"public timeline auths by default"
;
$nt
->public_timeline({
authenticate
=> 0 });
ok !
$t
->request->header(
'Authorization'
),
"public timeline can auth"
;
$nt
->public_timeline({
authenticate
=> 1 });
ok
$t
->request->header(
'Authorization'
),
"can force authentication"
;
$nt
->rate_limit_status({
authenticate
=> 0 });
ok !
$t
->request->header(
'Authorization'
),
"rate_limit_status allows no-auth"
;
$nt
->rate_limit_status;
ok
$t
->request->header(
'Authorization'
),
"rate_limit_status defaults to auth"
;
$nt
= Net::Twitter->new(
traits
=> [
qw/API::REST OAuth/
],
consumer_key
=>
'com key'
,
consumer_secret
=>
'com secret'
,
);
$t
= TestUA->new(1,
$nt
->ua);
is exception {
$nt
->user_timeline },
undef
,
"lives without oauth tokens"
;
ok !
$t
->request->header(
'Authorization'
),
"no auth header without access tokens"
;
$nt
->access_token(
'1234'
);
$nt
->access_token_secret(
'5678'
);
is exception {
$nt
->user_timeline },
undef
,
"lives with access tokens"
;