From 3b6d3151f1396f71ca34f047ecb55eaff020ee1c Mon Sep 17 00:00:00 2001 From: Andrey Zelenkov Date: Wed, 6 Dec 2017 15:36:05 +0300 Subject: Tests: added basic PHP tests. --- test/test_php_basic.py | 170 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 test/test_php_basic.py (limited to 'test/test_php_basic.py') diff --git a/test/test_php_basic.py b/test/test_php_basic.py new file mode 100644 index 00000000..b2051b01 --- /dev/null +++ b/test/test_php_basic.py @@ -0,0 +1,170 @@ +import unit +import unittest + +class TestUnitBasic(unit.TestUnitControl): + + @classmethod + def setUpClass(cls): + u = unit.TestUnit() + module_missed = u.check_modules('php') + if module_missed: + raise unittest.SkipTest('Unit has no ' + module_missed + ' module') + + def test_php_get(self): + resp = self.get() + self.assertEqual(resp, {'listeners': {}, 'applications': {}}, 'empty') + self.assertEqual(self.get('/listeners'), {}, 'empty listeners prefix') + self.assertEqual(self.get('/applications'), {}, + 'empty applications prefix') + + self.put('/applications', """ + { + "app": { + "type": "php", + "workers": 1, + "root": "/app", + "index": "index.php" + } + } + """) + + resp = self.get() + + self.assertEqual(resp['listeners'], {}, 'php empty listeners') + self.assertEqual(resp['applications'], + { + "app": { + "type": "php", + "workers": 1, + "root": "/app", + "index": "index.php" + } + }, + 'php applications') + + self.assertEqual(self.get('/applications'), + { + "app": { + "type": "php", + "workers": 1, + "root": "/app", + "index": "index.php" + } + }, + 'php applications prefix') + + self.assertEqual(self.get('/applications/app'), + { + "type": "php", + "workers": 1, + "root": "/app", + "index": "index.php" + }, + 'php applications prefix 2') + + self.assertEqual(self.get('/applications/app/type'), 'php', + 'php applications type') + self.assertEqual(self.get('/applications/app/workers'), 1, + 'php applications workers') + + self.put('/listeners', '{"*:7080":{"application":"app"}}') + + self.assertEqual(self.get()['listeners'], + {"*:7080":{"application":"app"}}, 'php listeners') + self.assertEqual(self.get('/listeners'), + {"*:7080":{"application":"app"}}, 'php listeners prefix') + self.assertEqual(self.get('/listeners/*:7080'), + {"application":"app"}, 'php listeners prefix 2') + self.assertEqual(self.get('/listeners/*:7080/application'), 'app', + 'php listeners application') + + def test_php_put(self): + self.put('/', """ + { + "listeners": { + "*:7080": { + "application": "app" + } + }, + "applications": { + "app": { + "type": "php", + "workers": 1, + "root": "/app", + "index": "index.php" + } + } + } + """) + + resp = self.get() + + self.assertEqual(resp['listeners'], {"*:7080":{"application":"app"}}, + 'put listeners') + + self.assertEqual(resp['applications'], + { + "app": { + "type": "php", + "workers": 1, + "root": "/app", + "index": "index.php" + } + }, + 'put applications') + + self.put('/listeners', '{"*:7081":{"application":"app"}}') + self.assertEqual(self.get('/listeners'), + {"*:7081": {"application":"app"}}, 'put listeners prefix') + + self.put('/listeners/*:7082', '{"application":"app"}') + + self.assertEqual(self.get('/listeners'), + { + "*:7081": { + "application": "app" + }, + "*:7082": { + "application": "app" + } + }, + 'put listeners prefix 3') + + self.put('/applications/app/workers', '30') + self.assertEqual(self.get('/applications/app/workers'), 30, + 'put applications workers') + + self.put('/applications/app/root', '"/www"') + self.assertEqual(self.get('/applications/app/root'), '/www', + 'put applications root') + + def test_php_delete(self): + self.put('/', """ + { + "listeners": { + "*:7080": { + "application": "app" + } + }, + "applications": { + "app": { + "type": "php", + "workers": 1, + "root": "/app", + "index": "index.php" + } + } + } + """) + + self.assertIn('error', self.delete('/applications/app'), + 'delete app before listener') + self.assertIn('success', self.delete('/listeners/*:7080'), + 'delete listener') + self.assertIn('success', self.delete('/applications/app'), + 'delete app after listener') + self.assertIn('error', self.delete('/applications/app'), + 'delete app again') + +if __name__ == '__main__': + unittest.main() -- cgit