blob: 0069fc380e80359226e8c3ff4c4bfad0c0364c1a [file]
# Licensed to the Apache Software Foundation (ASF) under one *
# or more contributor license agreements. See the NOTICE file *
# distributed with this work for additional information *
# regarding copyright ownership. The ASF licenses this file *
# to you under the Apache License, Version 2.0 (the *
# "License"); you may not use this file except in compliance *
# with the License. You may obtain a copy of the License at *
# *
# http://www.apache.org/licenses/LICENSE-2.0 *
# *
# Unless required by applicable law or agreed to in writing, *
# software distributed under the License is distributed on an *
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
# KIND, either express or implied. See the License for the *
# specific language governing permissions and limitations *
# under the License.
import unittest
from etch.python.Types import *
from etch.binding.support.StubBase import *
class What:
UNWANTED = 'UNWANTED'
class MyMessageSource(MessageSource):
def messagex(self, recipient, msg):
raise Exception, "not needed"
class MyUnwanted(Unwanted):
def _unwanted(self, sender, msg):
assert(self.what == None)
self.what = What.UNWANTED
self.xsender = sender
self.xmsg = msg
class Test_EtchSupportStubBase(unittest.TestCase):
def test_nothing(self):
pass
def test_unwanted2(self):
obj = MyUnwanted()
src = MyMessageSource()
sb = StubBase(src, obj, None, None)
sender = Who()
msg = Message()
sb.message(sender, msg)
self.assertEqual(obj.what, What.UNWANTED)
self.assertEqual(sender, obj.xsender)
self.assertEqual(msg, obj.xmsg)
def test_unwanted4(self):
obj = object()
src = MyMessageSource()
sb = StubBase(src, obj, None, None)
sender = Who()
msg = Message(None, None)
self.assertRaises(UnsupportedOperationException, sb.message, sender, msg)
if __name__ == '__main__':
unittest.main()