Test coverage for pecan.deploy.

This commit is contained in:
Ryan Petrello
2011-09-02 16:23:33 -04:00
parent 2e9e8ccfd8
commit 973fbb26a2
9 changed files with 82 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
def setup_app(config):
assert config.foo.sample_key == True
return 'DEPLOYED!'

View File

@@ -0,0 +1,9 @@
import sample_app
app = {
'modules': [sample_app]
}
foo = {
'sample_key': True
}

View File

@@ -0,0 +1,9 @@
import sample_app_missing
app = {
'modules': [sample_app_missing]
}
foo = {
'sample_key': True
}

61
tests/test_deploy.py Normal file
View File

@@ -0,0 +1,61 @@
from pecan.deploy import deploy
from unittest import TestCase
import pytest
import os
import sys
class TestDeploy(TestCase):
def setUp(self):
test_config_d = os.path.join(os.path.dirname(__file__), 'test_config', 'sample_apps')
if test_config_d not in sys.path:
sys.path.append(test_config_d)
def test_module_lookup(self):
"""
1. A config file has:
app { 'modules': [valid_module] }
2. The module, `valid_module` has an app.py that defines a `def setup.py`
"""
test_config_file = os.path.join(os.path.dirname(__file__), 'test_config', 'sample_apps', 'sample_app_config.py')
assert deploy(test_config_file) == 'DEPLOYED!'
def test_module_lookup_find_best_match(self):
"""
1. A config file has:
app { 'modules': [invalid_module, valid_module] }
2. The module, `valid_module` has an app.py that defines a `def setup_app`
"""
test_config_file = os.path.join(os.path.dirname(__file__), 'test_config', 'sample_apps', 'sample_app_config.py')
assert deploy(test_config_file) == 'DEPLOYED!'
def test_missing_app_file_lookup(self):
"""
1. A config file has:
app { 'modules': [valid_module] }
2. The module has no `app.py` file.
"""
test_config_file = os.path.join(os.path.dirname(__file__), 'test_config', 'sample_apps', 'sample_app_config_missing.py')
self.assertRaisesRegexp(
Exception,
'No app.setup_app found in any of the configured app.modules',
deploy,
test_config_file
)
def test_missing_setup_app(self):
"""
1. A config file has:
app { 'modules': [valid_module] }
2. The module, `valid_module` has an `app.py` that contains no `def setup_app`
"""
test_config_file = os.path.join(os.path.dirname(__file__), 'test_config', 'sample_apps', 'sample_app_config_missing_app.py')
self.assertRaisesRegexp(
Exception,
'No app.setup_app found in any of the configured app.modules',
deploy,
test_config_file
)