def test_barebones_init(self): project_name='virtual_machine_1' self.kwargs.update({ 'subparser_name':'init', 'force':True, 'project-name':project_name, }) vm = VM(**self.kwargs) self.assertEqual(vm.RET['STATUS'], 'SUCCESS') self.assertTrue(os.path.isdir(project_name)) # Check that we have to be in correct directory self.assertRaises(IOError, vm.readVagabond) hold_dir = os.getcwd() os.chdir(project_name) vm.readVagabond() config = vm.config self.assertEqual(vm.config_version, API_VERSION) # confirm that that config has a vm section self.assertTrue(config.get('vm')) # Confirm that the defaults are correct vm = config.get('vm') self.assertEqual('hashicopy/precise64', vm.get('box')) self.assertEqual(None, vm.get('iso')) self.assertEqual(project_name, vm.get('hostname')) # Now go back to parent directory and try again to see errors os.chdir(hold_dir) # Now test that trying to create the project again without --force throws errors self.kwargs.update({'force':False}) self.assertRaises(VagabondError, VM, **self.kwargs) self.kwargs.update({'force':True}) vm = VM(**self.kwargs) project_path=os.path.abspath(project_name) shutil.rmtree(project_path) self.assertFalse(os.path.isdir(project_path))