本文整理汇总了Python中pyon.ion.exchange.ExchangeManager.create_xs方法的典型用法代码示例。如果您正苦于以下问题:Python ExchangeManager.create_xs方法的具体用法?Python ExchangeManager.create_xs怎么用?Python ExchangeManager.create_xs使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyon.ion.exchange.ExchangeManager
的用法示例。
在下文中一共展示了ExchangeManager.create_xs方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestExchangeObjects
# 需要导入模块: from pyon.ion.exchange import ExchangeManager [as 别名]
# 或者: from pyon.ion.exchange.ExchangeManager import create_xs [as 别名]
class TestExchangeObjects(PyonTestCase):
def setUp(self):
self.ex_manager = ExchangeManager(Mock())
self.pt = Mock(spec=BaseTransport)
self.ex_manager.get_transport = Mock(return_value=self.pt)
# set up some nodes
self.ex_manager._nodes = {'primary': Mock(), 'priviledged': Mock()}
# patch for setUp and test
self.patch_cfg('pyon.ion.exchange.CFG', {'container':{'exchange':{'auto_register':False}}, 'messaging':{'server':{}}})
# start ex manager
self.ex_manager.start()
def test_exchange_by_name(self):
# defaults: Root XS, no XNs
self.assertIn(ION_ROOT_XS, self.ex_manager.xs_by_name)
self.assertIn(self.ex_manager.default_xs, self.ex_manager.xs_by_name.itervalues())
self.assertEquals(len(self.ex_manager.xn_by_name), 0)
# create another XS
xs = self.ex_manager.create_xs('exchange')
self.assertIn('exchange', self.ex_manager.xs_by_name)
self.assertIn(xs, self.ex_manager.xs_by_name.values())
self.assertEquals(len(self.ex_manager.xn_by_name), 0)
# now create some XNs underneath default exchange
xn1 = self.ex_manager.create_xn_process('xn1')
self.assertEquals(xn1._xs, self.ex_manager.default_xs)
self.assertIn('xn1', self.ex_manager.xn_by_name)
self.assertIn(xn1, self.ex_manager.xn_by_name.values())
self.assertEquals(xn1, self.ex_manager.xn_by_name['xn1'])
self.assertIsInstance(xn1, ExchangeNameProcess)
self.assertEquals({ION_ROOT_XS:[xn1]}, self.ex_manager.xn_by_xs)
xn2 = self.ex_manager.create_xn_service('xn2')
self.assertIn('xn2', self.ex_manager.xn_by_name)
self.assertIn(xn2, self.ex_manager.xn_by_xs[ION_ROOT_XS])
self.assertEquals(xn2.xn_type, 'XN_SERVICE')
# create one under our second xn3
xn3 = self.ex_manager.create_xn_queue('xn3', xs)
self.assertIn('xn3', self.ex_manager.xn_by_name)
self.assertIn(xn3, self.ex_manager.xn_by_xs['exchange'])
self.assertNotIn(xn3, self.ex_manager.xn_by_xs[ION_ROOT_XS])
def test_create_xs(self):
xs = self.ex_manager.create_xs(sentinel.xs)
exstr = '%s.ion.xs.%s' % (get_sys_name(), str(sentinel.xs)) # what we expect the exchange property to return
self.assertEquals(xs._exchange, sentinel.xs)
self.assertEquals(xs.exchange, exstr)
self.assertEquals(xs.queue, None)
self.assertEquals(xs.binding, None)
self.assertEquals(xs._xs_exchange_type, 'topic')
self.assertEquals(xs._xs_durable, False)
self.assertEquals(xs._xs_auto_delete, True)
# should be in our map too
self.assertIn(sentinel.xs, self.ex_manager.xs_by_name)
self.assertEquals(self.ex_manager.xs_by_name[sentinel.xs], xs)
# should've tried to declare
self.pt.declare_exchange_impl.assert_called_with(exstr, auto_delete=True, durable=False, exchange_type='topic')
def test_create_xs_with_params(self):
xs = self.ex_manager.create_xs(sentinel.xs, exchange_type=sentinel.ex_type, durable=True)
exstr = '%s.ion.xs.%s' % (get_sys_name(), str(sentinel.xs)) # what we expect the exchange property to return
self.assertEquals(xs._xs_durable, True)
self.assertEquals(xs._xs_exchange_type, sentinel.ex_type)
# declaration?
self.pt.declare_exchange_impl.assert_called_with(exstr, auto_delete=True, durable=True, exchange_type=sentinel.ex_type)
def test_delete_xs(self):
# need an XS first
xs = self.ex_manager.create_xs(sentinel.delete_me)
exstr = '%s.ion.xs.%s' % (get_sys_name(), str(sentinel.delete_me)) # what we expect the exchange property to return
self.assertIn(sentinel.delete_me, self.ex_manager.xs_by_name)
self.ex_manager.delete_xs(xs)
self.assertNotIn(sentinel.delete_me, self.ex_manager.xs_by_name)
# call to broker
self.pt.delete_exchange_impl.assert_called_once_with(exstr)
def test_create_xp(self):
xp = self.ex_manager.create_xp(sentinel.xp)
exstr = "%s.ion.xs.%s.xp.%s" % (get_sys_name(), self.ex_manager.default_xs._exchange, str(sentinel.xp))
self.assertEquals(xp._exchange, sentinel.xp)
self.assertEquals(xp._xs, self.ex_manager.default_xs)
self.assertEquals(xp._xptype, 'ttree')
self.assertEquals(xp._queue, None)
#.........这里部分代码省略.........
示例2: TestExchangeObjects
# 需要导入模块: from pyon.ion.exchange import ExchangeManager [as 别名]
# 或者: from pyon.ion.exchange.ExchangeManager import create_xs [as 别名]
class TestExchangeObjects(IonUnitTestCase):
def setUp(self):
self.ex_manager = ExchangeManager(Mock())
self.ex_manager._transport = Mock(BaseTransport)
self.ex_manager._client = Mock()
# all exchange level operations are patched out via the _transport
def test_exchange_by_name(self):
# defaults: Root XS, no XNs
self.assertIn(ION_ROOT_XS, self.ex_manager.xs_by_name)
self.assertIn(self.ex_manager.default_xs, self.ex_manager.xs_by_name.itervalues())
self.assertEquals(len(self.ex_manager.xn_by_name), 0)
# create another XS
xs = self.ex_manager.create_xs('exchange')
self.assertIn('exchange', self.ex_manager.xs_by_name)
self.assertIn(xs, self.ex_manager.xs_by_name.values())
self.assertEquals(len(self.ex_manager.xn_by_name), 0)
# now create some XNs underneath default exchange
xn1 = self.ex_manager.create_xn_process('xn1')
self.assertEquals(xn1._xs, self.ex_manager.default_xs)
self.assertIn('xn1', self.ex_manager.xn_by_name)
self.assertIn(xn1, self.ex_manager.xn_by_name.values())
self.assertEquals(xn1, self.ex_manager.xn_by_name['xn1'])
self.assertIsInstance(xn1, ExchangeNameProcess)
self.assertEquals({ION_ROOT_XS:[xn1]}, self.ex_manager.xn_by_xs)
xn2 = self.ex_manager.create_xn_service('xn2')
self.assertIn('xn2', self.ex_manager.xn_by_name)
self.assertIn(xn2, self.ex_manager.xn_by_xs[ION_ROOT_XS])
self.assertEquals(xn2.xn_type, 'XN_SERVICE')
# create one under our second xn3
xn3 = self.ex_manager.create_xn_queue('xn3', xs)
self.assertIn('xn3', self.ex_manager.xn_by_name)
self.assertIn(xn3, self.ex_manager.xn_by_xs['exchange'])
self.assertNotIn(xn3, self.ex_manager.xn_by_xs[ION_ROOT_XS])
def test_create_xs(self):
xs = self.ex_manager.create_xs(sentinel.xs)
exstr = '%s.ion.xs.%s' % (get_sys_name(), str(sentinel.xs)) # what we expect the exchange property to return
self.assertEquals(xs._exchange, sentinel.xs)
self.assertEquals(xs.exchange, exstr)
self.assertEquals(xs.queue, None)
self.assertEquals(xs.binding, None)
self.assertEquals(xs._xs_exchange_type, 'topic')
self.assertEquals(xs._xs_durable, False)
self.assertEquals(xs._xs_auto_delete, True)
# should be in our map too
self.assertIn(sentinel.xs, self.ex_manager.xs_by_name)
self.assertEquals(self.ex_manager.xs_by_name[sentinel.xs], xs)
# should've tried to declare
self.ex_manager._transport.declare_exchange_impl.assert_called_once_with(self.ex_manager._client, exstr, auto_delete=True, durable=False, exchange_type='topic')
def test_create_xs_with_params(self):
xs = self.ex_manager.create_xs(sentinel.xs, exchange_type=sentinel.ex_type, durable=True)
exstr = '%s.ion.xs.%s' % (get_sys_name(), str(sentinel.xs)) # what we expect the exchange property to return
self.assertEquals(xs._xs_durable, True)
self.assertEquals(xs._xs_exchange_type, sentinel.ex_type)
# declaration?
self.ex_manager._transport.declare_exchange_impl.assert_called_once_with(self.ex_manager._client, exstr, auto_delete=True, durable=True, exchange_type=sentinel.ex_type)
def test_delete_xs(self):
# need an XS first
xs = self.ex_manager.create_xs(sentinel.delete_me)
exstr = '%s.ion.xs.%s' % (get_sys_name(), str(sentinel.delete_me)) # what we expect the exchange property to return
self.assertIn(sentinel.delete_me, self.ex_manager.xs_by_name)
self.ex_manager.delete_xs(xs)
self.assertNotIn(sentinel.delete_me, self.ex_manager.xs_by_name)
# call to broker
self.ex_manager._transport.delete_exchange_impl.assert_called_once_with(self.ex_manager._client, exstr)
def test_delete_xs_without_creating_it_first(self):
xsmock = Mock(ExchangeSpace)
xsmock._exchange = sentinel.fake
self.assertRaises(KeyError, self.ex_manager.delete_xs, xsmock)
def test_create_xp(self):
xp = self.ex_manager.create_xp(sentinel.xp)
exstr = "%s.ion.xs.%s.xp.%s" % (get_sys_name(), self.ex_manager.default_xs._exchange, str(sentinel.xp))
self.assertEquals(xp._exchange, sentinel.xp)
self.assertEquals(xp._xs, self.ex_manager.default_xs)
self.assertEquals(xp._xptype, 'ttree')
self.assertEquals(xp._queue, None)
self.assertEquals(xp._binding, None)
#.........这里部分代码省略.........