Exemplo n.º 1
0
 def get_from_queue_cb(future):
     op = future.result()
     try:
         Operation.get(op.id)
     except Operation.DoesNotExist:
         ops.append(op)
         clean_queue()
Exemplo n.º 2
0
    def test_no_database(self):
        with self.assertRaisesRegex(pmpi.database.Database.InitialisationError, "initialise database first"):
            Operation.get_ids_list()

        with self.assertRaisesRegex(pmpi.database.Database.InitialisationError, "initialise database first"):
            Operation.get(sha256(b'something').digest())

        operation = Operation(OperationRev(), 'http://example.com/', [])
        sk = SigningKey.generate()
        sign_object(PublicKey.from_signing_key(sk), sk, operation)

        with self.assertRaisesRegex(pmpi.database.Database.InitialisationError, "initialise database first"):
            operation.put(BlockRev())

        with self.assertRaisesRegex(pmpi.database.Database.InitialisationError, "initialise database first"):
            operation.remove(BlockRev())
Exemplo n.º 3
0
    def test_3_get_and_remove(self):
        sign_object(self.public_key, self.private_key, self.operations[0])

        self.operations[1] = Operation(OperationRev.from_obj(self.operations[0]),
                                       self.operations[1].address,
                                       self.operations[1].owners)

        for op in self.operations:
            sign_object(self.public_key, self.private_key, op)
            op.put()

        for op in self.operations:
            new_op = Operation.get(op.id)
            self.assertEqual(new_op.id, op.id)

        self.assertCountEqual(Operation.get_ids_list(), [op.id for op in self.operations])

        self.operations[1].remove()
        self.operations[0].remove()

        self.assertCountEqual(Operation.get_ids_list(), [self.operations[2].id])

        self.operations[2].remove()

        for op in self.operations:
            with self.assertRaises(Operation.DoesNotExist):
                op.remove()

        self.assertEqual(Operation.get_ids_list(), [])
Exemplo n.º 4
0
 def test_1_get_from_empty(self):
     with self.assertRaises(Operation.DoesNotExist):
         sign_object(self.public_key, self.private_key, self.operations[0])
         Operation.get(self.operations[0].id)