def execute_from_command_line(): from wirecloud.commons.commands.convert import ConvertCommand from wirecloud.commons.commands.startproject import StartprojectCommand utility = CommandLineUtility({ "convert": ConvertCommand(), "startproject": StartprojectCommand() }) try: utility.execute() except: sys.exit(1)
def execute_from_command_line(): from wirecloud.commons.commands.convert import ConvertCommand from wirecloud.commons.commands.startproject import StartprojectCommand from wirecloud.fiware.commands.passintegrationtests import IntegrationTestsCommand utility = CommandLineUtility({ "convert": ConvertCommand(), "startproject": StartprojectCommand(), "passintegrationtests": IntegrationTestsCommand(), }) try: utility.execute() except: sys.exit(1)
def setUpClass(cls): from wirecloud.commons.commands.convert import ConvertCommand from wirecloud.commons.commands.startproject import StartprojectCommand cls.command_utility = CommandLineUtility( { "convert": ConvertCommand(), "startproject": StartprojectCommand(), }, prog_name='wirecloud-admin') cls.test_data_dir = os.path.join(os.path.dirname(__file__), 'test-data') super(BaseAdminCommandTestCase, cls).setUpClass()
def setUpClass(cls): from wirecloud.commons.commands.convert import ConvertCommand from wirecloud.commons.commands.startproject import StartprojectCommand from wirecloud.fiware.commands.passintegrationtests import IntegrationTestsCommand cls.command_utility = CommandLineUtility( { "convert": ConvertCommand(), "startproject": StartprojectCommand(), "passintegrationtests": IntegrationTestsCommand(), }, prog_name='wirecloud-admin') cls.test_data_dir = os.path.join(os.path.dirname(__file__), 'test-data')
def setUp(self): from wirecloud.commons.commands.startproject import StartprojectCommand self.command = StartprojectCommand()
class StartprojectCommandTestCase(WirecloudTestCase, TestCase): tags = ('wirecloud-commands', 'wirecloud-command-startproject', 'wirecloud-noselenium') fixtures = () populate = False user_search_indexes = False @classmethod def setUpClass(cls): cls.tmp_dir = mkdtemp() cls.test_data_dir = os.path.join(os.path.dirname(__file__), 'test-data') super(StartprojectCommandTestCase, cls).setUpClass() @classmethod def tearDownClass(cls): shutil.rmtree(cls.tmp_dir, ignore_errors=True) def setUp(self): from wirecloud.commons.commands.startproject import StartprojectCommand self.command = StartprojectCommand() def tearDown(self): cleartree(self.tmp_dir) def test_no_args(self): args = [] options = { "type": "platform", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(mocks['Command'].call_count, 0) def test_invalid_project_type(self): args = ['wirecloud_instance'] options = { "type": "invalid", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(mocks['Command'].call_count, 0) def assertHandleCall(self, handle_mock, values={}): call_args, call_kwargs = handle_mock.call_args_list[0] options = { "name": 'wirecloud_instance', "directory": None, "verbosity": 1 } options.update(values) for key in options: self.assertEqual(call_kwargs.get(key), options[key]) def test_platform_creation(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) self.assertHandleCall(command_instance_mock.handle) self.assertEqual(mocks['subprocess'].call.call_count, 0) def test_platform_creation_quick_start(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = None mocks['sys'].executable = 'python-interpreter' self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) call_args, call_kwargs = command_instance_mock.handle.call_args_list[ 0] self.assertHandleCall(command_instance_mock.handle) self.assertGreaterEqual(mocks['subprocess'].call.call_count, 1) for (call_args, call_kwargs) in mocks['subprocess'].call.call_args_list: self.assertTrue(call_args[0].startswith('python-interpreter ')) def test_platform_creation_quick_start_no_executable_info(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = None mocks['sys'].executable = None self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) self.assertHandleCall(command_instance_mock.handle) self.assertGreaterEqual(mocks['subprocess'].call.call_count, 1) for (call_args, call_kwargs) in mocks['subprocess'].call.call_args_list: self.assertTrue(call_args[0].startswith('python ')) def test_platform_creation_quick_start_external_cmd_error(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = 1 mocks['sys'].executable = 'python-interpreter' self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) self.assertHandleCall(command_instance_mock.handle) self.assertEqual(mocks['subprocess'].call.call_count, 1)
class StartprojectCommandTestCase(TestCase): tags = ('wirecloud-commands', 'wirecloud-command-startproject') @classmethod def setUpClass(cls): cls.tmp_dir = mkdtemp() cls.test_data_dir = os.path.join(os.path.dirname(__file__), 'test-data') @classmethod def tearDownClass(cls): shutil.rmtree(cls.tmp_dir, ignore_errors=True) def setUp(self): from wirecloud.commons.commands.startproject import StartprojectCommand self.command = StartprojectCommand() def tearDown(self): cleartree(self.tmp_dir) def test_no_args(self): args = [] options = { "type": "platform", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(mocks['Command'].call_count, 0) def test_invalid_project_type(self): args = ['wirecloud_instance'] options = { "type": "invalid", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(mocks['Command'].call_count, 0) def test_platform_creation(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) call_args, call_kwargs = command_instance_mock.handle.call_args_list[ 0] self.assertEqual(call_args[0], 'wirecloud_instance') self.assertEqual(call_args[1], None) self.assertEqual(call_kwargs['verbosity'], '1') self.assertEqual(mocks['subprocess'].call.call_count, 0) def test_platform_creation_quick_start(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = None mocks['sys'].executable = 'python-interpreter' self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) call_args, call_kwargs = command_instance_mock.handle.call_args_list[ 0] self.assertEqual(call_args[0], 'wirecloud_instance') self.assertEqual(call_args[1], None) self.assertEqual(call_kwargs['verbosity'], '1') self.assertGreaterEqual(mocks['subprocess'].call.call_count, 1) for (call_args, call_kwargs) in mocks['subprocess'].call.call_args_list: self.assertTrue(call_args[0].startswith('python-interpreter ')) def test_platform_creation_quick_start_no_executable_info(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = None mocks['sys'].executable = None self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) call_args, call_kwargs = command_instance_mock.handle.call_args_list[ 0] self.assertEqual(call_args[0], 'wirecloud_instance') self.assertEqual(call_args[1], None) self.assertEqual(call_kwargs['verbosity'], '1') self.assertGreaterEqual(mocks['subprocess'].call.call_count, 1) for (call_args, call_kwargs) in mocks['subprocess'].call.call_args_list: self.assertTrue(call_args[0].startswith('python ')) def test_platform_creation_quick_start_external_cmd_error(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = 1 mocks['sys'].executable = 'python-interpreter' self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) call_args, call_kwargs = command_instance_mock.handle.call_args_list[ 0] self.assertEqual(call_args[0], 'wirecloud_instance') self.assertEqual(call_args[1], None) self.assertEqual(call_kwargs['verbosity'], '1') self.assertEqual(mocks['subprocess'].call.call_count, 1)
class StartprojectCommandTestCase(TestCase): tags = ('wirecloud-commands', 'wirecloud-command-startproject') @classmethod def setUpClass(cls): cls.tmp_dir = mkdtemp() cls.test_data_dir = os.path.join(os.path.dirname(__file__), 'test-data') @classmethod def tearDownClass(cls): shutil.rmtree(cls.tmp_dir, ignore_errors=True) def setUp(self): from wirecloud.commons.commands.startproject import StartprojectCommand self.command = StartprojectCommand() def tearDown(self): cleartree(self.tmp_dir) def test_no_args(self): args = [] options = { "type": "platform", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(mocks['Command'].call_count, 0) def test_invalid_project_type(self): args = ['wirecloud_instance'] options = { "type": "invalid", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(mocks['Command'].call_count, 0) def test_platform_creation(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) call_args, call_kwargs = command_instance_mock.handle.call_args_list[0] self.assertEqual(call_args[0], 'wirecloud_instance') self.assertEqual(call_args[1], None) self.assertEqual(call_kwargs['verbosity'], '1') self.assertEqual(mocks['subprocess'].call.call_count, 0) def test_platform_creation_quick_start(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = None mocks['sys'].executable = 'python-interpreter' self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) call_args, call_kwargs = command_instance_mock.handle.call_args_list[0] self.assertEqual(call_args[0], 'wirecloud_instance') self.assertEqual(call_args[1], None) self.assertEqual(call_kwargs['verbosity'], '1') self.assertGreaterEqual(mocks['subprocess'].call.call_count, 1) for (call_args, call_kwargs) in mocks['subprocess'].call.call_args_list: self.assertTrue(call_args[0].startswith('python-interpreter ')) def test_platform_creation_quick_start_no_executable_info(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = None mocks['sys'].executable = None self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) call_args, call_kwargs = command_instance_mock.handle.call_args_list[0] self.assertEqual(call_args[0], 'wirecloud_instance') self.assertEqual(call_args[1], None) self.assertEqual(call_kwargs['verbosity'], '1') self.assertGreaterEqual(mocks['subprocess'].call.call_count, 1) for (call_args, call_kwargs) in mocks['subprocess'].call.call_args_list: self.assertTrue(call_args[0].startswith('python ')) def test_platform_creation_quick_start_external_cmd_error(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = 1 mocks['sys'].executable = 'python-interpreter' self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) call_args, call_kwargs = command_instance_mock.handle.call_args_list[0] self.assertEqual(call_args[0], 'wirecloud_instance') self.assertEqual(call_args[1], None) self.assertEqual(call_kwargs['verbosity'], '1') self.assertEqual(mocks['subprocess'].call.call_count, 1)
class StartprojectCommandTestCase(WirecloudTestCase, TestCase): tags = ('wirecloud-commands', 'wirecloud-command-startproject', 'wirecloud-noselenium') fixtures = () populate = False user_search_indexes = False @classmethod def setUpClass(cls): cls.tmp_dir = mkdtemp() cls.test_data_dir = os.path.join(os.path.dirname(__file__), 'test-data') super(StartprojectCommandTestCase, cls).setUpClass() @classmethod def tearDownClass(cls): shutil.rmtree(cls.tmp_dir, ignore_errors=True) def setUp(self): from wirecloud.commons.commands.startproject import StartprojectCommand self.command = StartprojectCommand() def tearDown(self): cleartree(self.tmp_dir) def test_no_args(self): args = [] options = { "type": "platform", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(mocks['Command'].call_count, 0) def test_invalid_project_type(self): args = ['wirecloud_instance'] options = { "type": "invalid", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(mocks['Command'].call_count, 0) def assertHandleCall(self, handle_mock, values={}): call_args, call_kwargs = handle_mock.call_args_list[0] options = { "name": 'wirecloud_instance', "directory": None, "verbosity": 1 } options.update(values) for key in options: self.assertEqual(call_kwargs.get(key), options[key]) def test_platform_creation(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": False, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) self.assertHandleCall(command_instance_mock.handle) self.assertEqual(mocks['subprocess'].call.call_count, 0) def test_platform_creation_quick_start(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = None mocks['sys'].executable = 'python-interpreter' self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) call_args, call_kwargs = command_instance_mock.handle.call_args_list[0] self.assertHandleCall(command_instance_mock.handle) self.assertGreaterEqual(mocks['subprocess'].call.call_count, 1) for (call_args, call_kwargs) in mocks['subprocess'].call.call_args_list: self.assertTrue(call_args[0].startswith('python-interpreter ')) def test_platform_creation_quick_start_no_executable_info(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = None mocks['sys'].executable = None self.command.execute(*args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) self.assertHandleCall(command_instance_mock.handle) self.assertGreaterEqual(mocks['subprocess'].call.call_count, 1) for (call_args, call_kwargs) in mocks['subprocess'].call.call_args_list: self.assertTrue(call_args[0].startswith('python ')) def test_platform_creation_quick_start_external_cmd_error(self): args = ['wirecloud_instance'] options = { "type": "platform", "quick_start": True, "verbosity": "1", } with patch.multiple('wirecloud.commons.commands.startproject', Command=DEFAULT, subprocess=DEFAULT, os=DEFAULT, sys=DEFAULT) as mocks: command_instance_mock = Mock() mocks['Command'].return_value = command_instance_mock mocks['subprocess'].call.return_value = 1 mocks['sys'].executable = 'python-interpreter' self.assertRaises(CommandError, self.command.execute, *args, **options) self.assertEqual(command_instance_mock.handle.call_count, 1) self.assertHandleCall(command_instance_mock.handle) self.assertEqual(mocks['subprocess'].call.call_count, 1)