1# -*- perl -*-
2
3# t/002_parsecosmosxml.t - checks loading cosmos api query and results parsing
4
5use Test::More tests => 5;
6use XML::XPath;
7use XML::Parser;
8use WebService::Technorati;
9use FindBin qw($Bin);
10
11my $apiKey = 'a_key_that_wont_work_with_a_live_query';
12my $url = 'http://www.arachna.com/roller/page/spidaman';
13my $t = WebService::Technorati->new(key => $apiKey);
14my $cq = $t->getCosmosApiQuery($url);
15
16my $parser = new XML::Parser(NoLWP => 1);
17my $result_xp = XML::XPath->new(
18    parser => $parser,
19    filename => "$Bin/testdata/cosmos.xml");
20$cq->readResults($result_xp);
21
22my $linkquery = $cq->getLinkQuerySubject();
23isa_ok($linkquery, 'WebService::Technorati::LinkQuerySubject');
24my @links = $cq->getInboundLinks();
25is(19, $#links);
26my $link = pop(@links);
27isa_ok($link, 'WebService::Technorati::BlogLink');
28
29
30$result_xp = XML::XPath->new(
31    parser => $parser,
32    filename => "$Bin/testdata/cosmos-nonblog.xml");
33$linkquery = $cq->getLinkQuerySubject();
34isa_ok($linkquery, 'WebService::Technorati::LinkQuerySubject');
35@links = $cq->getInboundLinks();
36is(19, $#links);
37
38