Package omero :: Package gateway :: Package scripts :: Module testdb_create
[hide private]
[frames] | no frames]

Source Code for Module omero.gateway.scripts.testdb_create

  1  #!/usr/bin/env python 
  2   
  3  """ 
  4     Library for gateway tests 
  5   
  6     Copyright 2009 Glencoe Software, Inc. All rights reserved. 
  7     Use is subject to license terms supplied in LICENSE.txt 
  8   
  9  """ 
 10   
 11  import unittest, os 
 12  import omero 
 13   
 14  from omero.gateway.scripts import dbhelpers 
 15   
 16  dbhelpers.USERS = { 
 17      'user': dbhelpers.UserEntry('weblitz_test_user','foobar', 'User', 'Weblitz'), 
 18      'author': dbhelpers.UserEntry('weblitz_test_author','foobar', 'Author', 'Weblitz'), 
 19      } 
 20   
 21  dbhelpers.PROJECTS = { 
 22      'testpr1' : dbhelpers.ProjectEntry('weblitz_test_priv_project', 'author'), 
 23      'testpr2' : dbhelpers.ProjectEntry('weblitz_test_priv_project2', 'author'), 
 24  } 
 25   
 26  dbhelpers.DATASETS = { 
 27      'testds1' : dbhelpers.DatasetEntry('weblitz_test_priv_dataset', 'testpr1'), 
 28      'testds2' : dbhelpers.DatasetEntry('weblitz_test_priv_dataset2', 'testpr1'), 
 29      'testds3' : dbhelpers.DatasetEntry('weblitz_test_priv_dataset3', 'testpr2'), 
 30  } 
 31   
 32  dbhelpers.IMAGES = { 
 33      'testimg1' : dbhelpers.ImageEntry('weblitz_test_priv_image', 'imgs/CHOBI_d3d.dv', 'testds1'), 
 34      'testimg2' : dbhelpers.ImageEntry('weblitz_test_priv_image2', 'imgs/CHOBI_d3d.dv', 'testds1'), 
 35      'tinyimg' : dbhelpers.ImageEntry('weblitz_test_priv_image_tiny', 'imgs/tinyTest.d3d.dv', 'testds1'), 
 36      'badimg' : dbhelpers.ImageEntry('weblitz_test_priv_image_bad', False, 'testds1'), 
 37      'tinyimg2' : dbhelpers.ImageEntry('weblitz_test_priv_image_tiny2', 'imgs/tinyTest.d3d.dv', 'testds2'), 
 38      'tinyimg3' : dbhelpers.ImageEntry('weblitz_test_priv_image_tiny3', 'imgs/tinyTest.d3d.dv', 'testds3'), 
 39  } 
 40   
 41   
42 -class GTest(unittest.TestCase):
43
44 - def setUp(self, skipTestDB=False):
45 self.tmpfiles = [] 46 self._has_connected = False 47 self.doDisconnect() 48 self.USER = dbhelpers.USERS['user'] 49 self.AUTHOR = dbhelpers.USERS['author'] 50 if self.gateway.getProperty('omero.rootpass'): 51 dbhelpers.ROOT.passwd = self.gateway.getProperty('omero.rootpass') 52 self.ADMIN = dbhelpers.ROOT 53 if not skipTestDB: 54 self.prepTestDB() 55 self.doDisconnect()
56
57 - def doConnect (self):
58 if not self._has_connected: 59 self.gateway.connect() 60 self._has_connected = True 61 self.assert_(self.gateway.isConnected(), 'Can not connect') 62 self.failUnless(self.gateway.keepAlive(), 'Could not send keepAlive to connection')
63
64 - def doDisconnect(self):
65 if self._has_connected: 66 self.doConnect() 67 self.gateway.seppuku() 68 self.assert_(not self.gateway.isConnected(), 'Can not disconnect') 69 self.gateway = omero.client_wrapper(group='system', try_super=True) 70 self.assert_(self.gateway, 'Can not get gateway from connection') 71 self._has_connected = False
72
73 - def doLogin (self, user):
74 self.doDisconnect() 75 self.gateway = dbhelpers.login(user)
76
77 - def loginAsAdmin (self):
78 self.doLogin(self.ADMIN)
79
80 - def loginAsAuthor (self):
81 self.doLogin(self.AUTHOR)
82
83 - def loginAsUser (self):
84 self.doLogin(self.USER)
85
86 - def tearDown(self):
87 if self._has_connected: 88 self.gateway.seppuku() 89 failure = False 90 for tmpfile in self.tmpfiles: 91 try: 92 tmpfile.close() 93 except: 94 print "Error closing:"+tmpfile 95 if failure: 96 raise exceptions.Exception("Exception on client.closeSession")
97
98 - def getTestProject (self):
99 return dbhelpers.getProject(self.gateway, 'testpr1')
100
101 - def getTestProject2 (self):
102 return dbhelpers.getProject(self.gateway, 'testpr2')
103
104 - def getTestDataset (self, project=None):
105 return dbhelpers.getDataset(self.gateway, 'testds1', project)
106
107 - def getTestDataset2 (self, project=None):
108 return dbhelpers.getDataset(self.gateway, 'testds2', project)
109
110 - def getTestImage (self, dataset=None):
111 return dbhelpers.getImage(self.gateway, 'testimg1', dataset)
112
113 - def getTestImage2 (self, dataset=None):
114 return dbhelpers.getImage(self.gateway, 'testimg2', dataset)
115
116 - def getBadTestImage (self, dataset=None):
117 return dbhelpers.getImage(self.gateway, 'badimg', dataset)
118
119 - def getTinyTestImage (self, dataset=None):
120 return dbhelpers.getImage(self.gateway, 'tinyimg', dataset)
121
122 - def getTinyTestImage2 (self, dataset=None):
123 return dbhelpers.getImage(self.gateway, 'tinyimg2', dataset)
124
125 - def prepTestDB (self):
127