def test_defaults(self): engine = PlumberyEngine() engine.from_text(defaultsPlan) self.assertEqual(engine.get_default('locationId'), 'EU6') self.assertEqual(engine.get_default('regionId'), 'dd-eu') self.assertEqual(engine.get_default('ipv4'), 'auto')
def test_init(self): engine = PlumberyEngine() engine.from_text(myPlan) self.assertEqual(engine.safeMode, False) self.assertEqual(len(engine.information), 2) self.assertEqual(len(engine.links), 1) domain = engine.get_default('domain') self.assertEqual(domain['ipv4'], 'auto') cloudConfig = engine.get_default('cloud-config', {}) self.assertEqual(len(cloudConfig.keys()), 3) parameter = engine.get_parameter('locationId') self.assertEqual(parameter, 'EU6') parameter = engine.get_parameter('domainName') self.assertEqual(parameter, 'myDC') parameter = engine.get_parameter('networkName') self.assertEqual(parameter, 'myVLAN') self.assertEqual(len(engine.facilities), 1) facility = engine.facilities[0] self.assertEqual(facility.settings['locationId'], 'EU6') self.assertEqual(facility.settings['regionId'], 'dd-eu') blueprint = facility.blueprints[0]['myBlueprint'] self.assertEqual(blueprint['domain']['name'], 'myDC') self.assertEqual(blueprint['ethernet']['name'], 'myVLAN')
def test_parameters(self): engine = PlumberyEngine() engine.set_parameters(myParameters) parameters = engine.get_parameters() self.assertEqual(parameters['locationId.parameter'], 'NA9') self.assertEqual(parameters['domainName.parameter'], 'justInTimeDomain') self.assertEqual(parameters['networkName.parameter'], 'justInTimeNetwork') engine.set_fittings(myPlan) parameters = engine.get_parameters() self.assertEqual(parameters['locationId.parameter'], 'NA9') self.assertEqual(parameters['domainName.parameter'], 'justInTimeDomain') self.assertEqual(parameters['networkName.parameter'], 'justInTimeNetwork') self.assertEqual(engine.safeMode, False) self.assertEqual(len(engine.information), 2) self.assertEqual(len(engine.links), 1) domain = engine.get_default('domain') self.assertEqual(domain['ipv4'], 'auto') cloudConfig = engine.get_default('cloud-config', {}) self.assertEqual(len(cloudConfig.keys()), 3) parameter = engine.get_parameter('locationId') self.assertEqual(parameter, 'NA9') parameter = engine.get_parameter('domainName') self.assertEqual(parameter, 'justInTimeDomain') parameter = engine.get_parameter('networkName') self.assertEqual(parameter, 'justInTimeNetwork') self.assertEqual(len(engine.facilities), 1) facility = engine.facilities[0] self.assertEqual(facility.settings['locationId'], 'NA9') self.assertEqual(facility.settings['regionId'], 'dd-eu') blueprint = facility.blueprints[0]['myBlueprint'] self.assertEqual(blueprint['domain']['name'], 'justInTimeDomain') self.assertEqual(blueprint['ethernet']['name'], 'justInTimeNetwork')
def test_init(self): engine = PlumberyEngine() engine.set_fittings(myPlan) self.assertEqual(engine.buildPolisher, 'alien') domain = engine.get_default('domain') self.assertEqual(domain['ipv4'], 'auto') cloudConfig = engine.get_default('cloud-config', {}) self.assertEqual(len(cloudConfig.keys()), 5) self.assertEqual(len(engine.information), 2) self.assertEqual(len(engine.links), 1) parameters = engine.get_parameters() self.assertEqual(parameters['parameter.locationId'], 'EU6') self.assertEqual(parameters['parameter.domainName'], 'myDC') self.assertEqual(parameters['parameter.networkName'], 'myVLAN') parameter = engine.get_parameter('locationId') self.assertEqual(parameter, 'EU6') parameter = engine.get_parameter('domainName') self.assertEqual(parameter, 'myDC') parameter = engine.get_parameter('networkName') self.assertEqual(parameter, 'myVLAN') self.assertEqual(len(engine.polishers), 3) for polisher in engine.polishers: self.assertTrue(isinstance(polisher, PlumberyPolisher)) self.assertEqual(engine.safeMode, False) self.assertEqual(len(engine.facilities), 1) facility = engine.facilities[0] self.assertEqual(facility.settings['locationId'], 'EU6') self.assertEqual(facility.settings['regionId'], 'dd-eu') blueprint = facility.blueprints[0]['myBlueprint'] self.assertEqual(blueprint['domain']['name'], 'myDC') self.assertEqual(blueprint['ethernet']['name'], 'myVLAN')
def test_parameters(self): engine = PlumberyEngine() parameters = engine.get_parameters() self.assertTrue('parameter.locationId' not in parameters) self.assertTrue('parameter.domainName' not in parameters) self.assertTrue('parameter.networkName' not in parameters) with self.assertRaises(KeyError): engine.get_parameter('locationId') with self.assertRaises(KeyError): engine.get_parameter('domainName') with self.assertRaises(KeyError): engine.get_parameter('perfectlyUnknownParameter') with self.assertRaises(KeyError): engine.lookup('parameter.locationId') with self.assertRaises(ValueError): engine.set_fittings(myBadPlan1) engine.set_fittings(myPlan) parameters = engine.get_parameters() self.assertEqual(parameters['parameter.locationId'], 'EU6') self.assertEqual(parameters['parameter.domainName'], 'myDC') self.assertEqual(parameters['parameter.networkName'], 'myVLAN') self.assertEqual(engine.get_parameter('locationId'), 'EU6') self.assertEqual(engine.get_parameter('parameter.locationId'), 'EU6') with self.assertRaises(KeyError): engine.get_parameter('perfectlyUnknownParameter') engine = PlumberyEngine() engine.set_parameters(myParameters) parameters = engine.get_parameters() self.assertEqual(parameters['parameter.locationId'], 'EU8') self.assertEqual(parameters['parameter.domainName'], 'aDifferentDomain') self.assertEqual(parameters['parameter.networkName'], 'aDifferentNetwork') engine.set_fittings(myPlan) parameters = engine.get_parameters() self.assertEqual(parameters['parameter.locationId'], 'EU8') self.assertEqual(parameters['parameter.domainName'], 'aDifferentDomain') self.assertEqual(parameters['parameter.networkName'], 'aDifferentNetwork') self.assertEqual(engine.safeMode, False) self.assertEqual(len(engine.information), 2) self.assertEqual(len(engine.links), 1) domain = engine.get_default('domain') self.assertEqual(domain['ipv4'], 'auto') cloudConfig = engine.get_default('cloud-config', {}) self.assertEqual(len(cloudConfig.keys()), 5) parameter = engine.get_parameter('locationId') self.assertEqual(parameter, 'EU8') parameter = engine.get_parameter('domainName') self.assertEqual(parameter, 'aDifferentDomain') parameter = engine.get_parameter('networkName') self.assertEqual(parameter, 'aDifferentNetwork') self.assertEqual(len(engine.facilities), 1) facility = engine.facilities[0] self.assertEqual(facility.settings['locationId'], 'EU8') self.assertEqual(facility.settings['regionId'], 'dd-eu') blueprint = facility.blueprints[0]['myBlueprint'] self.assertEqual(blueprint['domain']['name'], 'aDifferentDomain') self.assertEqual(blueprint['ethernet']['name'], 'aDifferentNetwork')