Astro-SpaceTrack
view release on metacpan or search on metacpan
xt/author/spacetrack_catalogs.t view on Meta::CPAN
package main;
use 5.006002;
use strict;
use warnings;
use Astro::SpaceTrack;
use Test::More 0.88; # Because of done_testing();
use HTML::TreeBuilder;
use lib qw{ inc };
use My::Module::Test qw{ spacetrack_skip_no_prompt };
spacetrack_skip_no_prompt();
{
my $st = Astro::SpaceTrack->new();
my $resp = $st->login();
$resp->is_success()
or do {
fail 'Space Track login failed: ' . $resp->status_line();
last;
};
my $ua = $st->_get_agent();
$resp = $ua->get( $st->_make_space_track_base_url() );
$resp->is_success()
or do {
fail 'Space Track page fetch failed: ' . $resp->status_line();
last;
};
my $tree = HTML::TreeBuilder->new_from_content( $resp->content() );
my $node = $tree->look_down( _tag => 'div', class => 'tab-pane', id =>
'recent' );
defined $node
or do {
fail 'Space Track catalog information could not be found';
last;
};
# We have to remove the links to the complete daily files, since
# these change from day to day. If we can't find it, we probably get
# an error anyway, so we can fix what went wrong.
# if (
# my $daily = $node->look_down(
# _tag => 'div', class => 'span3 offset2' )
# ) {
# $daily->detach();
# }
foreach my $daily ( $node->look_down(
_tag => 'a', href => qr< \b PUBLISH_EPOCH \b >smx ) ) {
$daily->detach();
}
my %data;
$data{expect} = <<'EOD';
<div class="tab-pane" id="recent">
<div class="panel panel-default panel-st-primary">
<div class="panel-heading"> Bulk Download Alternative</div>
<div class="panel-body">
<div class="row">
<div class="col-md-6">
<h2>Current Catalog Files</h2> The following links show the most recent element set ("elset") for every object in the specified group that has received an update within the past 30 days. Other options are available on t...
<br />
<div class="row">
<div class="col-md-6"> Full Catalog <ul>
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/gp/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID,EPOCH/format/xml" target="_blank"> OMM (XML)</a><li><a data-original-title="Qu...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/gp/EPOCH/%3Enow-30/MEAN_MOTION/0.99--1.01/ECCENTRICITY/%3C0.01/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID,EPOCH/format/x...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/gp/EPOCH/%3Enow-30/MEAN_MOTION/1.8--2.39/ECCENTRICITY/%3C0.25/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID,EPOCH/format/xm...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/gp/EPOCH/%3Enow-30/MEAN_MOTION/%3E11.25/ECCENTRICITY/%3C0.25/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID,EPOCH/format/xml...
<li><a data-original-title="Query URL" href="https://www.space-track.org/basicspacedata/query/class/gp/EPOCH/%3Enow-30/ECCENTRICITY/%3E0.25/OBJECT_TYPE/payload/orderby/NORAD_CAT_ID,EPOCH/format/xml" target="_blank"> OM...
</div>
( run in 0.680 second using v1.01-cache-2.11-cpan-0b5f733616e )