예제 #1
0
파일: test_rrd.py 프로젝트: marcoazza/rrd
 def setUp(self):
   self.start_h = time.time()
   self.end_h = self.start_h - HOUR
   self.start_d = self.start_h
   self.end_d = self.start_d - (HOUR * 24)
   self.rrd = RRD(db_name='test.db')
   self.rrd.db.reset('minutes')
   self.rrd.db.reset('hours')
예제 #2
0
파일: test_rrd.py 프로젝트: marcoazza/rrd
class TestCircularBuffer(unittest.TestCase):

  def setUp(self):
    self.start_h = time.time()
    self.end_h = self.start_h - HOUR
    self.start_d = self.start_h
    self.end_d = self.start_d - (HOUR * 24)
    self.rrd = RRD(db_name='test.db')
    self.rrd.db.reset('minutes')
    self.rrd.db.reset('hours')

  def test__last_hour(self):
    t = time.time()
    self.assertTrue(self.rrd._last_hour(t))
    self.assertTrue(self.rrd._last_hour(self.end_h))
    self.assertTrue(self.rrd._last_hour(self.start_h))
    self.assertFalse(self.rrd._last_hour(t + HOUR + MIN ))
    self.assertFalse(self.rrd._last_hour(t - HOUR - MIN ))
    self.assertTrue(self.rrd._last_hour(t - HOUR + MIN))
    self.assertTrue(self.rrd._last_hour(t - HOUR))
    self.assertTrue(self.rrd._last_hour(t - MIN))

  def test__last_day(self):
    t = time.time()
    self.assertTrue(self.rrd._last_day(t))
    self.assertTrue(self.rrd._last_day(self.end_h))
    self.assertTrue(self.rrd._last_day(self.start_h))
    self.assertFalse(self.rrd._last_day(t + 24*HOUR + MIN ))
    self.assertTrue(self.rrd._last_day(t - 24*HOUR + MIN))
    self.assertTrue(self.rrd._last_day(t - 24*HOUR))
    self.assertFalse(self.rrd._last_day(t - 24*HOUR - MIN))
    self.assertFalse(self.rrd._last_day(t + 24*HOUR))
    self.assertFalse(self.rrd._last_day(t + 24*HOUR - MIN))




  def test_save_min(self):
    epoch = trunc_to_min(time.time())
    expired_data = [ (epoch + HOUR -x*MIN,x-2) for x in xrange(0,10)]

    for e in expired_data:
      self.rrd.save(e[0],e[1])

    retrive_data = self.rrd.db.fetch_all('minutes',wnd_1(epoch))
    self.assertEqual([], retrive_data)

    valid_data = [ (epoch -x*MIN,x+1) for x in xrange(0,10)]
    valid_data.reverse()

    for e in valid_data:
      self.rrd.save(e[0],e[1])

    self.assertEqual(valid_data, self.rrd.db.fetch_all('minutes',wnd_1(epoch)))


  def test_save_hour(self):
    epoch = trunc_to_min(time.time())
    expired_data = [ (epoch + HOUR -x*MIN,x-2) for x in xrange(0,10)]
    for e in expired_data:
      self.rrd.save(e[0],e[1])
    retrive_data = self.rrd.db.fetch_all('hours',wnd_1(epoch))
    self.assertEqual([], retrive_data)

    valid_data = [(epoch -x*MIN,float(x+1)) for x in xrange(0,10)]
    valid_data.reverse()

    for e in valid_data:
      self.rrd.save(e[0],e[1])

    min_el = valid_data.pop()
    el = (trunc_to_hour(min_el[0]),min_el[1])
    self.assertEqual([el], self.rrd.db.fetch_all('hours',wnd_24(epoch)))