Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
    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()
Exemplo n.º 4
0
    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')
Exemplo n.º 5
0
    def setUp(self):

        from wirecloud.commons.commands.startproject import StartprojectCommand
        self.command = StartprojectCommand()
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
    def setUp(self):

        from wirecloud.commons.commands.startproject import StartprojectCommand
        self.command = StartprojectCommand()
Exemplo n.º 9
0
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)
Exemplo n.º 10
0
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)