diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/.gitignore b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..d5c50ebc2ced79a40d64e5d29c5c8cb2facdea04
--- /dev/null
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/.gitignore
@@ -0,0 +1 @@
+/TestingConstants.java
diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/CheckStatusOfHaaS.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/CheckStatusOfHaaS.java
index d70dc48419bd3f3af8eccc56e80ad1690cbc64d1..94ed84f0a80f604d75a2dbf59a6b88d8ded3e4cd 100644
--- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/CheckStatusOfHaaS.java
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/CheckStatusOfHaaS.java
@@ -45,7 +45,7 @@ public class CheckStatusOfHaaS implements Command {
 	@Override
 	public void run() {
 		try {
-			jobManager = new JobManager(getWorkingDirectoryPath());
+			jobManager = new JobManager(getWorkingDirectoryPath(),TestingConstants.getSettings());
 			if (uiService.isHeadless()) {
 				downloadAll();
 			} else {
diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java
index 620c6ccf11eda30d59ddfd3b00aee3a162d79b3b..5bc7650ea9047f08d800d63d71f6a795d1191f67 100644
--- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java
@@ -121,7 +121,7 @@ public class Job {
 
 	synchronized public void download(Progress progress) {
 		if (!needsDownload()) {
-			throw new IllegalStateException("Job: " + getJobId() + " dosn't need download");
+			throw new IllegalStateException("Job: " + getJobId() + " doesn't need download");
 		}
 		haasClientSupplier.get().download(getJobId(), jobDir, new P_ProgressNotifierAdapter(progress));
 		needsDownload = false;
diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java
index 19cb34dfc31751e5cc940a929bd0375f9fefb5eb..9d10969960757e162b245388e50ebf0f142c5a20 100644
--- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java
@@ -11,6 +11,7 @@ import java.util.stream.Collectors;
 
 import cz.it4i.fiji.haas_java_client.HaaSClient;
 import cz.it4i.fiji.haas_java_client.JobState;
+import cz.it4i.fiji.haas_java_client.Settings;
 import javafx.beans.value.ObservableValueBase;
 import net.imagej.updater.util.Progress;
 
@@ -22,9 +23,12 @@ public class JobManager {
 
 	private HaaSClient haasClient;
 
+	private Settings settings;
+
 	
-	public JobManager(Path workDirectory) throws IOException {
+	public JobManager(Path workDirectory, Settings settings) throws IOException {
 		this.workDirectory = workDirectory;
+		this.settings = settings;
 		Files.list(this.workDirectory).filter(p -> Files.isDirectory(p) && Job.isJobPath(p)).forEach(p -> {
 			try {
 				jobs.add(new Job(p, this::getHaasClient));
@@ -56,7 +60,7 @@ public class JobManager {
 
 	private HaaSClient getHaasClient() {
 		if (haasClient == null) {
-			haasClient = new HaaSClient(2l, 9600, 6l, "DD-17-31");
+			haasClient = new HaaSClient(settings);
 		}
 		return haasClient;
 	}
diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/RunWithHaaS.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/RunWithHaaS.java
index 47996c857c415d6b3d63747ae699331e0ab800b4..cce86a42bc28b6ce4e0b19152bbd590666eaddda 100644
--- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/RunWithHaaS.java
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/RunWithHaaS.java
@@ -49,7 +49,7 @@ public class RunWithHaaS implements Command {
 	@Override
 	public void run() {
 		try {
-			jobManager = new JobManager(getWorkingDirectoryPath());
+			jobManager = new JobManager(getWorkingDirectoryPath(),TestingConstants.getSettings());
 			jobManager.startJob(getWorkingDirectoryPath(), getContent(dataDirectory),
 					ModalDialogs.doModal(new ProgressDialog(getFrame())));
 		} catch (IOException e) {
diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/TestingConstants.template b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/TestingConstants.template
new file mode 100644
index 0000000000000000000000000000000000000000..6e89e500814d9ffd5ecef6a5d6dd6e9aaa0f9c56
--- /dev/null
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/TestingConstants.template
@@ -0,0 +1,61 @@
+package cz.it4i.fiji.haas;
+
+import cz.it4i.fiji.haas_java_client.Settings;
+
+interface TestingConstants {
+	String USER_NAME = <user name to haas>;
+	String PASSWORD = <password to haas>;
+	String EMAIL = ;
+	String PHONE = ;
+	
+	
+	static Settings getSettings() {
+		long templateId = 2l;
+		int timeOut = 9600; 
+		long clusterNodeType = 6l;
+		String projectId = "DD-17-31";
+		return new Settings() {
+			
+			@Override
+			public String getUserName() {
+				return USER_NAME;
+			}
+			
+			@Override
+			public String getPhone() {
+				return PHONE;
+			}
+			
+			@Override
+			public String getPassword() {
+				return PASSWORD;
+			}
+			
+			@Override
+			public String getEmail() {
+				return EMAIL;
+			}
+
+			@Override
+			public long getTemplateId() {
+				return templateId;
+			}
+			
+			@Override
+			public int getTimeout() {
+				return timeOut;
+			}
+			
+			@Override
+			public long getClusterNodeType() {
+				return clusterNodeType;
+			}
+
+			@Override
+			public String getProjectId() {
+				return projectId;
+			}
+		};
+	}
+	
+}
\ No newline at end of file
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java
index 4cbcd5ef70da19bd395d8d99b5a201305c4f23f9..7be909bb246f78bf2b36c3d6766829015917be1e 100644
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java
@@ -118,6 +118,8 @@ public class HaaSClient {
 		}
 	};
 
+	private Settings settings;
+
 	final static private Map<JobStateExt, JobState> WS_STATE2STATE;
 
 	static {
@@ -132,12 +134,13 @@ public class HaaSClient {
 		WS_STATE2STATE = Collections.unmodifiableMap(map);
 	}
 
-	public HaaSClient(Long templateId, Integer timeOut, Long clusterNodeType, String projectId) {
+	public HaaSClient(Settings settings) {
 		super();
-		this.templateId = templateId;
-		this.timeOut = timeOut;
-		this.clusterNodeType = clusterNodeType;
-		this.projectId = projectId;
+		this.settings = settings;
+		this.templateId = settings.getTemplateId();
+		this.timeOut = settings.getTimeout();
+		this.clusterNodeType = settings.getClusterNodeType();
+		this.projectId = settings.getProjectId();
 	}
 
 	public long start(Iterable<Path> files, String name, Collection<Entry<String, String>> templateParameters) {
@@ -297,8 +300,8 @@ public class HaaSClient {
 		testJob.setProject(projectId);
 		testJob.setWaitingLimit(null);
 		testJob.setWalltimeLimit(timeOut);
-		testJob.setNotificationEmail(Constants.EMAIL);
-		testJob.setPhoneNumber(Constants.PHONE);
+		testJob.setNotificationEmail(settings.getEmail());
+		testJob.setPhoneNumber(settings.getPhone());
 		testJob.setNotifyOnAbort(false);
 		testJob.setNotifyOnFinish(false);
 		testJob.setNotifyOnStart(false);
@@ -337,7 +340,7 @@ public class HaaSClient {
 
 	private String authenticate() throws RemoteException, ServiceException {
 		return getUserAndLimitationManagement()
-				.authenticateUserPassword(new PasswordCredentialsExt(Constants.USER_NAME, Constants.PASSWORD));
+				.authenticateUserPassword(new PasswordCredentialsExt(settings.getUserName(), settings.getPassword()));
 	}
 
 	private UserAndLimitationManagementWsSoap getUserAndLimitationManagement() throws ServiceException {
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java
new file mode 100644
index 0000000000000000000000000000000000000000..64f6af6b87af1469bfc0e8033df1cee90ea3798c
--- /dev/null
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java
@@ -0,0 +1,12 @@
+package cz.it4i.fiji.haas_java_client;
+
+public interface Settings {
+	String getUserName();
+	String getPassword();
+	String getEmail();
+	String getPhone();
+	long getTemplateId();
+	int getTimeout();
+	long getClusterNodeType();
+	String getProjectId();
+}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TestingConstants.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TestingConstants.java
new file mode 100644
index 0000000000000000000000000000000000000000..c6f9746ac369b38d9d8331e82430128672f44089
--- /dev/null
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TestingConstants.java
@@ -0,0 +1,54 @@
+package cz.it4i.fiji.haas_java_client;
+
+interface TestingConstants {
+	String USER_NAME = "testuser";
+	String PASSWORD = "57f9caaf84";
+	String EMAIL = "jan.kozusznik@vsb.cz";
+	String PHONE = "999111000";
+	
+	static Settings getSettings(long templateId, int timeOut, long clusterNodeType, String projectId) {
+		return new Settings() {
+			
+			@Override
+			public String getUserName() {
+				return USER_NAME;
+			}
+			
+			@Override
+			public String getPhone() {
+				return PHONE;
+			}
+			
+			@Override
+			public String getPassword() {
+				return PASSWORD;
+			}
+			
+			@Override
+			public String getEmail() {
+				return EMAIL;
+			}
+
+			@Override
+			public long getTemplateId() {
+				return templateId;
+			}
+			
+			@Override
+			public int getTimeout() {
+				return timeOut;
+			}
+			
+			@Override
+			public long getClusterNodeType() {
+				return clusterNodeType;
+			}
+
+			@Override
+			public String getProjectId() {
+				return projectId;
+			}
+		};
+	}
+	
+}
\ No newline at end of file
diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java
index 65d0f7fcaf8995fbd0884ea94b736b61286b33e1..c073792724f465a20d6ae58ccc235984a36634cc 100644
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java
+++ b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java
@@ -20,8 +20,8 @@ public class TestHaaSJavaClient {
 		Map<String, String> params = new HashMap<>();
 		params.put("inputParam", "someStringParam");
 		Path baseDir = Paths.get("/home/koz01/aaa");
-		HaaSClient client = new HaaSClient( 1l,600, 7l,"DD-17-31");
-		long jobId = client.start(Arrays.asList(Paths.get("/home/koz01/aaa/vecmath.jar")), "TestOutRedirect", params.entrySet());
+		HaaSClient client = new HaaSClient(TestingConstants.getSettings(1l, 600,7l, "DD-17-31"));
+		long jobId = client.start(Arrays.asList(Paths.get("/home/koz01/.inputrc")), "TestOutRedirect", params.entrySet());
 		Path workDir = baseDir.resolve("" + jobId);
 		if (!Files.isDirectory(workDir)) {
 			Files.createDirectories(workDir);
diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java
index e0a9705f9f4530e3a7edaf0b04f6774cf75de2f5..6392d9b2233b45359ea647862dfba977778ba12f 100644
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java
+++ b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java
@@ -14,7 +14,7 @@ import cz.it4i.fiji.haas_java_client.proxy.JobFileContentExt;
 public class TestHaaSJavaClientWithSPIM {
 
 	public static void main(String[] args) throws ServiceException, IOException {
-		HaaSClient client = new HaaSClient(2l, 9600, 6l, "DD-17-31");
+		HaaSClient client = new HaaSClient(TestingConstants.getSettings(2, 9600, 6l, "DD-17-31"));
 		Path baseDir = Paths.get("/home/koz01/Work/vyzkumnik/fiji/work/aaa");
 
 		long jobId = client.start(getAllFiles(baseDir.resolve("spim-data")), "TestOutRedirect",