def test_depends(self): schema = { 'install_mysql': {}, 'config_mysql': { 'relationships': [{ 'depends_on': 'install_mysql' }] }, 'start_mysql': { 'relationships': [{ 'depends_on': 'config_mysql' }] } } comps = Components(schema) self.assertEqual(3, len(comps)) deps = comps.depends() self.assertEqual(2, len(deps)) self.assertIn('install_mysql', deps) self.assertIn('config_mysql', deps)
def test_depends(self): schema = { 'install_mysql': { }, 'config_mysql': { 'relationships': [ {'depends_on': 'install_mysql'} ] }, 'start_mysql': { 'relationships': [ {'depends_on': 'config_mysql'} ] } } comps = Components(schema) self.assertEqual(3, len(comps)) deps = comps.depends() self.assertEqual(2, len(deps)) self.assertIn('install_mysql', deps) self.assertIn('config_mysql', deps)
def test_multi_depends(self): schema = { 'install_mysql': { }, 'config_mysql': { 'relationships': [ {'depends_on': 'install_mysql'} ] }, 'start_mysql': { 'relationships': [ {'depends_on': 'config_mysql'} ] }, 'install_wordpress': {}, 'config_wordpress': { 'relationships': [ {'depends_on': 'install_wordpress'} ] }, 'start_wordpress': { 'relationships': [ {'depends_on': 'config_wordpress'}, {'depends_on': 'start_mysql'} ] } } comps = Components(schema) deps = comps.depends() self.assertEqual(5, len(deps)) self.assertNotIn('start_wordpress', deps) self.assertIn('install_wordpress', deps) self.assertIn('config_wordpress', deps) self.assertIn('start_mysql', deps) self.assertIn('config_mysql', deps) self.assertIn('install_mysql', deps)
def test_multi_depends(self): schema = { 'install_mysql': {}, 'config_mysql': { 'relationships': [{ 'depends_on': 'install_mysql' }] }, 'start_mysql': { 'relationships': [{ 'depends_on': 'config_mysql' }] }, 'install_wordpress': {}, 'config_wordpress': { 'relationships': [{ 'depends_on': 'install_wordpress' }] }, 'start_wordpress': { 'relationships': [{ 'depends_on': 'config_wordpress' }, { 'depends_on': 'start_mysql' }] } } comps = Components(schema) deps = comps.depends() self.assertEqual(5, len(deps)) self.assertNotIn('start_wordpress', deps) self.assertIn('install_wordpress', deps) self.assertIn('config_wordpress', deps) self.assertIn('start_mysql', deps) self.assertIn('config_mysql', deps) self.assertIn('install_mysql', deps)