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() diff --git a/test/test_basic.py b/test/test_python_basic.py similarity index 95% rename from test/test_basic.py rename to test/test_python_basic.py index ec893325..155407b7 100644 --- a/test/test_basic.py +++ b/test/test_python_basic.py @@ -10,7 +10,7 @@ class TestUnitBasic(unit.TestUnitControl): if module_missed: raise unittest.SkipTest('Unit has no ' + module_missed + ' module') - def test_get(self): + def test_python_get(self): resp = self.get() self.assertEqual(resp, {'listeners': {}, 'applications': {}}, 'empty') self.assertEqual(self.get('/listeners'), {}, 'empty listeners prefix') @@ -78,7 +78,7 @@ class TestUnitBasic(unit.TestUnitControl): self.assertEqual(self.get('/listeners/*:7080/application'), 'app', 'python listeners application') - def test_put(self): + def test_python_put(self): self.put('/', """ { "listeners": { @@ -138,7 +138,7 @@ class TestUnitBasic(unit.TestUnitControl): self.assertEqual(self.get('/applications/app/path'), '/www', 'put applications path') - def test_delete(self): + def test_python_delete(self): self.put('/', """ { "listeners": {