def test_resolve_all_with_full_config(self): """Test instantiation of a service group with variables subservices.""" sergrp = ServiceGroup('S1') sergrp.add_var('TOUT', 1) sergrp.add_var('RET', 2) sergrp.add_var('FAN', 3) sergrp.add_var('DLY', 4) sergrp.add_var('ERRS', 0) sergrp.add_var('WARN', 5) sergrp.add_var('DSC', 'I am the service') sergrp.add_var('MD', 'delegate') sergrp.add_var('REQUIRES', ["dep1", "dep2"]) sergrp.fromdict({ 'desc': "Check variables", 'target': "localhost", 'services': { 'dep1': {'actions': {'start': {'cmd': '/bin/True'}} }, 'dep2': {'actions': {'start': {'cmd': '/bin/True'}} }, 'fullvars': { 'target': 'localhost', 'require': "%REQUIRES", 'timeout': "%TOUT", 'retry': "%RET", 'fanout': "%FAN", 'delay': "%DLY", 'errors': "%ERRS", 'warnings': "%WARN", 'mode': "%MD", 'actions': { 'start': {'cmd': '/bin/True'}, 'stop': {'cmd': '/bin/False'} }, 'desc': "%DSC" } }, }) sergrp.resolve_all() service = sergrp._subservices['fullvars'] self.assertEqual(service.target, NodeSet('localhost')) self.assertEqual(service.timeout, 1) self.assertEqual(service.maxretry, 2) self.assertEqual(service.fanout, 3) self.assertEqual(service.delay, 4) self.assertEqual(service.errors, 0) self.assertEqual(service.warnings, 5) self.assertEqual(service.mode, 'delegate') self.assertEqual(service.desc, "I am the service") self.assertTrue('dep1' in service.deps()) self.assertTrue('dep2' in service.deps())