Beispiel #1
0
 def start_work(self):
     executor = Executor(
         WorkRequest(request.get_json()),
         self.app.rapid_config.master_uri,
         workspace=self.app.rapid_config.workspace,
         quarantine=self.app.rapid_config.quarantine_directory,
         verify_certs=self.app.rapid_config.verify_certs,
         rapid_config=self.app.rapid_config)
     executor.verify_work_request()
     executor.start()
Beispiel #2
0
    def test_verify_work_request_no_action_instance_id(self):
        """
        rapid-unit: Rapid Client:Remote Execution:Can remotely execute code on client
        :return:
        :rtype:
        """
        work_request = WorkRequest()
        executor = Executor(work_request, "http")

        with self.assertRaises(Exception) as cm:
            executor.verify_work_request()
        self.assertEqual("Invalid action_instance_id", str(cm.exception))
Beispiel #3
0
    def test_verify_work_request_no_executable(self):
        """
        rapid-unit: Rapid Client:Remote Execution:Can remotely execute code on client
        :return:
        :rtype:
        """
        work_request = WorkRequest()
        executor = Executor(work_request, "http")
        work_request.action_instance_id = 1

        with self.assertRaises(Exception) as cm:
            executor.verify_work_request()
        self.assertEqual("Executable not set, nothing to run.", str(cm.exception))
Beispiel #4
0
    def test_verify_work_request_no_pipeline_instance_id(self):
        """
        rapid-unit: Rapid Client:Remote Execution:Can remotely execute code on client
        :return:
        :rtype:
        """
        work_request = WorkRequest()
        executor = Executor(work_request, "http")
        work_request.action_instance_id = 1
        work_request.executable = "something"

        with self.assertRaises(Exception) as cm:
            executor.verify_work_request()
        self.assertEqual("No pipline_instance_id set.", str(cm.exception))
    def run_action_instance(self, app, action_instance_id):
        # type: (Flask, int) -> None
        communicator = ClientCommunicator(
            self.client_config.master_uri,
            self.client_config.quarantine_directory, app,
            self.client_config.verify_certs)
        self.client_config.is_single_use = True

        communicator.register(self.client_config)
        request_json = communicator.get_work_request_by_action_instance_id(
            action_instance_id)
        executor = Executor(WorkRequest(request_json),
                            self.client_config.master_uri,
                            workspace=self.client_config.workspace,
                            quarantine=self.client_config.quarantine_directory,
                            verify_certs=self.client_config.verify_certs,
                            rapid_config=self.client_config)
        executor.verify_work_request()
        executor.start(False)