def test_lib_cycle_detection(self): specs = { 'apps': {}, 'libs': { 'lib1': { 'depends': { 'libs': [ 'lib2', ] } }, 'lib2': { 'depends': { 'libs': [ 'lib3', ] } }, 'lib3': { 'depends': { 'libs': [ 'lib1', ] } } } } apply_required_keys(specs) specs = self.make_test_specs(specs) with self.assertRaises(ValidationException): _validate_cycle_free(specs)