chiark / gitweb /
add a basic test of `fdroid import`
[fdroidserver.git] / tests / import.TestCase
1 #!/usr/bin/env python2
2 # -*- coding: utf-8 -*-
3
4 # http://www.drdobbs.com/testing/unit-testing-with-python/240165163
5
6 import inspect
7 import optparse
8 import os
9 import sys
10 import unittest
11
12 localmodule = os.path.realpath(
13     os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..'))
14 print('localmodule: ' + localmodule)
15 if localmodule not in sys.path:
16     sys.path.insert(0, localmodule)
17
18 import fdroidserver.common
19 import fdroidserver.metadata
20 # work around the syntax error from: import fdroidserver.import
21 import import_proxy
22
23
24 class ImportTest(unittest.TestCase):
25     '''fdroid import'''
26
27     def test_import_gitlab(self):
28         # FDroidPopen needs some config to work
29         fdroidserver.common.config = dict()
30         fdroidserver.common.config['sdk_path'] = '/fake/path/to/android-sdk'
31
32         url = 'https://gitlab.com/fdroid/fdroidclient'
33         apps = dict()
34         appid, app = fdroidserver.metadata.get_default_app_info_list(apps)
35         app['Update Check Mode'] = "Tags"
36         root_dir, src_dir = import_proxy.get_metadata_from_url(app, url)
37         self.assertEquals(app['Repo Type'], 'git')
38         self.assertEquals(app['Web Site'], 'https://gitlab.com/fdroid/fdroidclient')
39         self.assertEquals(app['Repo'], 'https://gitlab.com/fdroid/fdroidclient.git')
40
41
42 if __name__ == "__main__":
43     parser = optparse.OptionParser()
44     parser.add_option("-v", "--verbose", action="store_true", default=False,
45                       help="Spew out even more information than normal")
46     (fdroidserver.common.options, args) = parser.parse_args(['--verbose'])
47
48     newSuite = unittest.TestSuite()
49     newSuite.addTest(unittest.makeSuite(ImportTest))
50     unittest.main()