<s> __author__ = "<STR_LIT>" <EOL> """<STR_LIT>""" <EOL> from mock import Mock <EOL> import os <EOL> import unittest2 <EOL> os . environ [ '<STR_LIT>' ] = '<STR_LIT:true>' <EOL> from compass . utils import setting_wrapper as compass_setting <EOL> reload ( compass_setting ) <EOL> import config_data <EOL> from compass . deployment . installers . config_manager import BaseConfigManager <EOL> from compass . utils import flags <EOL> from compass . utils import logsetting <EOL> from plugins . chef_installer . implementation . chef_installer import ChefInstaller <EOL> class TestChefInstaller ( unittest2 . TestCase ) : <EOL> """<STR_LIT>""" <EOL> def setUp ( self ) : <EOL> super ( TestChefInstaller , self ) . setUp ( ) <EOL> self . test_chef = self . _get_chef_installer ( ) <EOL> def tearDown ( self ) : <EOL> super ( TestChefInstaller , self ) . tearDown ( ) <EOL> def _get_chef_installer ( self ) : <EOL> adapter_info = config_data . adapter_test_config <EOL> cluster_info = config_data . cluster_test_config <EOL> hosts_info = config_data . hosts_test_config <EOL> config_manager = BaseConfigManager ( adapter_info , cluster_info , <EOL> hosts_info ) <EOL> ChefInstaller . get_tmpl_path = Mock ( ) <EOL> test_tmpl_dir = os . path . join ( <EOL> os . path . join ( config_data . test_plugins_dir , <EOL> '<STR_LIT>' ) , <EOL> '<STR_LIT>' <EOL> ) <EOL> ChefInstaller . get_tmpl_path . return_value = test_tmpl_dir <EOL> ChefInstaller . _get_chef_api = Mock ( ) <EOL> ChefInstaller . _get_chef_api . return_value = '<STR_LIT>' <EOL> ChefInstaller . get_all_roles = Mock ( ) <EOL> ChefInstaller . get_all_roles . return_value = [ ] <EOL> ChefInstaller . validate_roles = Mock ( ) <EOL> ChefInstaller . validate_roles . return_value = True <EOL> chef_installer = ChefInstaller ( config_manager ) <EOL> return chef_installer <EOL> def test_get_tmpl_vars ( self ) : <EOL> pass <EOL> def test_get_node_attributes ( self ) : <EOL> cluster_dict = self . test_chef . _get_cluster_tmpl_vars ( ) <EOL> vars_dict = self . test_chef . _get_host_tmpl_vars ( <NUM_LIT:2> , cluster_dict ) <EOL> expected_node_attr = { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } <EOL> } <EOL> } <EOL> output = self . test_chef . _generate_node_attributes ( <EOL> [ '<STR_LIT>' ] , vars_dict <EOL> ) <EOL> self . maxDiff = None <EOL> self . assertDictEqual ( expected_node_attr , output ) <EOL> def test_get_env_attributes ( self ) : <EOL> expected_env = { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT:name>" : "<STR_LIT>" , <EOL> "<STR_LIT:description>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> } , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT:1>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : False <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT:root>" , <EOL> "<STR_LIT>" : "<STR_LIT:root>" , <EOL> "<STR_LIT>" : "<STR_LIT:%>" , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : "<STR_LIT:root>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT:password>" : "<STR_LIT:test>" , <EOL> "<STR_LIT:user>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:image>" : { <EOL> "<STR_LIT>" : [ "<STR_LIT>" ] , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : False <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT:image>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : False <EOL> } , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : False <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT:False>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : False <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : False <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : False <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT:True>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:True>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:True>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : "<STR_LIT:True>" , <EOL> "<STR_LIT>" : [ "<STR_LIT>" ] <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT:password>" : "<STR_LIT>" , <EOL> "<STR_LIT:user>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT:false>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : False <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:password>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : [ "<STR_LIT>" ] <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:password>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : [ "<STR_LIT>" ] <EOL> } <EOL> } <EOL> } , <EOL> "<STR_LIT>" : [ "<STR_LIT>" , "<STR_LIT>" ] , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : [ "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" ] , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:path>" : "<STR_LIT>" , <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:http>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:host>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT:port>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } <EOL> } <EOL> vars_dict = self . test_chef . _get_cluster_tmpl_vars ( ) <EOL> output = self . test_chef . _generate_env_attributes ( vars_dict ) <EOL> self . maxDiff = None <EOL> self . assertDictEqual ( expected_env , output ) <EOL> def test_get_databagitem_attributes ( self ) : <EOL> vars_dict = { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:username>" : "<STR_LIT>" , <EOL> "<STR_LIT:password>" : "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:username>" : "<STR_LIT>" , <EOL> "<STR_LIT:password>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:username>" : "<STR_LIT>" , <EOL> "<STR_LIT:password>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } <EOL> } <EOL> expected_output = { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } <EOL> databag_dir = os . path . join ( self . test_chef . get_tmpl_path ( ) , '<STR_LIT>' ) <EOL> databags = self . test_chef . get_chef_databag_names ( ) <EOL> for bag in databags : <EOL> tmpl_path = os . path . join ( databag_dir , '<STR_LIT:.>' . join ( ( bag , '<STR_LIT>' ) ) ) <EOL> output = self . test_chef . _generate_databagitem_attributes ( tmpl_path , <EOL> vars_dict ) <EOL> self . maxDiff = None <EOL> self . assertDictEqual ( expected_output [ bag ] , output ) <EOL> def test_clean_log ( self ) : <EOL> host_id = <NUM_LIT:1> <EOL> fullname = self . test_chef . config_manager . get_host_fullname ( host_id ) <EOL> test_log_dir = os . path . join ( '<STR_LIT>' , fullname ) <EOL> if not os . path . exists ( test_log_dir ) : <EOL> os . makedirs ( test_log_dir ) <EOL> self . test_chef . _clean_log ( '<STR_LIT>' , fullname ) <EOL> self . assertFalse ( os . path . exists ( test_log_dir ) ) <EOL> def test_deploy ( self ) : <EOL> expected_output = { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:id>" : <NUM_LIT:1> , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:username>" : "<STR_LIT>" , <EOL> "<STR_LIT:password>" : "<STR_LIT:test>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : [ { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } ] , <EOL> "<STR_LIT>" : [ { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } , { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } ] , <EOL> "<STR_LIT>" : [ { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } ] <EOL> } <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> <NUM_LIT:1> : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:username>" : "<STR_LIT>" , <EOL> "<STR_LIT:password>" : "<STR_LIT:test>" <EOL> } <EOL> } <EOL> } <EOL> } , <EOL> <NUM_LIT:2> : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:username>" : "<STR_LIT>" , <EOL> "<STR_LIT:password>" : "<STR_LIT:test>" <EOL> } <EOL> } <EOL> } <EOL> } , <EOL> <NUM_LIT:3> : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : False , <EOL> "<STR_LIT>" : True , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } , <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT:username>" : "<STR_LIT>" , <EOL> "<STR_LIT:password>" : "<STR_LIT:test>" <EOL> } <EOL> } <EOL> } <EOL> } <EOL> } <EOL> } <EOL> self . test_chef . upload_environment = Mock ( ) <EOL> self . test_chef . update_databags = Mock ( ) <EOL> self . test_chef . get_create_node = Mock ( ) <EOL> self . test_chef . add_roles = Mock ( ) <EOL> output = self . test_chef . deploy ( ) <EOL> self . maxDiff = None <EOL> self . assertDictEqual ( expected_output , output ) <EOL> def test_generate_installer_config ( self ) : <EOL> test_data = [ <EOL> { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : [ "<STR_LIT>" , "<STR_LIT>" ] <EOL> } , <EOL> "<STR_LIT>" : { <EOL> <NUM_LIT:1> : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:127.0.0.1>" , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } , <EOL> { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:127.0.0.1>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : [ "<STR_LIT>" , "<STR_LIT>" ] <EOL> } , <EOL> "<STR_LIT>" : { <EOL> <NUM_LIT:1> : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT:127.0.0.1>" , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } , <EOL> { <EOL> "<STR_LIT>" : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : [ "<STR_LIT>" , "<STR_LIT>" ] <EOL> } , <EOL> "<STR_LIT>" : { <EOL> <NUM_LIT:1> : { <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" , <EOL> "<STR_LIT>" : "<STR_LIT>" <EOL> } <EOL> } <EOL> } <EOL> ] <EOL> nname = '<STR_LIT>' <EOL> self . test_chef . config_manager . get_host_id_list = Mock ( ) <EOL> self . test_chef . config_manager . get_host_id_list . return_value = [ <NUM_LIT:1> ] <EOL> self . test_chef . config_manager . get_host_fullname = Mock ( ) <EOL> self . test_chef . config_manager . get_host_fullname . return_value = nname <EOL> for entry in test_data : <EOL> chef_config = entry [ "<STR_LIT>" ] <EOL> chef_url = chef_config [ "<STR_LIT>" ] <EOL> self . test_chef . installer_url = chef_url <EOL> self . test_chef . config_manager . get_pk_installer_settings = Mock ( ) <EOL> self . test_chef . config_manager . get_pk_installer_settings . return_value = chef_config <EOL> output = self . test_chef . generate_installer_config ( ) <EOL> self . maxDiff = None <EOL> self . assertDictEqual ( entry [ "<STR_LIT>" ] , output ) <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> flags . init ( ) <EOL> logsetting . init ( ) <EOL> unittest2 . main ( ) </s>
