Astro-SpaceTrack

 view release on metacpan or  search on metacpan

t/spacetrack_request.t  view on Meta::CPAN

package main;

use strict;
use warnings;

use Test::More 0.96;

use Astro::SpaceTrack qw{ :ref };
use HTTP::Status qw{ HTTP_I_AM_A_TEAPOT };

use lib 'inc';

use Mock::LWP::UserAgent;
Mock::LWP::UserAgent->install_mock();

use constant DUMP_REQUEST => Astro::SpaceTrack->DUMP_REQUEST |
    Astro::SpaceTrack->DUMP_DRY_RUN;
use constant DUMP_NONE => Astro::SpaceTrack->DUMP_NONE;

my $loader = Astro::SpaceTrack->__get_loader() or do {
    plan skip_all => 'JSON required to check Space Track requests.';
    exit;
};

note 'Space Track v2 interface';

my $st = Astro::SpaceTrack->new(
    space_track_version	=> 2,
    dump_headers => DUMP_REQUEST,
    username	=> 'Yehudi',
    password	=> 'Menuhin',
);

my $base_url = $st->_make_space_track_base_url();

is_resp( qw{retrieve 25544}, [ {
	args => [
	    basicspacedata	=> 'query',
	    class	=> 'gp',
	    format	=> 'tle',
	    orderby	=> 'NORAD_CAT_ID asc',
	    NORAD_CAT_ID => 25544,
	],
	method => 'GET',
	url => "$base_url/basicspacedata/query/class/gp/format/tle/orderby/NORAD_CAT_ID%20asc/NORAD_CAT_ID/25544",
	version => 2,
    } ],
 );

$st->set( dump_headers => DUMP_NONE );

is_resp( qw{retrieve 25544}, <<'EOD' );
1 25544U First line of data
2 25544 Second line of data
EOD

$st->set( dump_headers => DUMP_REQUEST );

is_resp( qw{retrieve -sort catnum 25544}, [ {
	args => [
	    basicspacedata	=> 'query',
	    class	=> 'gp',
	    format	=> 'tle',
	    orderby	=> 'NORAD_CAT_ID asc',
	    NORAD_CAT_ID => 25544,
	],
	method => 'GET',
	url => "$base_url/basicspacedata/query/class/gp/format/tle/orderby/NORAD_CAT_ID%20asc/NORAD_CAT_ID/25544",
	version => 2,
    } ],
 );

is_resp( qw{retrieve -sort epoch 25544}, [ {
	args => [
	    basicspacedata	=> 'query',
	    class	=> 'gp',
	    format	=> 'tle',
	    orderby	=> 'EPOCH asc',
	    NORAD_CAT_ID => 25544,
	],
	method => 'GET',
	url => "$base_url/basicspacedata/query/class/gp/format/tle/orderby/EPOCH%20asc/NORAD_CAT_ID/25544",
	version => 2,
    } ],
 );

is_resp( qw{retrieve -descending 25544}, [ {
	args => [
	    basicspacedata	=> 'query',
	    class	=> 'gp',
	    format	=> 'tle',



( run in 0.656 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )