Test coverage for pecan.deploy.
This commit is contained in:
		
							
								
								
									
										3
									
								
								tests/test_config/sample_apps/sample_app/app.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								tests/test_config/sample_apps/sample_app/app.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
def setup_app(config):
 | 
			
		||||
    assert config.foo.sample_key == True
 | 
			
		||||
    return 'DEPLOYED!'
 | 
			
		||||
							
								
								
									
										9
									
								
								tests/test_config/sample_apps/sample_app_config.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								tests/test_config/sample_apps/sample_app_config.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
import sample_app
 | 
			
		||||
 | 
			
		||||
app = {
 | 
			
		||||
    'modules': [sample_app]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
foo = {
 | 
			
		||||
    'sample_key': True
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
import sample_app_missing
 | 
			
		||||
 | 
			
		||||
app = {
 | 
			
		||||
    'modules': [sample_app_missing]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
foo = {
 | 
			
		||||
    'sample_key': True
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										61
									
								
								tests/test_deploy.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								tests/test_deploy.py
									
									
									
									
									
										Normal 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
 | 
			
		||||
        )
 | 
			
		||||
		Reference in New Issue
	
	Block a user