69c759697da2a1158fb8b3037b4a68b48f5e6ab6
[webservice-strike.git] / t / WebService-Strike.t
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4
5 use Data::Dumper qw/Dumper/;
6 use Test::RequiresInternet qw/getstrike.net 443/;
7 use Test::More tests => 8;
8 use Try::Tiny;
9 BEGIN { use_ok('WebService::Strike') };
10
11 my ($t1, $t2, $t3);
12 try {
13 ($t1, $t2, $t3) = strike qw/66FC47BF95D1AA5ECA358F12C70AF3BA5C7E8F9A 5D4FD5A64E436A831383773F85FB38B888B9ECC9 B425907E5755031BDA4A8D1B6DCCACA97DA14C04/;
14 } catch {
15 diag 'Error while calling strike:', "\n", Dumper $_
16 };
17
18 subtest 'order' => sub {
19 plan tests => 3;
20 is $t1->hash, '66FC47BF95D1AA5ECA358F12C70AF3BA5C7E8F9A', 'hash #1';
21 is $t2->hash, '5D4FD5A64E436A831383773F85FB38B888B9ECC9', 'hash #2';
22 is $t3->hash, 'B425907E5755031BDA4A8D1B6DCCACA97DA14C04', 'hash #3'
23 };
24
25 is $t1->date, 1439319419, 'date';
26 is $t2->title, 'FreeBSD 7.1 i386.DVD.iso', 'title';
27 like $t2->description, qr#FreeBSD#, 'description contains FreeBSD';
28
29 try {
30 strike 'aaa';
31 } catch {
32 is $_->{status}, 404, 'non-existent torrent status is 404';
33 };
34
35 my @debian = strike_search 'Debian';
36 ok @debian > 10, 'search for Debian returned more than 10 results';
37 try {
38 strike_search "nosuchstring$$";
39 } catch {
40 is $_->{status}, 404, "search for nosuchstring$$ returned 404"
41 };
42
43 # Test disabled as it fails due to the API returning bad results
44 #my $p = strike_search 'Perl', 1;
45 #say STDERR $p->hash;
46 #
47 #is @{$p->file_names}, $p->count, 'file_names has count elements';
48
49 # Test disabled as I can't find a torrent with an IMDB ID. Presumably
50 # this feature of the API is broken.
51 #my $imdb = strike('ED70C185E3E3246F30B2FDB08D504EABED5EEA3F')->imdb;
52 #is $imdb->{title}, 'The Walking Dead', 'imdb title';
This page took 0.02532 seconds and 3 git commands to generate.