Tests: added methods to manage unit configuration.
This commit is contained in:
@@ -7,10 +7,10 @@ class TestUnitConfiguration(unit.TestUnitControl):
|
||||
unit.TestUnit().check_modules('python')
|
||||
|
||||
def test_json_leading_zero(self):
|
||||
self.assertIn('error', self.put('/', '00'), 'leading zero')
|
||||
self.assertIn('error', self.conf('00'), 'leading zero')
|
||||
|
||||
def test_json_unicode(self):
|
||||
self.assertIn('success', self.put('/applications', b"""
|
||||
self.assertIn('success', self.conf(b"""
|
||||
{
|
||||
"ap\u0070": {
|
||||
"type": "\u0070ython",
|
||||
@@ -19,22 +19,20 @@ class TestUnitConfiguration(unit.TestUnitControl):
|
||||
"module": "wsgi"
|
||||
}
|
||||
}
|
||||
"""), 'unicode')
|
||||
""", '/applications'), 'unicode')
|
||||
|
||||
def test_json_unicode_2(self):
|
||||
self.assertIn('success', self.put('/applications', """
|
||||
{
|
||||
"приложение": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
self.assertIn('success', self.conf({
|
||||
"приложение": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
"""), 'unicode 2')
|
||||
}, '/applications'), 'unicode 2')
|
||||
|
||||
def test_json_unicode_number(self):
|
||||
self.assertIn('error', self.put('/applications', b"""
|
||||
self.assertIn('error', self.conf(b"""
|
||||
{
|
||||
"app": {
|
||||
"type": "python",
|
||||
@@ -43,39 +41,35 @@ class TestUnitConfiguration(unit.TestUnitControl):
|
||||
"module": "wsgi"
|
||||
}
|
||||
}
|
||||
"""), 'unicode number')
|
||||
""", '/applications'), 'unicode number')
|
||||
|
||||
def test_applications_open_brace(self):
|
||||
self.assertIn('error', self.put('/applications', '{'), 'open brace')
|
||||
self.assertIn('error', self.conf('{', '/applications'), 'open brace')
|
||||
|
||||
def test_applications_string(self):
|
||||
self.assertIn('error', self.put('/applications', '"{}"'), 'string')
|
||||
self.assertIn('error', self.conf('"{}"', '/applications'), 'string')
|
||||
|
||||
@unittest.expectedFailure
|
||||
def test_negative_workers(self):
|
||||
self.assertIn('error', self.put('/applications', """
|
||||
{
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": -1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
self.assertIn('error', self.conf({
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": -1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
"""), 'negative workers')
|
||||
}, '/applications'), 'negative workers')
|
||||
|
||||
@unittest.expectedFailure
|
||||
def test_applications_type_only(self):
|
||||
self.assertIn('error', self.put('/applications', """
|
||||
{
|
||||
"app": {
|
||||
"type": "python"
|
||||
}
|
||||
self.assertIn('error', self.conf({
|
||||
"app": {
|
||||
"type": "python"
|
||||
}
|
||||
"""), 'type only')
|
||||
}, '/applications'), 'type only')
|
||||
|
||||
def test_applications_miss_quote(self):
|
||||
self.assertIn('error', self.put('/applications', """
|
||||
self.assertIn('error', self.conf("""
|
||||
{
|
||||
app": {
|
||||
"type": "python",
|
||||
@@ -84,10 +78,10 @@ class TestUnitConfiguration(unit.TestUnitControl):
|
||||
"module": "wsgi"
|
||||
}
|
||||
}
|
||||
"""), 'miss quote')
|
||||
""", '/applications'), 'miss quote')
|
||||
|
||||
def test_applications_miss_colon(self):
|
||||
self.assertIn('error', self.put('/applications', """
|
||||
self.assertIn('error', self.conf("""
|
||||
{
|
||||
"app" {
|
||||
"type": "python",
|
||||
@@ -96,10 +90,10 @@ class TestUnitConfiguration(unit.TestUnitControl):
|
||||
"module": "wsgi"
|
||||
}
|
||||
}
|
||||
"""), 'miss colon')
|
||||
""", '/applications'), 'miss colon')
|
||||
|
||||
def test_applications_miss_comma(self):
|
||||
self.assertIn('error', self.put('/applications', """
|
||||
self.assertIn('error', self.conf("""
|
||||
{
|
||||
"app": {
|
||||
"type": "python"
|
||||
@@ -108,108 +102,98 @@ class TestUnitConfiguration(unit.TestUnitControl):
|
||||
"module": "wsgi"
|
||||
}
|
||||
}
|
||||
"""), 'miss comma')
|
||||
""", '/applications'), 'miss comma')
|
||||
|
||||
def test_applications_skip_spaces(self):
|
||||
self.assertIn('success', self.put('/applications', b'{ \n\r\t}'),
|
||||
self.assertIn('success', self.conf(b'{ \n\r\t}', '/applications'),
|
||||
'skip spaces')
|
||||
|
||||
def test_applications_relative_path(self):
|
||||
self.assertIn('success', self.put('/applications', """
|
||||
{
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "../app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
self.assertIn('success', self.conf({
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "../app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
"""), 'relative path')
|
||||
}, '/applications'), 'relative path')
|
||||
|
||||
@unittest.expectedFailure
|
||||
def test_listeners_empty(self):
|
||||
self.assertIn('error', self.put('/listeners', '{"*:7080":{}}'),
|
||||
self.assertIn('error', self.conf({"*:7080":{}}, '/listeners'),
|
||||
'listener empty')
|
||||
|
||||
def test_listeners_no_app(self):
|
||||
self.assertIn('error', self.put('/listeners',
|
||||
'{"*:7080":{"application":"app"}}'), 'listeners no app')
|
||||
self.assertIn('error', self.conf({"*:7080":{"application":"app"}},
|
||||
'/listeners'), 'listeners no app')
|
||||
|
||||
def test_listeners_wildcard(self):
|
||||
self.assertIn('success', self.put('/', """
|
||||
{
|
||||
"listeners": {
|
||||
"*:7080": {
|
||||
"application":"app"
|
||||
}
|
||||
},
|
||||
"applications": {
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
self.assertIn('success', self.conf({
|
||||
"listeners": {
|
||||
"*:7080": {
|
||||
"application":"app"
|
||||
}
|
||||
},
|
||||
"applications": {
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
}
|
||||
"""), 'listeners wildcard')
|
||||
}), 'listeners wildcard')
|
||||
|
||||
def test_listeners_explicit(self):
|
||||
self.assertIn('success', self.put('/', """
|
||||
{
|
||||
"listeners": {
|
||||
"127.0.0.1:7080": {
|
||||
"application":"app"
|
||||
}
|
||||
},
|
||||
"applications": {
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
self.assertIn('success', self.conf({
|
||||
"listeners": {
|
||||
"127.0.0.1:7080": {
|
||||
"application":"app"
|
||||
}
|
||||
},
|
||||
"applications": {
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
}
|
||||
"""), 'explicit')
|
||||
}), 'explicit')
|
||||
|
||||
def test_listeners_explicit_ipv6(self):
|
||||
self.assertIn('success', self.put('/', """
|
||||
{
|
||||
"listeners": {
|
||||
"[::1]:7080": {
|
||||
"application":"app"
|
||||
}
|
||||
},
|
||||
"applications": {
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
self.assertIn('success', self.conf({
|
||||
"listeners": {
|
||||
"[::1]:7080": {
|
||||
"application":"app"
|
||||
}
|
||||
},
|
||||
"applications": {
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
}
|
||||
"""), 'explicit ipv6')
|
||||
}), 'explicit ipv6')
|
||||
|
||||
def test_listeners_no_port(self):
|
||||
self.assertIn('error', self.put('/', """
|
||||
{
|
||||
"listeners": {
|
||||
"127.0.0.1": {
|
||||
"application":"app"
|
||||
}
|
||||
},
|
||||
"applications": {
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
self.assertIn('error', self.conf({
|
||||
"listeners": {
|
||||
"127.0.0.1": {
|
||||
"application":"app"
|
||||
}
|
||||
},
|
||||
"applications": {
|
||||
"app": {
|
||||
"type": "python",
|
||||
"workers": 1,
|
||||
"path": "/app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
}
|
||||
"""), 'no port')
|
||||
}), 'no port')
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user