* Factor out the binding of channel to entity into a method that can be shared and does not use assert.
* do not use assertion in production because it can be stripped in optimize and is best left for unit tests.
* dont reassign entity here because it breaks a bunch of tests.
* fix pydoc complaints
* Add TDD style test that fails in master and passes in my branch
* finish refactor of existing maybe_declare tests to use shared fixtures
* py2/py3 print difference means skip printing.
* fix pep8 line length
* Fix a deprecation warning about logger.warn()
This fixes a deprecation warning from the standard library's logging module:
> The 'warn' method is deprecated, use 'warning' instead
* Update test
* If give queue kwargs broadcast will fail
Because give Broadcast(name='xxx', queue='xxx'),
it will create one specific name for queue,
and if launch more worker for consuming this queue,
this specific name queue already exist then it will not create new queue to
binding fanout exchange.
So all worker will consuming same queue, and exchange only binding this
queue then lose the effect of broadcasting.
* modify test_Broadcast