Ejemplo n.º 1
0
 def run_idl(self, txn):
     record = self.api.lookup(self.table, self.record)
     for value in self.values:
         if isinstance(value, abc.Mapping):
             # We should be doing an add on a 'map' column. If the key is
             # already set, do nothing, otherwise set the key to the value
             # Since this operation depends on the previous value, verify()
             # must be called.
             field = getattr(record, self.column, {})
             for k, v in value.items():
                 if k in field:
                     continue
                 field[k] = v
         else:
             # We should be appending to a 'set' column.
             try:
                 record.addvalue(self.column,
                                 idlutils.db_replace_record(value))
                 continue
             except AttributeError:  # OVS < 2.6
                 field = getattr(record, self.column, [])
                 field.append(value)
         record.verify(self.column)
         self.set_column(record, self.column, field)
Ejemplo n.º 2
0
 def set_column(cls, row, col, val):
     setattr(row, col, idlutils.db_replace_record(val))
Ejemplo n.º 3
0
 def test_db_replace_record_cmd(self):
     obj = MockCommand("test")
     self.assertEqual("test", idlutils.db_replace_record(obj))
Ejemplo n.º 4
0
 def test_db_replace_record_tuple_cmd(self):
     obj = (1, MockCommand(2), 3)
     res = (1, 2, 3)
     self.assertEqual(res, idlutils.db_replace_record(obj))
Ejemplo n.º 5
0
 def test_db_replace_record(self):
     obj = "test"
     self.assertIs(obj, idlutils.db_replace_record(obj))
Ejemplo n.º 6
0
 def test_db_replace_record_tuple(self):
     obj = (1, 2, 3)
     self.assertIs(obj, idlutils.db_replace_record(obj))
Ejemplo n.º 7
0
 def test_db_replace_record_list_cmd(self):
     obj = [1, MockCommand(2), 3]
     res = [1, 2, 3]
     self.assertEqual(res, idlutils.db_replace_record(obj))
Ejemplo n.º 8
0
 def test_db_replace_record_list(self):
     obj = [1, 2, 3]
     self.assertIs(obj, idlutils.db_replace_record(obj))
Ejemplo n.º 9
0
 def test_db_replace_record_dict_cmd(self):
     obj = {'a': 1, 'b': MockCommand(2)}
     res = {'a': 1, 'b': 2}
     self.assertEqual(res, idlutils.db_replace_record(obj))
Ejemplo n.º 10
0
 def test_db_replace_record_dict(self):
     obj = {'a': 1, 'b': 2}
     self.assertIs(obj, idlutils.db_replace_record(obj))