old_contents: # ***** BEGIN LICENSE BLOCK *****
  # Version: MPL 1.1/GPL 2.0
  #
  # The contents of this file are subject to the Mozilla Public License
  # Version 1.1 (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.mozilla.org/MPL/
  #
  # Software distributed under the License is distributed on an "AS IS"
  # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
  # the License for the specific language governing rights and
  # limitations under the License.
  #
  # The Original Code is Pika.
  #
  # The Initial Developers of the Original Code are LShift Ltd, Cohesive
  # Financial Technologies LLC, and Rabbit Technologies Ltd.  Portions
  # created before 22-Nov-2008 00:00:00 GMT by LShift Ltd, Cohesive
  # Financial Technologies LLC, or Rabbit Technologies Ltd are Copyright
  # (C) 2007-2008 LShift Ltd, Cohesive Financial Technologies LLC, and
  # Rabbit Technologies Ltd.
  #
  # Portions created by LShift Ltd are Copyright (C) 2007-2009 LShift
  # Ltd. Portions created by Cohesive Financial Technologies LLC are
  # Copyright (C) 2007-2009 Cohesive Financial Technologies
  # LLC. Portions created by Rabbit Technologies Ltd are Copyright (C)
  # 2007-2009 Rabbit Technologies Ltd.
  #
  # Portions created by Tony Garnock-Jones are Copyright (C) 2009-2010
  # LShift Ltd and Tony Garnock-Jones.
  #
  # All Rights Reserved.
  #
  # Contributor(s): ______________________________________.
  #
  # Alternatively, the contents of this file may be used under the terms
  # of the GNU General Public License Version 2 or later (the "GPL"), in
  # which case the provisions of the GPL are applicable instead of those
  # above. If you wish to allow use of your version of this file only
  # under the terms of the GPL, and not to allow others to use your
  # version of this file under the terms of the MPL, indicate your
  # decision by deleting the provisions above and replace them with the
  # notice and other provisions required by the GPL. If you do not
  # delete the provisions above, a recipient may use your version of
  # this file under the terms of any one of the MPL or the GPL.
  #
  # ***** END LICENSE BLOCK *****
  
  """
  Send a message and confirm you can retrieve it with Basic.Get
  """
  import sys
  sys.path.append("../..")
  
  import support.async as async
  import nose
  import pika.spec as spec
  from pika.adapters import SelectConnection
  
  channel = None
  confirmed = False
  connection = None
  queue = None
  
  HOST = 'localhost'
  PORT = 5672
  
  
  class TestAsyncSendReturn(async.AsyncPattern):
  
      @nose.tools.timed(2)
      def test_send_and_return(self):
          self.confirmed = False
          self.connection = self._connect(SelectConnection, HOST, PORT)
          self.connection.ioloop.start()
          if not self.confirmed:
              assert False, 'Messages did not match.'
          pass
  
      def _on_channel(self, channel):
          self.channel = channel
  
          def _on_basic_return(method, header, body):
              self.confirmed = (body == test_message)
              self.connection.add_on_close_callback(self._on_closed)
              self.connection.close()
  
          self.channel.add_on_return_callback(_on_basic_return)
          test_message = self._send_message(mandatory=True)
  
  
  if __name__ == "__main__":
      nose.runmodule()
  
new_contents: # ***** BEGIN LICENSE BLOCK *****
  # Version: MPL 1.1/GPL 2.0
  #
  # The contents of this file are subject to the Mozilla Public License
  # Version 1.1 (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.mozilla.org/MPL/
  #
  # Software distributed under the License is distributed on an "AS IS"
  # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
  # the License for the specific language governing rights and
  # limitations under the License.
  #
  # The Original Code is Pika.
  #
  # The Initial Developers of the Original Code are LShift Ltd, Cohesive
  # Financial Technologies LLC, and Rabbit Technologies Ltd.  Portions
  # created before 22-Nov-2008 00:00:00 GMT by LShift Ltd, Cohesive
  # Financial Technologies LLC, or Rabbit Technologies Ltd are Copyright
  # (C) 2007-2008 LShift Ltd, Cohesive Financial Technologies LLC, and
  # Rabbit Technologies Ltd.
  #
  # Portions created by LShift Ltd are Copyright (C) 2007-2009 LShift
  # Ltd. Portions created by Cohesive Financial Technologies LLC are
  # Copyright (C) 2007-2009 Cohesive Financial Technologies
  # LLC. Portions created by Rabbit Technologies Ltd are Copyright (C)
  # 2007-2009 Rabbit Technologies Ltd.
  #
  # Portions created by Tony Garnock-Jones are Copyright (C) 2009-2010
  # LShift Ltd and Tony Garnock-Jones.
  #
  # All Rights Reserved.
  #
  # Contributor(s): ______________________________________.
  #
  # Alternatively, the contents of this file may be used under the terms
  # of the GNU General Public License Version 2 or later (the "GPL"), in
  # which case the provisions of the GPL are applicable instead of those
  # above. If you wish to allow use of your version of this file only
  # under the terms of the GPL, and not to allow others to use your
  # version of this file under the terms of the MPL, indicate your
  # decision by deleting the provisions above and replace them with the
  # notice and other provisions required by the GPL. If you do not
  # delete the provisions above, a recipient may use your version of
  # this file under the terms of any one of the MPL or the GPL.
  #
  # ***** END LICENSE BLOCK *****
  
  """
  Send a message to a non-existent queue with the mandatory flag and confirm
  that it is returned via Basic.Return
  """
  import sys
  sys.path.append("../..")
  
  import support.async as async
  import nose
  from pika.adapters import SelectConnection
  
  channel = None
  confirmed = False
  connection = None
  queue = None
  
  HOST = 'localhost'
  PORT = 5672
  
  
  class TestAsyncSendReturn(async.AsyncPattern):
  
      @nose.tools.timed(2)
      def test_send_and_return(self):
          self.confirmed = False
          self.connection = self._connect(SelectConnection, HOST, PORT)
          self.connection.ioloop.start()
          if not self.confirmed:
              assert False, 'Messages did not match.'
          pass
  
      def _on_channel(self, channel):
          self.channel = channel
  
          def _on_basic_return(method, header, body):
              self.confirmed = (body == test_message)
              self.connection.add_on_close_callback(self._on_closed)
              self.connection.close()
  
          self.channel.add_on_return_callback(_on_basic_return)
          test_message = self._send_message(mandatory=True)
  
  
  if __name__ == "__main__":
      nose.runmodule()
  
subject: Update the comment explaining the test