public synchronized TestInfo createTest(String userKey, String testName) {
        TestInfo testInfo = null;
        if (userKey == null || userKey.trim().isEmpty()) {
            BmLog.debug("Test cannot be created, userKey is empty");
            return null;
        }

        String url = this.urlManager.scriptCreation(Constants.APP_KEY, userKey, testName);
        JSONObject properties = new JSONObject();
        try {
            JSONObject jo = new JSONObject();
            jo.put("JMETER_VERSION", Utils.getJmeterVersion());
            properties.put("options", jo);
        } catch (JSONException e) {
            BmLog.error(e);
        }
        JSONObject jo = getJson(Methods.POST, url, properties);
        testInfo = TestInfoProcessor.parseTestInfo(jo);

        return testInfo;
    }