def test_put_operation_2(self): with self.assertRaisesRegex(Operation.ChainError, "previous_operation_rev does not exist"): self.operation[2] = Operation(OperationRev.from_id( sha256(b'wrong hash').digest()), self.operation[2].address, self.operation[2].owners) sign_object(self.public_keys[0], self.private_keys[0], self.operation[1]) self.operation[2] = Operation._construct_with_uuid(OperationRev.from_obj(self.operation[1]), self.operation[2].uuid, self.operation[2].address, self.operation[2].owners) sign_object(self.public_keys[1], self.private_keys[1], self.operation[2]) with self.assertRaisesRegex(Operation.UUIDError, "UUID mismatch"): self.operation[2].put() self.operation[2] = Operation._construct_with_uuid(OperationRev(), self.operation[2].uuid, self.operation[2].address, self.operation[2].owners) sign_object(self.public_keys[1], self.private_keys[1], self.operation[2]) self.operation[2].put() with self.assertRaisesRegex(Operation.DuplicationError, "object id already in the database"): self.operation[2].put()
def test_put_operation1(self): sign_object(self.public_keys[0], self.private_keys[0], self.operation[0]) self.operation[0].put() self.operation[1] = Operation._construct_with_uuid(OperationRev(), self.operation[0].uuid, self.operation[1].address, self.operation[1].owners) sign_object(self.public_keys[0], self.private_keys[0], self.operation[1]) with self.assertRaisesRegex(Operation.UUIDError, "UUID of the minting operation does not fulfill the requirements"): self.operation[1].put() self.operation[1] = Operation(OperationRev.from_obj(self.operation[0]), self.operation[1].address, self.operation[1].owners) sign_object(self.public_keys[0], self.private_keys[0], self.operation[1]) with self.assertRaises(Operation.OwnershipError): self.operation[1].put() sign_object(self.public_keys[1], self.private_keys[1], self.operation[1]) self.operation[1].put()
def test_2_operation(self): sign_object(self.public_keys[1], self.private_keys[1], self.operation[0]) self.operation[1] = Operation(OperationRev.from_obj(self.operation[0]), 'http://new.example.com/', [self.public_keys[2]]) sign_object(self.public_keys[2], self.private_keys[2], self.operation[1]) self.operation[2] = Operation._construct_with_uuid(OperationRev.from_obj(self.operation[1]), uuid4(), 'http://new2.example.com', []) with self.assertRaisesRegex(Operation.UUIDError, "UUID mismatch"): sign_object(self.public_keys[2], self.private_keys[2], self.operation[2]) self.operation[2].verify() self.operation[2] = Operation(OperationRev.from_obj(self.operation[1]), 'http://new2.example.com', []) sign_object(self.public_keys[2], self.private_keys[2], self.operation[2]) self.operation[2].verify()