本文整理汇总了Python中vigilo.models.session.DBSession.refresh方法的典型用法代码示例。如果您正苦于以下问题:Python DBSession.refresh方法的具体用法?Python DBSession.refresh怎么用?Python DBSession.refresh使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vigilo.models.session.DBSession
的用法示例。
在下文中一共展示了DBSession.refresh方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_add_to_agregate
# 需要导入模块: from vigilo.models.session import DBSession [as 别名]
# 或者: from vigilo.models.session.DBSession import refresh [as 别名]
def test_add_to_agregate(self):
"""Ajout d'un événement brut à un évènement corrélé déjà existant"""
# On crée 2 couples host/service.
host1 = functions.add_host(u'messagerie')
service1 = functions.add_lowlevelservice(host1, u'Processes')
service2 = functions.add_lowlevelservice(host1, u'CPU')
# On ajoute 1 couple événement/agrégat à la BDD.
event2 = functions.add_event(service2, u'WARNING', 'WARNING: CPU is overloaded')
events_aggregate1 = functions.add_correvent([event2])
# On ajoute un nouvel événement à la BDD.
event1 = functions.add_event(service1, u'WARNING', 'WARNING: Processes are not responding')
# On ajoute ce nouvel événement à l'agrégat existant.
ctx = helpers.ContextStub(42)
yield add_to_aggregate(
event1.idevent,
events_aggregate1.idcorrevent,
DummyDatabaseWrapper(True),
ctx,
123,
False
)
DBSession.flush()
# On vérifie que l'événement a bien été ajouté à l'agrégat.
DBSession.refresh(events_aggregate1)
expected = sorted([event1.idevent, event2.idevent])
actual = sorted([event.idevent for event in events_aggregate1.events])
print "actual = %r, expected = %r" % (actual, expected)
self.assertEquals(actual, expected)
示例2: test_reuse_correvent_if_possible
# 需要导入模块: from vigilo.models.session import DBSession [as 别名]
# 或者: from vigilo.models.session.DBSession import refresh [as 别名]
def test_reuse_correvent_if_possible(self):
"""Privilégier la réutilisation des CorrEvents (#908)."""
self.make_dependencies()
host = DBSession.query(Host).first()
ts = int(time.time())
# On crée un événement brut, qu'on ne rattache
# à aucun événement corrélé.
DBSession.add(
Event(
supitem=host,
current_state=StateName.statename_to_value(u"WARNING"),
message="WARNING: ping",
timestamp=datetime.fromtimestamp(ts - 42),
)
)
DBSession.flush()
# On crée un deuxième événement brut correspondant au même
# élément supervisé, cette fois rattaché à un événement corrélé.
event = Event(
supitem=host,
current_state=StateName.statename_to_value(u"WARNING"),
message="WARNING: ping2",
timestamp=datetime.fromtimestamp(ts - 21),
)
correvent = CorrEvent(
cause=event,
priority=1,
trouble_ticket=u"azerty1234",
ack=CorrEvent.ACK_CLOSED,
occurrence=1,
timestamp_active=datetime.fromtimestamp(ts - 21),
)
correvent.events = [event]
DBSession.add(event)
DBSession.add(correvent)
DBSession.flush()
# Préparation des informations du messages
# et mise à jour de l'événement brut en base.
info_dictionary = {
"timestamp": datetime.fromtimestamp(ts),
"host": host.name,
"service": None,
"state": u"CRITICAL",
"message": u"CRITICAL: even worse",
"idsupitem": SupItem.get_supitem(host.name, None),
}
insert_event(info_dictionary)
# On doit toujours avoir 2 événements bruts en base.
self.assertEquals(2, DBSession.query(Event).count())
# On doit avoir un seul événement corrélé.
correvent = DBSession.query(CorrEvent).one()
# La cause de cet événement corrélé
# doit toujours être la même.
DBSession.refresh(event)
self.assertEquals(event, correvent.cause)
# L'événement brut associé à l'événement
# corrélé doit avoir été mis à jour.
self.assertEquals(datetime.fromtimestamp(ts), event.timestamp)
self.assertEquals(StateName.statename_to_value(u"CRITICAL"), event.current_state)
self.assertEquals(StateName.statename_to_value(u"CRITICAL"), event.peak_state)
self.assertEquals(StateName.statename_to_value(u"WARNING"), event.initial_state)
self.assertEquals(info_dictionary["message"], event.message)
# L'autre événement brut ne doit pas avoir changé.
event = DBSession.query(Event).filter(Event.idevent != event.idevent).one()
self.assertEquals(datetime.fromtimestamp(ts - 42), event.timestamp)
self.assertEquals(StateName.statename_to_value(u"WARNING"), event.current_state)
self.assertEquals(StateName.statename_to_value(u"WARNING"), event.peak_state)
self.assertEquals(StateName.statename_to_value(u"WARNING"), event.initial_state)
self.assertEquals("WARNING: ping", event.message)