feat: implement assurance graph and screening evidence
This commit is contained in:
@@ -22,6 +22,8 @@ from govoplan_core.core.sanctions import (
|
||||
)
|
||||
from govoplan_core.db.base import Base, utcnow
|
||||
from govoplan_risk_compliance.backend.db.models import (
|
||||
RiskAssuranceEdge,
|
||||
RiskAssuranceNode,
|
||||
RiskSanctionsAddress,
|
||||
RiskSanctionsAlias,
|
||||
RiskSanctionsDate,
|
||||
@@ -104,6 +106,8 @@ UN_XML = b"""<?xml version="1.0" encoding="UTF-8"?>
|
||||
"""
|
||||
|
||||
TABLES = (
|
||||
RiskAssuranceNode.__table__,
|
||||
RiskAssuranceEdge.__table__,
|
||||
RiskSanctionsListSnapshot.__table__,
|
||||
RiskSanctionsEntry.__table__,
|
||||
RiskSanctionsAlias.__table__,
|
||||
@@ -254,6 +258,27 @@ class SanctionsScreeningTests(unittest.TestCase):
|
||||
self.assertFalse(
|
||||
item.candidates[0].evidence[0]["auto_confirmed"]
|
||||
)
|
||||
self.assertEqual(
|
||||
6,
|
||||
self.session.query(RiskAssuranceNode)
|
||||
.filter(
|
||||
RiskAssuranceNode.tenant_id == "tenant-1",
|
||||
RiskAssuranceNode.superseded_at.is_(None),
|
||||
)
|
||||
.count(),
|
||||
)
|
||||
self.assertEqual(
|
||||
5,
|
||||
self.session.query(RiskAssuranceEdge)
|
||||
.filter(
|
||||
RiskAssuranceEdge.tenant_id == "tenant-1",
|
||||
RiskAssuranceEdge.superseded_at.is_(None),
|
||||
)
|
||||
.count(),
|
||||
)
|
||||
item_id = item.id
|
||||
self.session.commit()
|
||||
self.session.expire_all()
|
||||
|
||||
replay, replay_created = run_screening(
|
||||
self.session,
|
||||
@@ -266,7 +291,9 @@ class SanctionsScreeningTests(unittest.TestCase):
|
||||
),
|
||||
)
|
||||
self.assertFalse(replay_created)
|
||||
self.assertEqual(item.id, replay.id)
|
||||
self.assertEqual(item_id, replay.id)
|
||||
self.assertEqual(6, self.session.query(RiskAssuranceNode).count())
|
||||
self.assertEqual(5, self.session.query(RiskAssuranceEdge).count())
|
||||
|
||||
with self.assertRaises(RiskSanctionsConflictError):
|
||||
run_screening(
|
||||
|
||||
Reference in New Issue
Block a user