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_remote_params(self): engine = PlumberyEngine() with requests_mock.mock() as m: m.get('http://smee.com/params.yml', text=yaml.dump(myParameters)) engine.set_parameters('http://smee.com/params.yml')
def test_param_http(self): engine = PlumberyEngine() with self.assertRaises(TypeError): engine.set_parameters(('http://smee.com/params.yml'))
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')