def test_no_binary_2(self):
     """L'exécutable rrdtool n'existe pas (start)"""
     rrd_bin = os.path.join(self.tmpdir, "dummy")
     mgr = RRDToolPoolManager(self.rrd_base_dir, "flat", rrd_bin)
     d = mgr.start()
     def cb(r):
         self.fail("Il y aurait dû y avoir un errback")
     def eb(f):
         self.assertEqual(f.type, OSError)
     d.addCallbacks(cb, eb)
     return d
 def test_with_rrdcached(self):
     """
     Si RRDcached est activé, la bonne variable d'env doit être propagée
     """
     mgr = RRDToolPoolManager(self.rrd_base_dir, "flat", "/usr/bin/rrdtool",
                 rrdcached=self.tmpdir)
     # Ne rien forker
     mgr.pool.build()
     mgr.pool_direct.build()
     for p in mgr.pool.pool + mgr.pool_direct.pool:
         p.start = lambda: defer.succeed(None)
     d = mgr.start()
     def check(r):
         self.assertTrue(len(mgr.pool) > 0)
         for p in mgr.pool:
             self.assertTrue("RRDCACHED_ADDRESS" in p.env)
             self.assertEqual(p.env["RRDCACHED_ADDRESS"], self.tmpdir)
     d.addCallback(check)
     return d
 def test_with_check_thresholds(self):
     """
     Si la vérification de seuils est activée, il faut un second pool
     """
     mgr = RRDToolPoolManager(self.rrd_base_dir, "flat", "/usr/bin/rrdtool",
                 rrdcached=self.tmpdir)
     # Ne rien forker
     mgr.pool.build()
     mgr.pool_direct.build()
     for p in mgr.pool.pool + mgr.pool_direct.pool:
         p.start = lambda: defer.succeed(None)
     d = mgr.start()
     def check(r):
         self.assertTrue(mgr.pool_direct is not None)
         self.assertTrue(len(mgr.pool_direct) > 0)
         for p in mgr.pool_direct:
             self.assertTrue("RRDCACHED_ADDRESS" not in p.env)
     d.addCallback(check)
     return d
 def test_with_or_without_rrdcached(self):
     """L'argument no_rrdcached doit envoyer sur le bon pool"""
     mgr = RRDToolPoolManager(self.rrd_base_dir, "flat", "/usr/bin/rrdtool",
                 rrdcached=self.tmpdir)
     mgr.pool.run = Mock(name="with")
     mgr.pool_direct.run = Mock(name="without")
     # Ne rien forker
     mgr.pool.build()
     mgr.pool_direct.build()
     for p in mgr.pool.pool + mgr.pool_direct.pool:
         p.start = lambda: defer.succeed(None)
     d = mgr.start()
     def run_with_rrdcached(r):
         return mgr.run("with", "with", ["with"])
     def run_without_rrdcached(r):
         return mgr.run("without", "without", ["without"], no_rrdcached=True)
     def check(r):
         mgr.pool.run.assert_called_with("with", "with", ["with"])
         mgr.pool_direct.run.assert_called_with("without", "without", ["without"])
     d.addCallback(run_with_rrdcached)
     d.addCallback(run_without_rrdcached)
     d.addCallback(check)
     return d