class DataRetrievalHostTest(mox.MoxTestBase):
    def setUp(self):
        super(DataRetrievalHostTest, self).setUp()
        self.mock_data_retriever = self.mox.CreateMock(RSRDataRetriever)

        self.data_retrieval_host = DataRetrievalHost(self.mock_data_retriever)

    def test_can_create_instance_for_remote_host(self):
        """fab.tests.host.data_retrieval_host_test  Can create a DataRetrievalHost instance for a remote host"""

        mock_remote_host_controller = self.mox.CreateMock(RemoteHostController)
        mock_remote_host_controller.feedback = self.mox.CreateMock(
            ExecutionFeedback)
        mock_remote_host_controller.sudo(
            'chmod a+w %s' %
            RSRDataRetrieverConfig(DataHostPaths()).rsr_log_file_path)
        self.mox.ReplayAll()

        self.assertIsInstance(
            DataRetrievalHost.create_with(
                TemplateLoader.load_database_credentials(),
                mock_remote_host_controller), DataRetrievalHost)

    def test_can_fetch_data_from_host(self):
        """fab.tests.host.data_retrieval_host_test  Can fetch data from the host"""

        self.mock_data_retriever.fetch_data_from_database()
        self.mox.ReplayAll()

        self.data_retrieval_host.fetch_latest_data()
class DataRetrievalHostTest(mox.MoxTestBase):

    def setUp(self):
        super(DataRetrievalHostTest, self).setUp()
        self.mock_data_retriever = self.mox.CreateMock(RSRDataRetriever)

        self.data_retrieval_host = DataRetrievalHost(self.mock_data_retriever)

    def test_can_create_instance_for_remote_host(self):
        """fab.tests.host.data_retrieval_host_test  Can create a DataRetrievalHost instance for a remote host"""

        mock_remote_host_controller = self.mox.CreateMock(RemoteHostController)
        mock_remote_host_controller.feedback = self.mox.CreateMock(ExecutionFeedback)
        mock_remote_host_controller.sudo('chmod a+w %s' % RSRDataRetrieverConfig(DataHostPaths()).rsr_log_file_path)
        self.mox.ReplayAll()

        self.assertIsInstance(DataRetrievalHost.create_with(TemplateLoader.load_database_credentials(), mock_remote_host_controller),
                              DataRetrievalHost)

    def test_can_fetch_data_from_host(self):
        """fab.tests.host.data_retrieval_host_test  Can fetch data from the host"""

        self.mock_data_retriever.fetch_data_from_database()
        self.mox.ReplayAll()

        self.data_retrieval_host.fetch_latest_data()
    def test_can_create_instance_for_remote_host(self):
        """fab.tests.host.data_retrieval_host_test  Can create a DataRetrievalHost instance for a remote host"""

        mock_remote_host_controller = self.mox.CreateMock(RemoteHostController)
        mock_remote_host_controller.feedback = self.mox.CreateMock(ExecutionFeedback)
        mock_remote_host_controller.sudo('chmod a+w %s' % RSRDataRetrieverConfig(DataHostPaths()).rsr_log_file_path)
        self.mox.ReplayAll()

        self.assertIsInstance(DataRetrievalHost.create_with(TemplateLoader.load_database_credentials(), mock_remote_host_controller),
                              DataRetrievalHost)
    def test_can_create_instance_for_remote_host(self):
        """fab.tests.host.data_retrieval_host_test  Can create a DataRetrievalHost instance for a remote host"""

        mock_remote_host_controller = self.mox.CreateMock(RemoteHostController)
        mock_remote_host_controller.feedback = self.mox.CreateMock(
            ExecutionFeedback)
        mock_remote_host_controller.sudo(
            'chmod a+w %s' %
            RSRDataRetrieverConfig(DataHostPaths()).rsr_log_file_path)
        self.mox.ReplayAll()

        self.assertIsInstance(
            DataRetrievalHost.create_with(
                TemplateLoader.load_database_credentials(),
                mock_remote_host_controller), DataRetrievalHost)
    def setUp(self):
        super(DataRetrievalHostTest, self).setUp()
        self.mock_data_retriever = self.mox.CreateMock(RSRDataRetriever)

        self.data_retrieval_host = DataRetrievalHost(self.mock_data_retriever)
    def setUp(self):
        super(DataRetrievalHostTest, self).setUp()
        self.mock_data_retriever = self.mox.CreateMock(RSRDataRetriever)

        self.data_retrieval_host = DataRetrievalHost(self.mock_data_retriever)