Automatic update of common submodule
[platform/upstream/gstreamer.git] / bindings / python / test.py
1 import unittest
2 import rtspserver
3
4
5 def pubdir(obj):
6     return [d for d in dir(obj) if not d.startswith('_')]
7
8 #print 'Module listing:', pubdir(rtspserver)
9
10 from rtspserver import Server, SessionPool, Session, MediaMapping, MediaFactory
11
12 #print 'Server listing: ', pubdir(Server)
13 #print 'MediaMapping listing: ', pubdir(MediaMapping)
14 #print 'MediaFactory listing: ', pubdir(MediaFactory)
15 #print 'SessionPool listing: ', pubdir(SessionPool)
16 #print 'Session listing: ', pubdir(Session)
17
18
19 class ServerTestCase(unittest.TestCase):
20
21     def setUp(self):
22         self.server = Server()
23
24     def tearDown(self):
25         del self.server
26
27     def test_address(self):
28         """ Server address set/get """
29         addr = '1.2.3.4'
30         self.server.set_address(addr)
31         self.assertEquals(addr, self.server.get_address())
32
33     def test_service(self):
34         """ Server service set/get """
35         service = '12345'
36         self.server.set_service(service)
37         self.assertEquals(service, self.server.get_service())
38
39     def test_backlog(self):
40         """ Server backlog set/get """
41         backlog = 1234
42         self.server.set_backlog(backlog)
43         self.assertEquals(backlog, self.server.get_backlog())
44
45     def test_session_pool(self):
46         """ Server session pool set/get """
47         pool = SessionPool()
48         self.server.set_session_pool(pool)
49         self.assertEquals(pool, self.server.get_session_pool())
50
51     def test_media_mapping(self):
52         """ Server media mapping set/get """
53         mmap = MediaMapping()
54         self.server.set_media_mapping(mmap)
55         self.assertEquals(mmap, self.server.get_media_mapping())
56
57
58 class MediaMappingTestCase(unittest.TestCase):
59
60     def setUp(self):
61         self.mmap = MediaMapping()
62
63     def tearDown(self):
64         del self.mmap
65
66     def test_factory(self):
67         """ MediaMapping factory add/remove """
68         self.factory = MediaFactory()
69         self.mmap.add_factory("/test", self.factory)
70         self.mmap.remove_factory("/test")
71
72
73 class MediaFactoryTestCase(unittest.TestCase):
74
75     def setUp(self):
76         self.factory = MediaFactory()
77
78     def tearDown(self):
79         del self.factory
80
81     def test_launch(self):
82         """ MediaFactory launch set/get """
83         launch = "videotestsrc ! xvimagesink"
84         self.factory.set_launch(launch)
85         self.assertEquals(launch, self.factory.get_launch())
86
87     def test_shared(self):
88         """ MediaFactory shared set/is """
89         self.factory.set_shared(True)
90         self.assert_(self.factory.is_shared())
91         self.factory.set_shared(False)
92         self.assert_(not self.factory.is_shared())
93
94     def test_eos_shutdown(self):
95         """ MediaFactory eos_shutdown set/is """
96         self.factory.set_eos_shutdown(True)
97         self.assert_(self.factory.is_eos_shutdown())
98         self.factory.set_eos_shutdown(False)
99         self.assert_(not self.factory.is_eos_shutdown())
100
101
102
103 def alltests():
104     tests = []
105
106     for p in dir(ServerTestCase):
107         try:
108             if 'test_' in p:
109                 tests.append(ServerTestCase(p))
110         except:
111             pass
112
113     for p in dir(MediaMappingTestCase):
114         try:
115             if 'test_' in p:
116                 tests.append(MediaMappingTestCase(p))
117         except:
118             pass
119
120     for p in dir(MediaFactoryTestCase):
121         try:
122             if 'test_' in p:
123                 tests.append(MediaFactoryTestCase(p))
124         except:
125             pass
126
127     return unittest.TestSuite(tests)
128
129
130 unittest.TextTestRunner(verbosity=2).run(alltests())