def testUnableToWrite(self): """ Can't write to disk """ # Verify that we're not root first... if os.geteuid() == 0: print "Can't run testUnableToWrite check if running as root" return # First override sendEvent rimpl = RRDImpl(self.dmd) evts = [] def append(evt): if evt['severity'] != 0: evts.append(evt) rimpl.zem.sendEvent = append # Store a value. As RRDImpl caches references to # previously stored writes, this allows us to go # behind the scenes to diddle with the underlying # RRDUtil object (stored in rimpl.rrd) self.assertEquals(rimpl.writeRRD(self.dev.id, '', '', 'ds_dp', 66), 66) self.assertEquals(len(evts), 0) # This will try to create a /.rrd file, which should fail for key in rimpl.rrd.keys(): rimpl.rrd[key].performancePath = lambda (x): "/" self.assertEquals(rimpl.writeRRD(self.dev.id, '', '', 'ds_dp', 66), None) # Now check for our event... self.assertNotEquals(len(evts), 0)
def testThreshold(self): """ Exceed a threshhold """ rimpl = RRDImpl(self.dmd) evts = [] def append(evt): if evt['severity'] != 0: evts.append(evt) oldSendEvent = rimpl.zem.sendEvent rimpl.zem.sendEvent = append try: rimpl.writeRRD(self.dev.id, '', '', 'ds_dp', 99) self.assert_(len(evts) == 0) rimpl.writeRRD(self.dev.id, '', '', 'ds_dp', 101) self.assert_(len(evts) != 0) finally: rimpl.zem.sendEvent = oldSendEvent
def __init__(self, dmd): xmlrpc.XMLRPC.__init__(self) self.dmd = dmd self.zem = dmd.ZenEventManager self.impl = RRDImpl(dmd)
def testGoodRRDSave(self): """ Sanity check to make sure that RRD stores work """ rimpl = RRDImpl(self.dmd) rimpl.writeRRD(self.dev.id, '', '', 'ds_dp', 66)