import datetime import os from django.conf import settings from django.test import TestCase from .. import models class TestGraphs(TestCase): def setUp(self): self.rrd_file = "test.rrd" try: os.remove(os.path.join(settings.RRD_DB_PATH, self.rrd_file)) except FileNotFoundError: pass def tearDown(self): try: os.remove(os.path.join(settings.RRD_DB_PATH, self.rrd_file)) except FileNotFoundError: pass def test_generate_at_ds_update(self): ds = models.DataSource.objects.create( topic="test", path=self.rrd_file, ) graph = models.Graph.objects.create( title="Test Graph", path="test/test.png", ) graph.data_sources.add(ds) graph.save() now = datetime.datetime.now() ts = int(now.timestamp()) ds.update(ts, 10) stat = os.stat(os.path.join(settings.RRD_GRAPH_PATH, "test/test.png")) self.assertGreaterEqual(stat.st_mtime, now.timestamp())