コード例 #1
0
    def setUp(self):
        super(DataHandlerTest, self).setUp()
        database_credentials = TemplateLoader.load_database_credentials()
        self.expected_admin_credentials = "--user='******' --password='******'" % (
            database_credentials.admin_user,
            database_credentials.admin_password)

        self.mock_feedback = self.mox.CreateMock(ExecutionFeedback)
        self.mock_host_controller = self.mox.CreateMock(RemoteHostController)
        self.mock_host_controller.feedback = self.mock_feedback

        self.data_handler = DataHandler(database_credentials,
                                        self.mock_host_controller)
コード例 #2
0
class DataHandlerTest(mox.MoxTestBase):
    def setUp(self):
        super(DataHandlerTest, self).setUp()
        database_credentials = TemplateLoader.load_database_credentials()
        self.expected_admin_credentials = "--user='******' --password='******'" % (
            database_credentials.admin_user,
            database_credentials.admin_password)

        self.mock_feedback = self.mox.CreateMock(ExecutionFeedback)
        self.mock_host_controller = self.mox.CreateMock(RemoteHostController)
        self.mock_host_controller.feedback = self.mock_feedback

        self.data_handler = DataHandler(database_credentials,
                                        self.mock_host_controller)

    def test_can_extract_data_to_specified_data_extract_file(self):
        """fab.tests.database.mysql.data_handler_test  Can extract data to a specified data extract file"""

        expected_data_extraction_command = 'mysqldump %s some_database > /path/to/data_extract_file.sql' % self.expected_admin_credentials

        self.mock_feedback.comment(
            "Extracting data from 'some_database' to /path/to/data_extract_file.sql"
        )
        self._hide_command_execution()
        self.mock_host_controller.run(expected_data_extraction_command)
        self.mox.ReplayAll()

        self.data_handler.extract_data_to('/path/to/data_extract_file.sql',
                                          'some_database')

    def test_can_load_data_from_specified_data_extract_file(self):
        """fab.tests.database.mysql.data_handler_test  Can load data from a specified data extract file"""

        expected_data_import_command = 'mysql %s some_database < /path/to/data_extract_file.sql' % self.expected_admin_credentials

        self.mock_feedback.comment(
            "Importing data from /path/to/data_extract_file.sql into 'some_database'"
        )
        self._hide_command_execution()
        self.mock_host_controller.run(expected_data_import_command)
        self.mox.ReplayAll()

        self.data_handler.load_data_from('/path/to/data_extract_file.sql',
                                         'some_database')

    def _hide_command_execution(self):
        self.mock_host_controller.hide_command().AndReturn(
            fabric.api.hide('running'))
コード例 #3
0
ファイル: data_handler_test.py プロジェクト: caetie/akvo-rsr
    def setUp(self):
        super(DataHandlerTest, self).setUp()
        database_credentials = TemplateLoader.load_database_credentials()
        self.expected_admin_credentials = "--user='******' --password='******'" % (database_credentials.admin_user, database_credentials.admin_password)

        self.mock_feedback = self.mox.CreateMock(ExecutionFeedback)
        self.mock_host_controller = self.mox.CreateMock(RemoteHostController)
        self.mock_host_controller.feedback = self.mock_feedback

        self.data_handler = DataHandler(database_credentials, self.mock_host_controller)
コード例 #4
0
ファイル: populator.py プロジェクト: mahmoudimus/akvo-rsr
    def create_with(database_credentials, deployment_host_config,
                    host_controller):
        data_populator_config = RSRDataPopulatorConfig.create_with(
            deployment_host_config)
        django_admin = DjangoAdmin.create_with(
            data_populator_config.rsr_env_path,
            data_populator_config.rsr_deployment_home, host_controller)

        return RSRDataPopulator(
            data_populator_config, FileSystem(host_controller),
            LocalFileSystem(), django_admin,
            DataHandler(database_credentials, host_controller),
            host_controller.feedback)
コード例 #5
0
ファイル: data_handler_test.py プロジェクト: caetie/akvo-rsr
class DataHandlerTest(mox.MoxTestBase):

    def setUp(self):
        super(DataHandlerTest, self).setUp()
        database_credentials = TemplateLoader.load_database_credentials()
        self.expected_admin_credentials = "--user='******' --password='******'" % (database_credentials.admin_user, database_credentials.admin_password)

        self.mock_feedback = self.mox.CreateMock(ExecutionFeedback)
        self.mock_host_controller = self.mox.CreateMock(RemoteHostController)
        self.mock_host_controller.feedback = self.mock_feedback

        self.data_handler = DataHandler(database_credentials, self.mock_host_controller)

    def test_can_extract_data_to_specified_data_extract_file(self):
        """fab.tests.database.mysql.data_handler_test  Can extract data to a specified data extract file"""

        expected_data_extraction_command = 'mysqldump %s some_database > /path/to/data_extract_file.sql' % self.expected_admin_credentials

        self.mock_feedback.comment("Extracting data from 'some_database' to /path/to/data_extract_file.sql")
        self._hide_command_execution()
        self.mock_host_controller.run(expected_data_extraction_command)
        self.mox.ReplayAll()

        self.data_handler.extract_data_to('/path/to/data_extract_file.sql', 'some_database')

    def test_can_load_data_from_specified_data_extract_file(self):
        """fab.tests.database.mysql.data_handler_test  Can load data from a specified data extract file"""

        expected_data_import_command = 'mysql %s some_database < /path/to/data_extract_file.sql' % self.expected_admin_credentials

        self.mock_feedback.comment("Importing data from /path/to/data_extract_file.sql into 'some_database'")
        self._hide_command_execution()
        self.mock_host_controller.run(expected_data_import_command)
        self.mox.ReplayAll()

        self.data_handler.load_data_from('/path/to/data_extract_file.sql', 'some_database')

    def _hide_command_execution(self):
        self.mock_host_controller.hide_command().AndReturn(fabric.api.hide('running'))
コード例 #6
0
ファイル: retriever.py プロジェクト: mahmoudimus/akvo-rsr
    def create_with(database_credentials, host_controller):
        data_retriever_config = RSRDataRetrieverConfig(DataHostPaths())
        host_file_system = FileSystem(host_controller)
        settings_reader = DjangoSettingsReader.create_with(data_retriever_config.rsr_log_file_path,
                                                           data_retriever_config.rsr_env_path,
                                                           data_retriever_config.rsr_app_path,
                                                           host_controller)

        return RSRDataRetriever(data_retriever_config,
                                host_file_system,
                                LocalFileSystem(),
                                settings_reader,
                                DataHandler(database_credentials, host_controller),
                                host_controller.feedback,
                                TimeStampFormatter())