class TestPlumberyEngine(unittest.TestCase): def test_configure(self): settings = { 'safeMode': False, 'polishers': [ {'ansible': {}}, {'spit': {}}, ] } self.engine = PlumberyEngine() self.engine.set_shared_secret('fake_secret') self.assertEqual(self.engine.get_shared_secret(), 'fake_secret') self.engine.set_user_name('fake_name') self.assertEqual(self.engine.get_user_name(), 'fake_name') self.engine.set_user_password('fake_password') self.assertEqual(self.engine.get_user_password(), 'fake_password') self.engine.configure(settings) self.assertEqual(self.engine.safeMode, False) try: self.engine.setup(io.TextIOWrapper(io.BytesIO(myPlan))) self.engine.add_facility(myFacility) self.assertEqual(len(self.engine.facilities), 2) except socket.gaierror: pass except InvalidCredsError: pass def test_lifecycle(self): self.engine = PlumberyEngine() self.engine.set_shared_secret('fake_secret') self.assertEqual(self.engine.get_shared_secret(), 'fake_secret') self.engine.set_user_name('fake_name') self.assertEqual(self.engine.get_user_name(), 'fake_name') self.engine.set_user_password('fake_password') self.assertEqual(self.engine.get_user_password(), 'fake_password') try: self.engine.build_all_blueprints() self.engine.build_blueprint('myBlueprint') self.engine.start_all_nodes() self.engine.start_nodes('myBlueprint') self.engine.stop_all_nodes() self.engine.stop_nodes('myBlueprint') self.engine.destroy_all_nodes() self.engine.destroy_nodes('myBlueprint') except socket.gaierror: pass except InvalidCredsError: pass
class TestPlumberyEngine(unittest.TestCase): def test_set(self): settings = { 'safeMode': False, 'polishers': [ { 'ansible': {} }, { 'spit': {} }, ] } self.engine = PlumberyEngine() self.engine.set_shared_secret('fake_secret') self.assertEqual(self.engine.get_shared_secret(), 'fake_secret') self.engine.set_user_name('fake_name') self.assertEqual(self.engine.get_user_name(), 'fake_name') self.engine.set_user_password('fake_password') self.assertEqual(self.engine.get_user_password(), 'fake_password') self.engine.set(settings) self.assertEqual(self.engine.safeMode, False) try: self.engine.from_text(myPlan) self.engine.add_facility(myFacility) self.assertEqual(len(self.engine.facilities), 2) except socket.gaierror: pass except InvalidCredsError: pass def test_lifecycle(self): self.engine = PlumberyEngine() self.engine.set_shared_secret('fake_secret') self.assertEqual(self.engine.get_shared_secret(), 'fake_secret') self.engine.set_user_name('fake_name') self.assertEqual(self.engine.get_user_name(), 'fake_name') self.engine.set_user_password('fake_password') self.assertEqual(self.engine.get_user_password(), 'fake_password') try: self.engine.build_all_blueprints() self.engine.build_blueprint('myBlueprint') self.engine.start_all_nodes() self.engine.start_nodes('myBlueprint') self.engine.polish_all_blueprints() self.engine.polish_blueprint('myBlueprint') self.engine.stop_all_nodes() self.engine.stop_nodes('myBlueprint') self.engine.destroy_all_nodes() self.engine.destroy_nodes('myBlueprint') self.engine.destroy_all_blueprints() self.engine.destroy_blueprint('myBlueprint') except socket.gaierror: pass except InvalidCredsError: pass def test_parser(self): with self.assertRaises(SystemExit): args = parse_args(['bad args']) with self.assertRaises(SystemExit): args = parse_args(['fittings.yaml']) args = parse_args(['fittings.yaml', 'build', 'web']) self.assertEqual(args.fittings, 'fittings.yaml') self.assertEqual(args.action, 'build') self.assertEqual(args.blueprints, ['web']) self.assertEqual(args.facilities, None) args = parse_args(['fittings.yaml', 'start', '@NA12']) self.assertEqual(args.fittings, 'fittings.yaml') self.assertEqual(args.action, 'start') self.assertEqual(args.blueprints, None) self.assertEqual(args.facilities, ['NA12']) args = parse_args( ['fittings.yaml', 'rub', 'web', 'sql', '@NA9', '@NA12']) self.assertEqual(args.fittings, 'fittings.yaml') self.assertEqual(args.action, 'rub') self.assertEqual(args.blueprints, ['web', 'sql']) self.assertEqual(args.facilities, ['NA9', 'NA12']) args = parse_args(['fittings.yaml', 'polish']) self.assertEqual(args.fittings, 'fittings.yaml') self.assertEqual(args.action, 'polish') self.assertEqual(args.blueprints, None) self.assertEqual(args.facilities, None) def test_main(self): engine = PlumberyEngine() engine.from_text(myPlan) engine.set_user_name('fake_name') engine.set_user_password('fake_password')