package org.testobject.rest.api.appium.common;

import java.net.MalformedURLException;
import java.net.URL;

public final class TestObjectCapabilities {

	public static final String TESTOBJECT_API_ENDPOINT = "https://appium.testobject.com:443/api";

	public static final URL TESTOBJECT_APPIUM_ENDPOINT = toAppiumEndpointURL(TESTOBJECT_API_ENDPOINT);

	public static final String TESTOBJECT_API_KEY = "testobject_api_key";
	public static final String TESTOBJECT_TEST_REPORT_ID = "testobject_test_report_id";

	public static final String TESTOBJECT_APP_ID = "testobject_app_id";
	public static final String TESTOBJECT_DEVICE = "testobject_device";
	public static final String TESTOBJECT_SUITE_NAME = "testobject_suite_name";
	public static final String TESTOBJECT_TEST_NAME = "testobject_test_name";
	public static final String TESTOBJECT_APPIUM_VERSION = "testobject_appium_version";

	private TestObjectCapabilities() {
	}

	public static URL toAppiumEndpointURL(String url) {
		try {
			return new URL(url + "/appium/wd/hub");
		} catch (MalformedURLException e) {
			throw new RuntimeException(e.getMessage(), e);
		}
	}

}

@@ -500,17 +500,285 @@
 rt_id%22;%0A
+%09public static final String TESTOBJECT_TEST_REPORT_URL = %22testobject_test_report_url%22;%0A%09public static final String TESTOBJECT_TEST_LIVE_VIEW_URL = %22testobject_test_live_view_url%22;%0A%09public static final String TESTOBJECT_FRAMEWORK_APP_ID = %22testobject_framework_app_id%22;
 %0A
-
 %09public 
@@ -903,24 +903,115 @@
 ct_device%22;%0A
+%09public static final String TESTOBJECT_DEVICE_SESSION_ID = %22testobject_device_session_id%22;%0A
 %09public stat
@@ -1142,32 +1142,32 @@
 ect_test_name%22;%0A
-
 %09public static f
@@ -1235,16 +1235,915 @@
 rsion%22;%0A
+%09public static final String TESTOBJECT_DISABLE_VALIDATION = %22testobject_disable_validation%22;%0A%09public static final String TESTOBJECT_NO_RESET = %22testobject_no_reset%22;%0A%09public static final String TESTOBJECT_CACHE_DEVICE = %22testobject_cache_device%22;%0A%09public static final String TESTOBJECT_REINSTALL_APP = %22testobject_reinstall_app%22;%0A%09public static final String TESTOBJECT_REINSTALL_FRAMEWORK_APP = %22testobject_reinstall_framework_app%22;%0A%09public static final String TESTOBJECT_SESSION_CREATION_RETRY = %22testobject_session_creation_retry%22;%0A%09public static final String TESTOBJECT_SESSION_CREATION_TIMEOUT = %22testobject_session_creation_timeout%22;%0A%09public static final String TESTOBJECT_DEVICE_ALLOCATION_SLEEP_TIME = %22testobject_device_session_sleep_time%22;%0A%09public static final String TESTOBJECT_USER_ID = %22testobject_user_id%22;%0A%09public static final String TESTOBJECT_PROJECT_ID = %22testobject_project_id%22;%0A%0A%0A
 %0A%09privat

Add constants for our custom DesiredCapaiblities