1 | use strict; |
---|
2 | use warnings; |
---|
3 | use Test::More; |
---|
4 | require RPC::XML; |
---|
5 | use HTTP::Request; |
---|
6 | |
---|
7 | # know existing data: |
---|
8 | my $distribution = 'Mandriva'; |
---|
9 | my $release = '2010.1'; |
---|
10 | my $arch = 'x86_64'; |
---|
11 | my $media = 'main-release'; |
---|
12 | my $pkgid = '45db73adf5f9ceabc8f9ea1dabccffcc'; |
---|
13 | my $rpmname = 'rpm'; |
---|
14 | |
---|
15 | BEGIN { use_ok 'Catalyst::Test', 'Sophie' } |
---|
16 | BEGIN { use_ok 'Sophie::Controller::Distrib' } |
---|
17 | |
---|
18 | sub xmlrpcreq { |
---|
19 | my (@xmlargs) = @_; |
---|
20 | my $str = RPC::XML::request->new( @xmlargs )->as_string; |
---|
21 | |
---|
22 | my $req = HTTP::Request->new( POST => 'http://localhost/rpc' ); |
---|
23 | $req->header( 'Content-Length' => length($str) ); |
---|
24 | $req->header( 'Content-Type' => 'text/xml' ); |
---|
25 | $req->content( $str ); |
---|
26 | return $req; |
---|
27 | } |
---|
28 | |
---|
29 | ok( request('/distrib')->is_success, 'Request should succeed' ); |
---|
30 | ok( request("/distrib/$distribution")->is_success, 'Request should succeed' ); |
---|
31 | ok( request( xmlrpcreq('distrib.list') ), "XMLRPC"); |
---|
32 | ok( request( xmlrpcreq('distrib.list', $distribution) ), "XMLRPC"); |
---|
33 | ok( request("/distrib/$distribution/$release")->is_success, 'Request should succeed' ); |
---|
34 | ok( request("/distrib/$distribution/$release/$arch")->is_success, 'Request should succeed' ); |
---|
35 | ok( request("/distrib/$distribution/$release/$arch/media")->is_success, 'Request should succeed' ); |
---|
36 | ok( |
---|
37 | request("/distrib/$distribution/$release/$arch/media/$media/by-pkgid/$pkgid") |
---|
38 | ->is_success, "request media/pkgid"); |
---|
39 | ok( |
---|
40 | request("/distrib/$distribution/$release/$arch/media/$media/by-pkgid/$pkgid/deps") |
---|
41 | ->is_success, "request media/pkgid/deps"); |
---|
42 | ok( |
---|
43 | request("/distrib/$distribution/$release/$arch/media/$media/by-pkgid/$pkgid/files") |
---|
44 | ->is_success, "request media/pkgid/files"); |
---|
45 | ok( |
---|
46 | request("/distrib/$distribution/$release/$arch/media/$media/by-pkgid/$pkgid/changelog") |
---|
47 | ->is_success, "request media/pkgid/changelog"); |
---|
48 | |
---|
49 | ok( |
---|
50 | request("/distrib/$distribution/$release/$arch/rpms/$rpmname") |
---|
51 | ->is_success, "request rpms/$rpmname"); |
---|
52 | ok( |
---|
53 | request("/distrib/$distribution/$release/$arch/srpms/$rpmname") |
---|
54 | ->is_success, "request srpms/$rpmname"); |
---|
55 | |
---|
56 | ok( |
---|
57 | request("/distrib/$distribution/$release/$arch/by-pkgid/$pkgid") |
---|
58 | ->is_success, "request distrib bypkgid"); |
---|
59 | |
---|
60 | done_testing(); |
---|