Reject large number of WebRTC audio channels
[WebKit-https.git] / tests / test_main.py
1 #!/usr/bin/env python
2 import os, sys, shutil, errno, unittest
3 from ConfigParser import ConfigParser
4 from StringIO import StringIO
5 import planet
6
7 class MainTest(unittest.TestCase):
8     
9     def test_minimal(self):
10         configp = ConfigParser()
11         my_planet = planet.Planet(configp)
12         my_planet.run("Planet Name", "http://example.com", [])
13
14     def test_onefeed(self):
15         configp = ConfigParser()
16         configp.readfp(StringIO("""[http://www.example.com/]
17 name = Mary
18 """))
19         my_planet = planet.Planet(configp)
20         my_planet.run("Planet Name", "http://example.com", [], True)
21
22
23     def test_generateall(self):
24         configp = ConfigParser()
25         configp.readfp(StringIO("""[http://www.example.com/]
26 name = Mary
27 """))
28         my_planet = planet.Planet(configp)
29         my_planet.run("Planet Name", "http://example.com", [], True)
30         basedir = os.path.join(os.path.dirname(os.path.abspath(sys.modules[__name__].__file__)), 'data')
31         os.mkdir(self.output_dir)
32         t_file_names = ['simple', 'simple2']
33         self._remove_cached_templates(basedir, t_file_names)
34         t_files = [os.path.join(basedir, t_file) + '.tmpl' for t_file in t_file_names]
35         my_planet.generate_all_files(t_files, "Planet Name",
36                 'http://example.com/', 'http://example.com/feed/', 'Mary', 'mary@example.com')
37         for file_name in t_file_names:
38             name = os.path.join(self.output_dir, file_name)
39             content = file(name).read()
40             self.assertEqual(content, 'Mary\n')
41
42     def _remove_cached_templates(self, basedir, template_files):
43         """
44         Remove the .tmplc files and force them to be rebuilt.
45
46         This is required mainly so that the tests don't fail in mysterious ways in
47         directories that have been moved, eg 'branches/my-branch' to
48         'branches/mysterious-branch' -- the .tmplc files seem to remember their full
49         path
50         """
51         for file in template_files:
52             path = os.path.join(basedir, file + '.tmplc')
53             try:
54                 os.remove(path)
55             except OSError, e:
56                 # we don't care about the file not being there, we care about
57                 # everything else
58                 if e.errno != errno.ENOENT:
59                     raise
60
61     def setUp(self):
62         super(MainTest, self).setUp()
63         self.output_dir = 'output'
64
65     def tearDown(self):
66         super(MainTest, self).tearDown()
67         shutil.rmtree(self.output_dir, ignore_errors = True)
68         shutil.rmtree('cache', ignore_errors = True)
69
70 if __name__ == '__main__':
71     unittest.main()