use strict; use warnings; use Test::More; use Data::Dumper; use Storable; use Flickr::API; if (defined($ENV{MAKETEST_OAUTH_CFG})) { plan( tests => 11 ); } else { plan(skip_all => 'These tests require that MAKETEST_OAUTH_CFG points to a valid config, see README.'); } my $config_file = $ENV{MAKETEST_OAUTH_CFG}; my $config_ref; my $fileflag=0; if (-r $config_file) { $fileflag = 1; } is($fileflag, 1, "Is the config file: $config_file, readable?"); SKIP: { skip "Skipping request token tests, oauth config isn't there or is not readable", 10 if $fileflag == 0; my $api = Flickr::API->import_storable_config($config_file); isa_ok($api, 'Flickr::API'); is($api->is_oauth, 1, 'Does Flickr::API object identify as OAuth'); SKIP: { skip "Skipping request token tests, oauth config already has accesstoken", 8 if $api->get_oauth_request_type() =~ m/protected resource/i; is($api->get_oauth_request_type(), 'consumer', 'Does Flickr::API object identify as consumer request'); my $request_req = $api->oauth_request_token({'callback' => $config_ref->{callback}}); is($request_req, 'ok', "Did oauth_request_token complete successfully"); SKIP: { skip "Skipping request token tests, oauth_request_token returns $request_req", 6 if $request_req ne 'ok'; my %config = $api->export_config(); $config{'continue-to-access'} = $request_req; $fileflag=0; if (-w $config_file) { $fileflag = 1; } is($fileflag, 1, "Is the config file: $config_file, writeable?"); $api->export_storable_config($config_file); my $api2 = Flickr::API->import_storable_config($config_file); isa_ok($api2, 'Flickr::API'); is_deeply($api2->{oauth}, $api->{oauth}, "Did import_storable_config get back the config we stored"); isa_ok($api2->{oauth}->{request_token}, 'Net::OAuth::V1_0A::RequestTokenResponse'); is($api->{oauth}->{request_token}->{callback_confirmed}, 'true', 'Is the callback confirmed in the request token'); #10 like($api2->{oauth}->{request_token}->{token_secret}, qr/[0-9a-f]+/i, 'Was a request token received and are we good to go to to access token tests?'); print "\n\nOAuth Config:\n\n",Dumper($api2->{oauth}),"\n\n"; } } } exit; # Local Variables: # mode: Perl # End: