Imported Upstream version 14.35.0
[platform/upstream/libzypp.git] / tests / repo / susetags / Downloader_test.cc
1 #include <stdio.h>
2 #include <iostream>
3 #include <fstream>
4 #include <vector>
5 #include <list>
6 #include <boost/test/auto_unit_test.hpp>
7
8 #include "zypp/base/Logger.h"
9 #include "zypp/Url.h"
10 #include "zypp/PathInfo.h"
11 #include "zypp/TmpPath.h"
12 #include "zypp/repo/susetags/Downloader.h"
13
14 #include "tests/zypp/KeyRingTestReceiver.h"
15
16 using std::cout;
17 using std::endl;
18 using std::string;
19 using namespace zypp;
20 using namespace boost::unit_test;
21 using namespace zypp::repo;
22
23 #define DATADIR (Pathname(TESTS_SRC_DIR) + "/repo/susetags/data")
24
25 BOOST_AUTO_TEST_CASE(susetags_download)
26 {
27   KeyRingTestReceiver keyring_callbacks;
28   keyring_callbacks.answerAcceptKey(KeyRingReport::KEY_TRUST_TEMPORARILY);
29
30   Pathname p = DATADIR + "/stable-x86-subset";
31   MediaSetAccess media(p.asDirUrl());
32   RepoInfo repoinfo;
33   repoinfo.setAlias("testrepo");
34   repoinfo.setPath("/");
35   susetags::Downloader downloader(repoinfo);
36   filesystem::TmpDir tmp;
37
38   Pathname localdir(tmp.path());
39
40   downloader.download(media,localdir);
41
42   MIL << "All files downloaded" << endl;
43
44   const char* files[] =
45   {
46     "/suse",
47     "/suse/setup",
48     "/suse/setup/descr",
49     "/suse/setup/descr/kde-10.3-71.noarch.pat",
50     "/suse/setup/descr/packages",
51     "/suse/setup/descr/packages.DU",
52     "/suse/setup/descr/packages.en",
53 //    "/suse/setup/descr/packages.es",
54     "/suse/setup/descr/patterns",
55     "/content",
56     "/gpg-pubkey-7e2e3b05-44748aba.asc",
57     "/media.1",
58 //    "/media.1/products.asc",
59 //    "/media.1/products.key",
60     "/media.1/media",
61 //    "/media.1/products",
62 //    "/media.1/info.txt",
63 //    "/media.1/license.zip",
64     "/gpg-pubkey-a1912208-446a0899.asc",
65     "/gpg-pubkey-307e3d54-44201d5d.asc",
66     "/gpg-pubkey-9c800aca-40d8063e.asc",
67     "/content.asc",
68     "/content.key",
69     "/gpg-pubkey-3d25d3d9-36e12d04.asc",
70     "/gpg-pubkey-0dfb3188-41ed929b.asc",
71     NULL
72   };
73
74   int i=0;
75   while ( files[i] != NULL )
76   {
77     BOOST_CHECK_MESSAGE( PathInfo(localdir + files[i] ).isExist(), string(files[i]).c_str() );
78     i++;
79   }
80
81 }
82
83 BOOST_AUTO_TEST_CASE(susetags_gz_download)
84 {
85   KeyRingTestReceiver keyring_callbacks;
86   keyring_callbacks.answerAcceptKey(KeyRingReport::KEY_TRUST_TEMPORARILY);
87
88   Pathname p = DATADIR + "/stable-x86-subset-gz";
89   MediaSetAccess media(p.asDirUrl());
90   RepoInfo repoinfo;
91   repoinfo.setAlias("testrepo");
92   repoinfo.setPath("/");
93   susetags::Downloader downloader(repoinfo);
94   filesystem::TmpDir tmp;
95
96   Pathname localdir(tmp.path());
97
98   downloader.download(media,localdir);
99
100   const char* files[] =
101   {
102     "/suse",
103     "/suse/setup",
104     "/suse/setup/descr",
105     "/suse/setup/descr/kde-10.3-71.noarch.pat.gz",
106     "/suse/setup/descr/packages.gz",
107     "/suse/setup/descr/packages.DU.gz",
108     "/suse/setup/descr/packages.en.gz",
109 //    "/suse/setup/descr/packages.es",
110     "/suse/setup/descr/patterns.gz",
111     "/content",
112     "/gpg-pubkey-7e2e3b05-44748aba.asc",
113     "/media.1",
114 //    "/media.1/products.asc",
115 //    "/media.1/products.key",
116     "/media.1/media",
117 //    "/media.1/products",
118 //    "/media.1/info.txt",
119 //    "/license.tar.gz",
120 //    "/control.xml",
121 //    "/installation.xml",
122     "/gpg-pubkey-a1912208-446a0899.asc",
123     "/gpg-pubkey-307e3d54-44201d5d.asc",
124     "/gpg-pubkey-9c800aca-40d8063e.asc",
125     "/content.asc",
126     "/content.key",
127     "/gpg-pubkey-3d25d3d9-36e12d04.asc",
128     "/gpg-pubkey-0dfb3188-41ed929b.asc",
129     NULL
130   };
131
132   int i=0;
133   while ( files[i] != NULL )
134   {
135     BOOST_CHECK_MESSAGE( PathInfo(localdir + files[i] ).isExist(), string(files[i]).c_str() );
136     i++;
137   }
138
139 }
140
141 // vim: set ts=2 sts=2 sw=2 ai et: