Ejemplo n.º 1
0
 def list_dbnames(self):
     dbNames = []
     databases, marker = self.admin.list_databases()
     for database in databases:
         mydb = models.DatastoreSchema()
         mydb.deserialize(database)
         dbNames.append(mydb.name)
     return dbNames
Ejemplo n.º 2
0
 def test_verify_dict(self):
     database = models.DatastoreSchema(self.dbname)
     # using context patch because the property setter needs to work
     # properly during init for this test
     with mock.patch.object(
             models.DatastoreSchema, 'name',
             new_callable=mock.PropertyMock) as mock_name_property:
         database.verify_dict()
         mock_name_property.assert_called_with(self.dbname)
Ejemplo n.º 3
0
    def list_databases(self, limit=None, marker=None, include_marker=False):
        LOG.debug("Listing all the DB2 databases.")
        databases = []
        next_marker = None

        try:
            out, err = run_command(system.LIST_DB_COMMAND)
            dblist = out.split()
            result = iter(dblist)
            count = 0

            if marker is not None:
                try:
                    item = next(result)
                    while item != marker:
                        item = next(result)

                    if item == marker:
                        marker = None
                except StopIteration:
                    pass

            try:
                item = next(result)
                while item:
                    count = count + 1
                    if (limit and count <= limit) or limit is None:
                        db2_db = models.DatastoreSchema(name=item)
                        LOG.debug("database = %s ." % item)
                        next_marker = db2_db.name
                        databases.append(db2_db.serialize())
                        item = next(result)
                    else:
                        next_marker = None
                        break
            except StopIteration:
                next_marker = None
            LOG.debug("databases = %s." % str(databases))
        except exception.ProcessExecutionError as pe:
            err_msg = encodeutils.exception_to_unicode(pe)
            LOG.exception(_("An error occurred listing databases: %s.") %
                          err_msg)
            pass
        return databases, next_marker
Ejemplo n.º 4
0
 def test_checks_pass(self):
     database = models.DatastoreSchema(self.dbname)
     database.check_reserved()
     database.check_create()
     database.check_delete()
Ejemplo n.º 5
0
 def test_serialize(self):
     database = models.DatastoreSchema(self.dbname)
     self.assertEqual(self.serial_db, database.serialize())
Ejemplo n.º 6
0
 def test_init_name(self):
     database = models.DatastoreSchema(self.dbname)
     self.assertEqual(self.dbname, database.name)
     database2 = models.DatastoreSchema(name=self.dbname)
     self.assertEqual(self.dbname, database2.name)
Ejemplo n.º 7
0
 def _empty_schema(self):
     return models.DatastoreSchema(deserializing=True)
Ejemplo n.º 8
0
 def test_checks_fail(self, mock_ignored_dbs):
     mock_ignored_dbs.return_value = [self.dbname]
     database = models.DatastoreSchema(self.dbname)
     self.assertRaises(ValueError, database.check_reserved)
     self.assertRaises(ValueError, database.check_create)
     self.assertRaises(ValueError, database.check_delete)