public void run()

in services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/CommandExecutorMockAsync.java [116:186]


    public void run() {
        log.debug("Run OS command for user {} with UUID {}: {}", user, uuid, SecurityUtils.hideCreds(command));

        responseFileName = null;
        parser = new CommandParserMock(command, uuid);
        log.debug("Parser is {}", SecurityUtils.hideCreds(parser.toString()));
        DockerAction action = DockerAction.of(parser.getAction());
        log.debug("Action is {}", action);

        if (parser.isDockerCommand()) {
            if (action == null) {
                throw new DatalabException("Docker action not defined");
            }

            sleep(500);

            try {
                switch (action) {
                    case DESCRIBE:
                        describe();
                        break;
                    case CREATE:
                    case RECREATE:
                    case START:
                    case STOP:
                    case TERMINATE:
                    case GIT_CREDS:
                    case CREATE_IMAGE:
                    case RECONFIGURE_SPARK:
                    case CHECK_INACTIVITY:
                        action(user, action);
                        break;
                    case CONFIGURE:
                    case REUPLOAD_KEY:
                        sleep(1000);
                        action(user, action);
                        break;
                    case STATUS:
                        parser.getVariables().put("list_resources", getResponseStatus(true));
                        action(user, action);
                        break;
                    case LIB_LIST:
                        action(user, action);
                        copyFile(String.format("mock_response/%s/notebook_lib_list_pkgs.json",
                                cloudProvider.getName()),
                                String.join("_", "notebook", uuid, "all_pkgs") +
                                        JSON_FILE_ENDING, parser.getResponsePath());
                        break;
                    case LIB_INSTALL:
                        parser.getVariables().put("lib_install", getResponseLibInstall(true));
                        action(user, action);
                        break;
                    default:
                        break;
                }
            } catch (Exception e) {
                String msg = "Cannot execute command for user " + user + " with UUID " + uuid + ". " +
                        e.getLocalizedMessage();
                log.error(msg, e);
                throw new DatalabException(msg, e);
            }
        } else {
            final String scriptName = StringUtils.substringBefore(Paths.get(parser.getCommand()).getFileName()
                    .toString(), ".");
            String templateFileName = "mock_response/" + cloudProvider.getName() + '/' + scriptName + JSON_FILE_ENDING;
            responseFileName = getAbsolutePath(parser.getResponsePath(), scriptName + user + "_" +
                    parser.getRequestId() + JSON_FILE_ENDING);
            setResponse(templateFileName, responseFileName);
        }

    }