old_contents: """Tests for mongodb backend
  
  Authors:
  
  * Min RK
  """
  
  #-------------------------------------------------------------------------------
  #  Copyright (C) 2011  The IPython Development Team
  #
  #  Distributed under the terms of the BSD License.  The full license is in
  #  the file COPYING, distributed as part of this software.
  #-------------------------------------------------------------------------------
  
  #-------------------------------------------------------------------------------
  # Imports
  #-------------------------------------------------------------------------------
  
  import os
  
  from unittest import TestCase
  
  from nose import SkipTest
  
  from pymongo import Connection
  from IPython.parallel.controller.mongodb import MongoDB
  
  from . import test_db
  
  conn_kwargs = {}
  if 'DB_IP' in os.environ:
      conn_kwargs['host'] = os.environ['DB_IP']
  if 'DB_PORT' in os.environ:
      conn_kwargs['port'] = int(os.environ['DB_PORT'])
  
  try:
      c = Connection(**conn_kwargs)
  except Exception:
      c=None
  
  class TestMongoBackend(test_db.TaskDBTest, TestCase):
      """MongoDB backend tests"""
  
      def create_db(self):
          try:
              return MongoDB(database='iptestdb', _connection=c)
          except Exception:
              raise SkipTest("Couldn't connect to mongodb")
  
  def teardown(self):
      if c is not None:
          c.drop_database('iptestdb')
  
new_contents: """Tests for mongodb backend
  
  Authors:
  
  * Min RK
  """
  
  #-------------------------------------------------------------------------------
  #  Copyright (C) 2011  The IPython Development Team
  #
  #  Distributed under the terms of the BSD License.  The full license is in
  #  the file COPYING, distributed as part of this software.
  #-------------------------------------------------------------------------------
  
  #-------------------------------------------------------------------------------
  # Imports
  #-------------------------------------------------------------------------------
  
  import os
  
  from unittest import TestCase
  
  from nose import SkipTest
  
  from pymongo import Connection
  from IPython.parallel.controller.mongodb import MongoDB
  
  from . import test_db
  
  conn_kwargs = {}
  if 'DB_IP' in os.environ:
      conn_kwargs['host'] = os.environ['DB_IP']
  if 'DBA_MONGODB_ADMIN_URI' in os.environ:
      # On ShiningPanda, we need a username and password to connect. They are
      # passed in a mongodb:// URI.
      conn_kwargs['host'] = os.environ['DBA_MONGODB_ADMIN_URI']
  if 'DB_PORT' in os.environ:
      conn_kwargs['port'] = int(os.environ['DB_PORT'])
  
  try:
      c = Connection(**conn_kwargs)
  except Exception:
      c=None
  
  class TestMongoBackend(test_db.TaskDBTest, TestCase):
      """MongoDB backend tests"""
  
      def create_db(self):
          try:
              return MongoDB(database='iptestdb', _connection=c)
          except Exception:
              raise SkipTest("Couldn't connect to mongodb")
  
  def teardown(self):
      if c is not None:
          c.drop_database('iptestdb')
  
subject: Use username and password for MongoDB on ShiningPanda.