1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
|
#! /usr/bin/python
import CORBA
import CompleteTest, CompleteTest__POA
import RefTestIDL, RefTestIDL__POA
import RefTest2IDL, RefTest2IDL__POA
import Constants
class Dummy(CompleteTest__POA.Dummy):
string = Constants.string
def get_string(self):
return self.string
class Foo(RefTestIDL__POA.Foo):
string = Constants.string
class Foo2(RefTest2IDL__POA.Foo):
string = Constants.string
def get_money(self):
return self.string
class TestHarness(CompleteTest__POA.TestHarness):
def __init__ (self, orb, poa):
self.attr = 0
self.orb = orb
self.poa = poa
self.objlist = []
def get_string(self):
return Constants.string
def get_long(self):
return Constants.long
def get_null(self):
return None
def get_float(self):
return 627.23
def get_double(self):
return 1234567890.12
def get_octet_int(self):
return 0x68
def get_octet_char(self):
return "a"
def get_dummy(self):
obj = Dummy()
self.objlist.append(obj)
return obj._this()
def get_object(self):
obj = Dummy()
self.objlist.append(obj)
return obj._this()
def get_any(self):
typecode = CORBA.TypeCode("IDL:CORBA/String:1.0")
return CORBA.Any(typecode, "Test String")
def cleanup_obj(self):
for o in self.objlist:
self.poa.deactivate_object(o)
del self.objlist
self.objlist = []
def get_noobject(self):
return None
def get_string_seq(self):
return ["hello","goodbye","farewell"]
def get_long_seq(self):
return [1,3,5,7]
def get_float_seq(self):
return [1.11,3.11,5.33,7.55,9.77]
def get_octet_string_seq(self):
return "abcdef"
def get_octet_int_seq(self):
return map(ord,"abcdef")
def get_octet_char_seq(self):
r = ( "a","b","c","d","e","f" )
return r
def get_dummy_seq(self):
l = []
for f in range(0,10):
o = Dummy()
self.objlist.append(o)
l.append(o._this())
return l
def get_object_seq(self):
l = []
for f in range(0,10):
o = Dummy()
self.objlist.append(o)
l.append(o._this())
return l
def get_noobject_seq(self):
l = []
for f in range(0,10):
l.append(None)
return l
# Start SendTest handlers
def send_string(self, str):
if str == Constants.string:
return 1
else:
return 0
def send_long(self,p):
if p == Constants.long:
return 1
else:
return 0
def send_float(self,p):
if round(p,3) == round(Constants.float,3):
return 1
else:
return 0
def send_double(self,p):
if p == Constants.double:
return 1
else:
return 0
def send_octet_int(self,p):
if p == Constants.octet:
return 1
else:
return 0
def send_octet_char(self,p):
# remember, octet_chars become ints
if chr(p) == Constants.char:
return 1
else:
return 0
def send_octet_string(self,p):
if p == Constants.string:
return 1
else:
return 0
def send_octet_string_seq(self,p):
if p == "abcdef":
return 1
else:
return 0
def send_object(self,p):
if p.get_string() == Constants.string:
return 1
else:
return 0
def send_noobject(self,p):
if p == None:
return 1
else:
return 0
def send_dummy(self):
if p.get_string() == Constants.string:
return 1
else:
return 0
def send_string_seq(self, s):
if s == Constants.string_seq:
return 1
else:
return 0
def send_long_seq(self,p):
if p == Constants.long_seq:
return 1
else:
return 0
def send_float_seq(self,p):
t = map(round, p)
l = map(round, Constants.float_seq)
if t == l:
return 1
else:
return 0
def send_octet_int_seq(self,p):
print map(ord,p)
if map(ord,p) == Constants.octet_seq:
return 1
else:
return 0
def send_octet_char_seq(self,p):
if p == "acbed":
return 1
else:
return 0
def send_octet_mixed_seq(self,p):
if p == "ahbxd":
return 1
else:
return 0
def send_object_seq(self,ps):
for p in ps:
if p.get_string() != "dummy":
return 0
return 1
def send_noobject_seq(self,ps):
for p in ps:
if p != None:
return 0
return 1
def send_dummy_seq(self,ps):
for p in ps:
if p.get_string() != "dummy":
return 0
return 1
def shutdown_orb(self):
self.orb.shutdown(0)
def get_reftest(self):
f = Foo()
self.objlist.append(f)
return f._this()
def get_reftest2(self):
f = Foo2()
self.objlist.append(f)
return f._this()
# OLD STUFF: FIXME INTEGRATE
def _get_attr (self):
return self.attr
def _set_attr (self, a):
self.attr = a
if __name__ == "__main__":
orb = CORBA.ORB_init([], CORBA.ORB_ID)
poa = orb.resolve_initial_references("RootPOA")
poa._get_the_POAManager().activate()
th = TestHarness(orb,poa)
print "Instance: ", th
th.shutdown_orb()
|