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      'editor': dbhelpers.UserEntry('weblitz_test_editor','foobar', 'Editor', 'Weblitz', admin=True), 
 20      } 
 21   
 22  dbhelpers.PROJECTS = { 
 23      'testpr1' : dbhelpers.ProjectEntry('weblitz_test_priv_project', 'author', True), 
 24      'testpr2' : dbhelpers.ProjectEntry('weblitz_test_priv_project2', 'author', True), 
 25  } 
 26   
 27  dbhelpers.DATASETS = { 
 28      'testds1' : dbhelpers.DatasetEntry('weblitz_test_priv_dataset', 'testpr1'), 
 29      'testds2' : dbhelpers.DatasetEntry('weblitz_test_priv_dataset2', 'testpr1'), 
 30      'testds3' : dbhelpers.DatasetEntry('weblitz_test_priv_dataset3', 'testpr2'), 
 31  } 
 32   
 33  dbhelpers.IMAGES = { 
 34      'testimg1' : dbhelpers.ImageEntry('weblitz_test_priv_image', 'imgs/CHOBI_d3d.dv', 'testds1'), 
 35      'testimg2' : dbhelpers.ImageEntry('weblitz_test_priv_image2', 'imgs/CHOBI_d3d.dv', 'testds1'), 
 36      'tinyimg' : dbhelpers.ImageEntry('weblitz_test_priv_image_tiny', 'imgs/tinyTest.d3d.dv', 'testds1'), 
 37      'badimg' : dbhelpers.ImageEntry('weblitz_test_priv_image_bad', False, 'testds1'), 
 38      'tinyimg2' : dbhelpers.ImageEntry('weblitz_test_priv_image_tiny2', 'imgs/tinyTest.d3d.dv', 'testds2'), 
 39      'tinyimg3' : dbhelpers.ImageEntry('weblitz_test_priv_image_tiny3', 'imgs/tinyTest.d3d.dv', 'testds3'), 
 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 dbhelpers.ROOT.passwd = self.gateway.getProperty('omero.rootpass') 51 self.ADMIN = dbhelpers.ROOT 52 if not skipTestDB: 53 self.prepTestDB() 54 self.doDisconnect()
55
56 - def doConnect (self):
57 if not self._has_connected: 58 self.gateway.connect() 59 self._has_connected = True 60 self.assert_(self.gateway.isConnected(), 'Can not connect') 61 self.failUnless(self.gateway.keepAlive(), 'Could not send keepAlive to connection')
62
63 - def doDisconnect(self):
64 if self._has_connected: 65 self.doConnect() 66 self.gateway.seppuku() 67 self.assert_(not self.gateway.isConnected(), 'Can not disconnect') 68 self.gateway = omero.client_wrapper(group='system', try_super=True) 69 self.assert_(self.gateway, 'Can not get gateway from connection') 70 self._has_connected = False
71
72 - def doLogin (self, user):
73 self.gateway = dbhelpers.login(user)
74
75 - def loginAsAdmin (self):
76 self.gateway = dbhelpers.login(self.ADMIN)
77
78 - def loginAsAuthor (self):
79 self.gateway = dbhelpers.login(self.AUTHOR)
80
81 - def loginAsEditor (self):
82 self.gateway = dbhelpers.login(self.EDITOR)
83
84 - def loginAsUser (self):
85 self.gateway = dbhelpers.login(self.USER)
86
87 - def tearDown(self):
88 if self._has_connected: 89 self.gateway.seppuku() 90 failure = False 91 for tmpfile in self.tmpfiles: 92 try: 93 tmpfile.close() 94 except: 95 print "Error closing:"+tmpfile 96 if failure: 97 raise exceptions.Exception("Exception on client.closeSession")
98
99 - def getTestProject (self):
100 return dbhelpers.getProject(self.gateway, 'testpr1')
101
102 - def getTestProject2 (self):
103 return dbhelpers.getProject(self.gateway, 'testpr2')
104
105 - def getTestDataset (self, project=None):
106 return dbhelpers.getDataset(self.gateway, 'testds1', project)
107
108 - def getTestDataset2 (self, project=None):
109 return dbhelpers.getDataset(self.gateway, 'testds2', project)
110
111 - def getTestImage (self, dataset=None):
112 return dbhelpers.getImage(self.gateway, 'testimg1', dataset)
113
114 - def getTestImage2 (self, dataset=None):
115 return dbhelpers.getImage(self.gateway, 'testimg2', dataset)
116
117 - def getBadTestImage (self, dataset=None):
118 return dbhelpers.getImage(self.gateway, 'badimg', dataset)
119
120 - def getTinyTestImage (self, dataset=None):
121 return dbhelpers.getImage(self.gateway, 'tinyimg', dataset)
122
123 - def prepTestDB (self):
125