def test_get_dependent_root_type(self): specs = { 'apps': { 'app1': get_app_dusty_schema({ 'depends': { 'apps': ['app2'], 'libs': ['lib1'] }, 'repo': '', 'image': '' }), 'app2': get_app_dusty_schema({ 'repo': '', 'image': '' }) }, 'libs': { 'lib1': get_lib_dusty_schema({ 'depends': { 'libs': ['lib2'] }, 'repo': '' }), 'lib2': get_lib_dusty_schema({'repo': ''}), 'lib3': get_lib_dusty_schema({'repo': ''}) } } self.assertEqual( set(['lib1', 'lib2']), spec_assembler._get_dependent('libs', 'app1', specs, 'apps'))
def test_get_dependent_traverses_tree(self): specs = { 'apps': { 'app1': get_app_dusty_schema( {'depends': {'apps': ['app2']}, 'repo': '', 'image': '' }), 'app2': get_app_dusty_schema( { 'depends': {'apps': ['app3']}, 'repo': '', 'image': '' }), 'app3': get_app_dusty_schema( { 'depends': {'apps': ['app4', 'app5']}, 'repo': '', 'image': '' }), 'app4': get_app_dusty_schema( { 'depends': {'apps': ['app5']}, 'repo': '', 'image': '' }), 'app5': get_app_dusty_schema({'repo': '', 'image': ''}), 'app6': get_app_dusty_schema({'repo': '', 'image': ''}) } } self.assertEqual(set(['app2', 'app3', 'app4', 'app5']), spec_assembler._get_dependent('apps', 'app1', specs, 'apps'))
def test_get_dependent_root_type(self): specs = { 'apps': { 'app1': get_app_dusty_schema( {'depends': { 'apps': ['app2'], 'libs': ['lib1']}, 'repo': '', 'image': '' }), 'app2': get_app_dusty_schema( {'repo': '', 'image': '' }) }, 'libs': { 'lib1': get_lib_dusty_schema( {'depends': {'libs': ['lib2']}, 'repo': ''}), 'lib2': get_lib_dusty_schema({'repo': ''}), 'lib3': get_lib_dusty_schema({'repo': ''}) } } self.assertEqual(set(['lib1', 'lib2']), spec_assembler._get_dependent('libs', 'app1', specs, 'apps'))
def test_get_dependent_traverses_tree(self): specs = { 'apps': { 'app1': get_app_dusty_schema( {'depends': {'apps': ['app2']}, 'repo': '', 'image': '' }, name='app1'), 'app2': get_app_dusty_schema( { 'depends': {'apps': ['app3']}, 'repo': '', 'image': '' }, name='app2'), 'app3': get_app_dusty_schema( { 'depends': {'apps': ['app4', 'app5']}, 'repo': '', 'image': '' }, name='app3'), 'app4': get_app_dusty_schema( { 'depends': {'apps': ['app5']}, 'repo': '', 'image': '' }, name='app4'), 'app5': get_app_dusty_schema({'repo': '', 'image': ''}, name='app5'), 'app6': get_app_dusty_schema({'repo': '', 'image': ''}, name='app6') } } self.assertEqual(set(['app2', 'app3', 'app4', 'app5']), spec_assembler._get_dependent('apps', 'app1', specs, 'apps'))