Use alpine python and gunicorn
Adding docker_settings.py which reads environment variables to allows for environment variable to be passed to the container
This commit is contained in:
92
test/test_docker_settings.py
Normal file
92
test/test_docker_settings.py
Normal file
@@ -0,0 +1,92 @@
|
||||
import os
|
||||
from puppetboard import docker_settings
|
||||
import unittest
|
||||
import tempfile
|
||||
try:
|
||||
import future.utils
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
from imp import reload as reload
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
class DockerTestCase(unittest.TestCase):
|
||||
def setUp(self):
|
||||
for env_var in dir(docker_settings):
|
||||
if (env_var.startswith('__') or env_var.startswith('_') or
|
||||
env_var.islower()):
|
||||
continue
|
||||
|
||||
if env_var in os.environ:
|
||||
del os.environ[env_var]
|
||||
reload(docker_settings)
|
||||
|
||||
def test_default_host_port(self):
|
||||
self.assertEqual(docker_settings.PUPPETDB_HOST, 'localhost')
|
||||
self.assertEqual(docker_settings.PUPPETDB_PORT, 8080)
|
||||
|
||||
def test_set_host_port(self):
|
||||
os.environ['PUPPETDB_HOST'] = 'puppetdb'
|
||||
os.environ['PUPPETDB_PORT'] = '9081'
|
||||
reload(docker_settings)
|
||||
self.assertEqual(docker_settings.PUPPETDB_HOST, 'puppetdb')
|
||||
self.assertEqual(docker_settings.PUPPETDB_PORT, 9081)
|
||||
|
||||
def test_cert_true_test(self):
|
||||
os.environ['PUPPETDB_SSL_VERIFY'] = 'True'
|
||||
reload(docker_settings)
|
||||
self.assertTrue(docker_settings.PUPPETDB_SSL_VERIFY)
|
||||
os.environ['PUPPETDB_SSL_VERIFY'] = 'true'
|
||||
reload(docker_settings)
|
||||
self.assertTrue(docker_settings.PUPPETDB_SSL_VERIFY)
|
||||
|
||||
def test_cert_false_test(self):
|
||||
os.environ['PUPPETDB_SSL_VERIFY'] = 'False'
|
||||
reload(docker_settings)
|
||||
self.assertFalse(docker_settings.PUPPETDB_SSL_VERIFY)
|
||||
os.environ['PUPPETDB_SSL_VERIFY'] = 'false'
|
||||
reload(docker_settings)
|
||||
self.assertFalse(docker_settings.PUPPETDB_SSL_VERIFY)
|
||||
|
||||
def test_cert_path(self):
|
||||
ca_file = '/usr/ssl/path/ca.pem'
|
||||
os.environ['PUPPETDB_SSL_VERIFY'] = ca_file
|
||||
reload(docker_settings)
|
||||
self.assertEqual(docker_settings.PUPPETDB_SSL_VERIFY, ca_file)
|
||||
|
||||
def validate_facts(self, facts):
|
||||
self.assertEqual(type(facts), type([]))
|
||||
self.assertTrue(len(facts) > 0)
|
||||
for map in facts:
|
||||
self.assertEqual(type(map), type(()))
|
||||
self.assertTrue(len(map) == 2)
|
||||
|
||||
def test_inventory_facts_default(self):
|
||||
self.validate_facts(docker_settings.INVENTORY_FACTS)
|
||||
|
||||
def test_invtory_facts_custom(self):
|
||||
os.environ['INVENTORY_FACTS'] = "A, B, C, D"
|
||||
reload(docker_settings)
|
||||
self.validate_facts(docker_settings.INVENTORY_FACTS)
|
||||
|
||||
def test_graph_facts_defautl(self):
|
||||
facts = docker_settings.GRAPH_FACTS
|
||||
self.assertEqual(type(facts), type([]))
|
||||
self.assertTrue('puppetversion' in facts)
|
||||
|
||||
def test_graph_facts_custom(self):
|
||||
os.environ['GRAPH_FACTS'] = "architecture, puppetversion, extra"
|
||||
reload(docker_settings)
|
||||
facts = docker_settings.GRAPH_FACTS
|
||||
self.assertEqual(type(facts), type([]))
|
||||
self.assertEqual(len(facts), 3)
|
||||
self.assertTrue('puppetversion' in facts)
|
||||
self.assertTrue('architecture' in facts)
|
||||
self.assertTrue('extra' in facts)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user