From d5416d562ec261fc19bcd3d016584742990cad5b Mon Sep 17 00:00:00 2001
From: gakin <gakin>
Date: Sun, 23 Oct 2016 16:24:03 +0000
Subject: [PATCH] SSDM-4278: test_openbis_sync integration test, start 2
 openbis servers, 1 as data source, 1 as harvester.

SVN: 37181
---
 .../org.eclipse.core.resources.prefs          |  2 +
 integration-tests/test_openbis_sync.py        | 48 ++++++++++++++-----
 2 files changed, 37 insertions(+), 13 deletions(-)
 create mode 100644 integration-tests/.settings/org.eclipse.core.resources.prefs

diff --git a/integration-tests/.settings/org.eclipse.core.resources.prefs b/integration-tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..c129d8a7e8c
--- /dev/null
+++ b/integration-tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/test_openbis_sync.py=utf8
diff --git a/integration-tests/test_openbis_sync.py b/integration-tests/test_openbis_sync.py
index 7adc6e299c6..f785eb73f99 100755
--- a/integration-tests/test_openbis_sync.py
+++ b/integration-tests/test_openbis_sync.py
@@ -16,31 +16,53 @@ from systemtest.testcase import TEST_DATA
 class TestCase(systemtest.testcase.TestCase):
 
     def execute(self):
+        '''create data source openbis (openbis1)'''
         self.installOpenbis(instanceName ='openbis1', technologies = ['screening'])
-        openbis_datasource = self.createOpenbisController('openbis1')
-        openbis_datasource.setDummyAuthentication()
-        openbis_datasource.setDataStoreServerUsername('etlserver')
-        openbis_datasource.createTestDatabase('openbis')
-        openbis_datasource.createTestDatabase('pathinfo')
-        openbis_datasource.createTestDatabase('imaging')
+        openbis1 = self.createOpenbisController('openbis1')
+        openbis1.setDummyAuthentication()
+        openbis1.setDataStoreServerUsername('etlserver1')
+        openbis1.createTestDatabase('openbis')
+        openbis1.createTestDatabase('pathinfo')
+        openbis1.createTestDatabase('imaging')
         
+        '''create harvester openbis (openbis2)'''
+        self.installOpenbis(instanceName ='openbis2', technologies = ['screening', 'proteomics'])
+        openbis2 = self.createOpenbisController('openbis2')
+        openbis2.setDummyAuthentication()
+        openbis2.setDataStoreServerUsername('etlserver2')
+        openbis2.createTestDatabase('openbis')
+        openbis2.createTestDatabase('pathinfo')
+        openbis2.createTestDatabase('imaging')
+        openbis2.createTestDatabase('proteomics')
 
     def executeInDevMode(self):
-        openbis_datasource = self.createOpenbisController(instanceName = 'openbis1', dropDatabases=False)
-        self.installDataSourcePlugin(openbis_datasource)
-        corePluginsPropertiesFile = "%s/servers/core-plugins/core-plugins.properties" % openbis_datasource.installPath
+        openbis1 = self.createOpenbisController(instanceName = 'openbis1', dropDatabases=False)
+        self.installDataSourcePlugin(openbis1)
+        corePluginsPropertiesFile = "%s/servers/core-plugins/core-plugins.properties" % openbis1.installPath
         util.printAndFlush(corePluginsPropertiesFile)
         #util.writeProperties(corePluginsPropertiesFile)
-        openbis_datasource.allDown()
-        openbis_datasource.setDataStoreServerUsername('etlserver')
-        openbis_datasource.allUp()
+        openbis1.setDataStoreServerUsername('etlserver1')
+        openbis1.allUp()
+
+        openbis2 = self.createOpenbisController(instanceName = 'openbis2', port = '8445', dropDatabases=False)
+        openbis2.setDataStoreServerPort('8446')
+        self.installHarvesterPlugin(openbis2)
+        openbis2.setDataStoreServerUsername('etlserver2')
+        openbis2.allUp()
         
     def installDataSourcePlugin(self, openbisController):
         repository = GitLabArtifactRepository(self.artifactRepository.localRepositoryFolder)
         path = repository.getPathToArtifact('149', 'archive.zip')
         util.printAndFlush("path to core plugin in the repository: %s" % path)
         destination = "%s/servers/core-plugins/openbis1/" % openbisController.installPath
-        util.unzipSubfolder(path, 'openbissync.git/core-plugins/openbis-sync/1/', destination)
+        util.unzipSubfolder(path, 'openbissync.git/core-plugins/datasource/1/', destination)
+
+    def installHarvesterPlugin(self, openbisController):
+        repository = GitLabArtifactRepository(self.artifactRepository.localRepositoryFolder)
+        path = repository.getPathToArtifact('149', 'archive.zip')
+        util.printAndFlush("path to core plugin in the repository: %s" % path)
+        destination = "%s/servers/core-plugins/openbis2/" % openbisController.installPath
+        util.unzipSubfolder(path, 'openbissync.git/core-plugins/harvester/1/', destination)
 
 class GitLabArtifactRepository(GitArtifactRepository):
     """
-- 
GitLab