Imported Upstream version 17.22.1
[platform/upstream/libzypp.git] / tests / media / MetaLinkParser_test.cc
1 #include <iostream>
2 #include <vector>
3 #include <boost/test/unit_test.hpp>
4
5 #include "zypp/media/MetaLinkParser.h"
6
7 using namespace std;
8 using namespace zypp;
9 using namespace zypp::media;
10
11 BOOST_AUTO_TEST_CASE(parse_metalink)
12 {
13   Pathname meta3file = TESTS_SRC_DIR "/media/data/openSUSE-11.3-NET-i586.iso.metalink";
14   Pathname meta4file = TESTS_SRC_DIR "/media/data/openSUSE-11.3-NET-i586.iso.meta4";
15
16         MetaLinkParser mlp3;
17         MetaLinkParser mlp4;
18
19   mlp3.parse(meta3file);
20   MediaBlockList bl3 = mlp3.getBlockList();
21   vector<Url> urls3 = mlp3.getUrls();
22
23   mlp4.parse(meta4file);
24   MediaBlockList bl4 = mlp4.getBlockList();
25   vector<Url> urls4 = mlp4.getUrls();
26
27
28   BOOST_CHECK(bl3.asString() == bl4.asString());
29
30   BOOST_CHECK(urls3.size() == 94);
31   BOOST_CHECK(urls4.size() == 94);
32
33   BOOST_CHECK(urls3.begin()->asString() == "http://ftp.uni-kl.de/pub/linux/opensuse/distribution/11.3/iso/openSUSE-11.3-NET-i586.iso");
34   BOOST_CHECK(urls4.begin()->asString() == "http://ftp4.gwdg.de/pub/opensuse/distribution/11.3/iso/openSUSE-11.3-NET-i586.iso");
35
36   BOOST_CHECK(bl3.getFilesize() == 120285184);
37   BOOST_CHECK(bl4.getFilesize() == 120285184);
38
39   BOOST_CHECK(bl3.numBlocks() == 459);
40   BOOST_CHECK(bl4.numBlocks() == 459);
41 }