Search in sources :

Example 1 with AgentDeletedException

use of com.testsigma.automator.exceptions.AgentDeletedException in project testsigma by testsigmahq.

the class AgentBrowserService method sync.

public void sync() throws AgentDeletedException {
    try {
        if (!startSync()) {
            return;
        }
        log.info("Syncing agent details");
        String hostName = AgentService.getComputerName();
        String uuid = agentConfig.getUUID();
        AgentDTO agentDTO = new AgentDTO();
        AgentOs osType = AgentOs.getLocalAgentOs();
        agentDTO.setOsType(osType);
        agentDTO.setOsVersion(AgentService.getOsVersion());
        agentDTO.setHostName(hostName);
        agentDTO.setIpAddress(NetworkUtil.getCurrentIpAddress());
        agentDTO.setAgentVersion(this.agentConfig.getAgentVersion());
        agentDTO.setBrowserList(this.getBrowserList());
        String authHeader = WebAppHttpClient.BEARER + " " + this.agentConfig.getJwtApiKey();
        HttpResponse<AgentDTO> response = httpClient.put(ServerURLBuilder.agentURL(uuid), agentDTO, new TypeReference<>() {
        }, authHeader);
        log.debug(response);
        if (response.getStatusCode() == HttpStatus.OK.value()) {
            log.info("Successfully updated latest agent details...");
        } else {
            log.info("Failed to sync latest hybrid agent details to application server");
            log.info("Error code: " + response.getStatusCode() + " - " + response.getStatusMessage());
        }
    } catch (AgentDeletedException e) {
        throw e;
    } catch (Exception e) {
        log.error(e.getMessage(), e);
    }
    log.debug("Finished syncing agent details");
}
Also used : AgentDTO(com.testsigma.agent.dto.AgentDTO) AgentOs(com.testsigma.agent.constants.AgentOs) AgentDeletedException(com.testsigma.automator.exceptions.AgentDeletedException) AgentDeletedException(com.testsigma.automator.exceptions.AgentDeletedException)

Example 2 with AgentDeletedException

use of com.testsigma.automator.exceptions.AgentDeletedException in project testsigma by testsigmahq.

the class ApplicationEventHandler method postAppContextReadyActions.

public void postAppContextReadyActions(ApplicationContext context) {
    log.info("-------------- Post App Context Ready Actions Started --------------");
    AgentConfig agentConfig = context.getBean(AgentConfig.class);
    CloudAppBridge cloudAppBridge = context.getBean(CloudAppBridge.class);
    ApplicationConfig applicationConfig = context.getBean(ApplicationConfig.class);
    AgentWebServerService agentWebServerService = context.getBean(AgentWebServerService.class);
    AutomatorConfig automatorConfig = AutomatorConfig.getInstance();
    automatorConfig.setCloudServerUrl(agentConfig.getServerUrl());
    automatorConfig.setTestCaseFetchWaitInterval(applicationConfig.getTestCaseFetchWaitInterval());
    automatorConfig.setTestCaseDefaultMaxTries(applicationConfig.getTestCaseDefaultMaxTries());
    automatorConfig.setAppBridge(cloudAppBridge);
    automatorConfig.init();
    AdbBridge adbBridge = context.getBean(AdbBridge.class);
    MobileAutomationServer mobileAutomationServer = context.getBean(MobileAutomationServer.class);
    AgentBrowserService agentBrowserService = context.getBean(AgentBrowserService.class);
    AndroidDeviceListener androidDeviceListener = context.getBean(AndroidDeviceListener.class);
    IosDeviceListener iosDeviceListener = context.getBean(IosDeviceListener.class);
    AgentWebServer agentWebServer = context.getBean(AgentWebServer.class);
    agentWebServer.startWebServerConnectors();
    try {
        agentBrowserService.sync();
    } catch (AgentDeletedException e) {
        log.info("-------------- Post App Context Failed Agent is deleted --------------");
    }
    androidDeviceListener.syncInitialDeviceStatus();
    adbBridge.createBridge();
    ExecutorService executorService = Executors.newSingleThreadExecutor();
    executorService.submit(androidDeviceListener);
    ExecutorService executorService1 = Executors.newSingleThreadExecutor();
    executorService1.submit(iosDeviceListener);
    mobileAutomationServer.start();
    agentWebServerService.registerLocalAgent();
    log.info("-------------- Post App Context Ready Actions Finished --------------");
}
Also used : AgentWebServerService(com.testsigma.agent.services.AgentWebServerService) AdbBridge(com.testsigma.agent.mobile.android.AdbBridge) AndroidDeviceListener(com.testsigma.agent.mobile.android.AndroidDeviceListener) AutomatorConfig(com.testsigma.automator.AutomatorConfig) AgentDeletedException(com.testsigma.automator.exceptions.AgentDeletedException) MobileAutomationServer(com.testsigma.agent.mobile.MobileAutomationServer) AgentConfig(com.testsigma.agent.config.AgentConfig) CloudAppBridge(com.testsigma.agent.tasks.CloudAppBridge) ApplicationConfig(com.testsigma.agent.config.ApplicationConfig) ExecutorService(java.util.concurrent.ExecutorService) AgentBrowserService(com.testsigma.agent.services.AgentBrowserService) AgentWebServer(com.testsigma.agent.ws.server.AgentWebServer) IosDeviceListener(com.testsigma.agent.mobile.ios.IosDeviceListener)

Example 3 with AgentDeletedException

use of com.testsigma.automator.exceptions.AgentDeletedException in project testsigma by testsigmahq.

the class RunScheduler method run.

@Scheduled(cron = "${agent.jobs.runSchedule:-}")
public void run() {
    try {
        Thread.currentThread().setName("RunScheduler");
        if (skipScheduleRun()) {
            log.info("Skipping agent RunScheduler run...");
            return;
        }
        String authHeader = HttpClient.BEARER + " " + agentConfig.getJwtApiKey();
        HttpResponse<ExecutionDTO> response = httpClient.get(ServerURLBuilder.executionURL(agentConfig.getUUID()), new TypeReference<>() {
        }, authHeader);
        if (response.getStatusCode() == HttpStatus.OK.value()) {
            ExecutionDTO executionDTO = response.getResponseEntity();
            setRequestId(response);
            startExecutions(executionDTO.getEnvironment());
        } else {
            log.error("Unable To Fetch Executions From Testsigma Servers. Request Failed With Response Code - " + response.getStatusCode());
        }
    } catch (AgentDeletedException e) {
        deRegisterAgent(e);
    } catch (Exception e) {
        log.error(e.getMessage(), e);
    }
}
Also used : ExecutionDTO(com.testsigma.agent.dto.ExecutionDTO) AgentDeletedException(com.testsigma.automator.exceptions.AgentDeletedException) AgentDeletedException(com.testsigma.automator.exceptions.AgentDeletedException) Scheduled(org.springframework.scheduling.annotation.Scheduled)

Aggregations

AgentDeletedException (com.testsigma.automator.exceptions.AgentDeletedException)3 AgentConfig (com.testsigma.agent.config.AgentConfig)1 ApplicationConfig (com.testsigma.agent.config.ApplicationConfig)1 AgentOs (com.testsigma.agent.constants.AgentOs)1 AgentDTO (com.testsigma.agent.dto.AgentDTO)1 ExecutionDTO (com.testsigma.agent.dto.ExecutionDTO)1 MobileAutomationServer (com.testsigma.agent.mobile.MobileAutomationServer)1 AdbBridge (com.testsigma.agent.mobile.android.AdbBridge)1 AndroidDeviceListener (com.testsigma.agent.mobile.android.AndroidDeviceListener)1 IosDeviceListener (com.testsigma.agent.mobile.ios.IosDeviceListener)1 AgentBrowserService (com.testsigma.agent.services.AgentBrowserService)1 AgentWebServerService (com.testsigma.agent.services.AgentWebServerService)1 CloudAppBridge (com.testsigma.agent.tasks.CloudAppBridge)1 AgentWebServer (com.testsigma.agent.ws.server.AgentWebServer)1 AutomatorConfig (com.testsigma.automator.AutomatorConfig)1 ExecutorService (java.util.concurrent.ExecutorService)1 Scheduled (org.springframework.scheduling.annotation.Scheduled)1