Remove admin test data from database migration (#808)

Change-Id: I06a1d05e8335dcdc16e3ed64d850eb1ebdabd20c
diff --git a/Changes b/Changes
index 0cec767..13db6ce 100644
--- a/Changes
+++ b/Changes
@@ -4,6 +4,7 @@
 - Add a test: changing timeout using a pipe
 - Add pipe response rewriting (#794)
 - Fix datatype for query statistics (close #802)
+- Remove admin test data from database migration (close #808)
 
 # version 0.78.2
 
diff --git a/src/main/java/de/ids_mannheim/korap/dao/AdminDaoImpl.java b/src/main/java/de/ids_mannheim/korap/dao/AdminDaoImpl.java
index 172ac69..0291e8a 100644
--- a/src/main/java/de/ids_mannheim/korap/dao/AdminDaoImpl.java
+++ b/src/main/java/de/ids_mannheim/korap/dao/AdminDaoImpl.java
@@ -1,6 +1,7 @@
 package de.ids_mannheim.korap.dao;
 
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
 
 import de.ids_mannheim.korap.entity.Admin;
 import de.ids_mannheim.korap.entity.Admin_;
@@ -20,7 +21,7 @@
  * @author margaretha
  *
  */
-//@Transactional
+@Transactional
 @Repository
 public class AdminDaoImpl implements AdminDao {
 
@@ -32,9 +33,11 @@
      */
     @Override
     public void addAccount (User user) {
-        Admin admin = new Admin();
-        admin.setUserId(user.getUsername());
-        entityManager.persist(admin);
+		if (!isAdmin(user.getUsername())) {
+			Admin admin = new Admin();
+			admin.setUserId(user.getUsername());
+			entityManager.persist(admin);
+		}
     }
 
     /* (non-Javadoc)
diff --git a/src/main/java/de/ids_mannheim/korap/init/Initializator.java b/src/main/java/de/ids_mannheim/korap/init/Initializator.java
index 4965e76..0304fa1 100644
--- a/src/main/java/de/ids_mannheim/korap/init/Initializator.java
+++ b/src/main/java/de/ids_mannheim/korap/init/Initializator.java
@@ -10,9 +10,12 @@
 import de.ids_mannheim.korap.config.FullConfiguration;
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
 import de.ids_mannheim.korap.constant.OAuth2Scope;
+import de.ids_mannheim.korap.dao.AdminDao;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.oauth2.dao.AccessScopeDao;
 import de.ids_mannheim.korap.oauth2.service.OAuth2InitClientService;
+import de.ids_mannheim.korap.user.KorAPUser;
+import de.ids_mannheim.korap.user.User;
 import de.ids_mannheim.korap.util.QueryException;
 
 /**
@@ -27,6 +30,8 @@
     @Autowired
     private AccessScopeDao accessScopeDao;
     @Autowired
+    private AdminDao adminDao;
+    @Autowired
     private NamedVCLoader vcLoader;
     @Autowired
     private ResourceParser resourceParser;
@@ -61,6 +66,7 @@
 			clientService.createInitialTestSuperClient();
 		}
 		vcLoader.loadVCToCache("system-vc", "/vc/system-vc.jsonld");
+		adminDao.addAccount(new KorAPUser("admin"));
 	}
 
     public void initResourceTest () throws IOException, KustvaktException {
diff --git a/src/main/resources/db/test/V3.4__insert_admins.sql b/src/main/resources/db/test/V3.4__insert_admins.sql
index d8dbd8c..9974c4c 100644
--- a/src/main/resources/db/test/V3.4__insert_admins.sql
+++ b/src/main/resources/db/test/V3.4__insert_admins.sql
@@ -1,2 +1,2 @@
 -- dummy admin
-INSERT INTO admin(user_id) VALUES ("admin");
\ No newline at end of file
+--INSERT INTO admin(user_id) VALUES ("admin");
\ No newline at end of file