Exemple #1
0
 def test_inequalities(self):
     """Check if filters with inequalities work."""
     filter = create_filter("enable=1,weight>20")
     self.assertTrue(filter(dict(enable="1", weight="21")))
     self.assertTrue(filter(dict(enable="1", weight="121")))
     self.assertFalse(filter(dict(enable="1", weight="1")))
     self.assertFalse(filter(dict(enable="1", weight="20")))
     self.assertFalse(filter(dict(enable="0", weight="21")))
     self.assertFalse(filter(dict(enable="1")))
     filter = create_filter("enable=1,weight>=20")
     self.assertTrue(filter(dict(enable="1", weight="20")))
     self.assertFalse(filter(dict(enable="1", weight="19")))
     self.assertTrue(filter(dict(enable="1", weight="21")))
     filter = create_filter("enable=1,weight<=20")
     self.assertTrue(filter(dict(enable="1", weight="20")))
     self.assertTrue(filter(dict(enable="1", weight="19")))
     self.assertFalse(filter(dict(enable="1", weight="21")))
     filter = create_filter("enable=1,weight<20")
     self.assertFalse(filter(dict(enable="1", weight="20")))
     self.assertTrue(filter(dict(enable="1", weight="19")))
     self.assertFalse(filter(dict(enable="1", weight="21")))
     filter = create_filter("enable=1,weight!=20")
     self.assertFalse(filter(dict(enable="1", weight="20")))
     self.assertTrue(filter(dict(enable="1", weight="19")))
     self.assertTrue(filter(dict(enable="1", weight="121")))
     self.assertFalse(filter(dict(enable="1")))
Exemple #2
0
 def test_inequalities(self):
     """Check if filters with inequalities work."""
     filter = create_filter("enable=1,weight>20")
     self.assertTrue(filter(dict(enable="1",weight="21")))
     self.assertTrue(filter(dict(enable="1",weight="121")))
     self.assertFalse(filter(dict(enable="1",weight="1")))
     self.assertFalse(filter(dict(enable="1",weight="20")))
     self.assertFalse(filter(dict(enable="0",weight="21")))
     self.assertFalse(filter(dict(enable="1")))
     filter = create_filter("enable=1,weight>=20")
     self.assertTrue(filter(dict(enable="1",weight="20")))
     self.assertFalse(filter(dict(enable="1",weight="19")))
     self.assertTrue(filter(dict(enable="1",weight="21")))
     filter = create_filter("enable=1,weight<=20")
     self.assertTrue(filter(dict(enable="1",weight="20")))
     self.assertTrue(filter(dict(enable="1",weight="19")))
     self.assertFalse(filter(dict(enable="1",weight="21")))
     filter = create_filter("enable=1,weight<20")
     self.assertFalse(filter(dict(enable="1",weight="20")))
     self.assertTrue(filter(dict(enable="1",weight="19")))
     self.assertFalse(filter(dict(enable="1",weight="21")))
     filter = create_filter("enable=1,weight!=20")
     self.assertFalse(filter(dict(enable="1",weight="20")))
     self.assertTrue(filter(dict(enable="1",weight="19")))
     self.assertTrue(filter(dict(enable="1",weight="121")))
     self.assertFalse(filter(dict(enable="1")))
Exemple #3
0
 def test_nested_filter(self):
     """Check if a filter on nested elements works."""
     filter = create_filter("enable=1,mysql.replication_delay<20")
     self.assertTrue(filter(dict(enable="1", mysql=dict(replication_delay="10"))))
     self.assertFalse(filter(dict(enable="1", mysql=dict(replication_delay="30"))))
     self.assertFalse(filter(dict(enable="0", mysql=dict(replication_delay="10"))))
     self.assertFalse(filter(dict(enable="1")))
Exemple #4
0
 def test_empty_filter(self):
     """Check if an empty filter works."""
     filter = create_filter("")
     # All is true
     self.assertTrue(filter({1: 2}))
     self.assertTrue(filter({}))
     self.assertTrue(filter({3: 4}))
Exemple #5
0
 def test_empty_filter(self):
     """Check if an empty filter works."""
     filter = create_filter("")
     # All is true
     self.assertTrue(filter({1: 2}))
     self.assertTrue(filter({}))
     self.assertTrue(filter({3: 4}))
Exemple #6
0
 def test_existence(self):
     """Check if filters on existence work."""
     filter = create_filter("enable=1,working")
     self.assertTrue(filter(dict(enable="1",working="0")))
     self.assertTrue(filter(dict(enable="1",working="1")))
     self.assertTrue(filter(dict(enable="1",working="1",notworking="1")))
     self.assertFalse(filter(dict(enable="0",working="1")))
     self.assertFalse(filter(dict(enable="1",notworking="1")))
Exemple #7
0
 def test_two_equalities(self):
     """Check if a filter with two equalities works."""
     filter = create_filter("enable=1,maintainance=0")
     self.assertTrue(filter(dict(enable="1", maintainance="0")))
     self.assertTrue(filter(dict(enable="1", maintainance="0", somethingelse="43")))
     self.assertFalse(filter(dict(enable="0", maintainance="0", somethingelse="43")))
     self.assertFalse(filter(dict(enable="1", maintainance="1", somethingelse="43")))
     self.assertFalse(filter(dict(enable="1", somethingelse="43")))
Exemple #8
0
 def test_existence(self):
     """Check if filters on existence work."""
     filter = create_filter("enable=1,working")
     self.assertTrue(filter(dict(enable="1", working="0")))
     self.assertTrue(filter(dict(enable="1", working="1")))
     self.assertTrue(filter(dict(enable="1", working="1", notworking="1")))
     self.assertFalse(filter(dict(enable="0", working="1")))
     self.assertFalse(filter(dict(enable="1", notworking="1")))
Exemple #9
0
 def test_simple_filter(self):
     """Check if a simple equality filter works."""
     filter = create_filter("enable=1")
     self.assertTrue(filter(dict(enable="1")))
     self.assertFalse(filter(dict(enable="0")))
     self.assertFalse(filter(dict(notenabled="1")))
     self.assertFalse(filter(dict(notenabled="1", something="18")))
     self.assertFalse(filter(dict(something="19", enable="0")))
     self.assertTrue(filter(dict(something="19", enable="1")))
     self.assertTrue(filter(dict(something="19", enable="1", somethingelse="1")))
Exemple #10
0
 def test_nested_filter(self):
     """Check if a filter on nested elements works."""
     filter = create_filter("enable=1,mysql.replication_delay<20")
     self.assertTrue(
         filter(dict(enable="1", mysql=dict(replication_delay="10"))))
     self.assertFalse(
         filter(dict(enable="1", mysql=dict(replication_delay="30"))))
     self.assertFalse(
         filter(dict(enable="0", mysql=dict(replication_delay="10"))))
     self.assertFalse(filter(dict(enable="1")))
Exemple #11
0
 def test_simple_filter(self):
     """Check if a simple equality filter works."""
     filter = create_filter("enable=1")
     self.assertTrue(filter(dict(enable="1")))
     self.assertFalse(filter(dict(enable="0")))
     self.assertFalse(filter(dict(notenabled="1")))
     self.assertFalse(filter(dict(notenabled="1", something="18")))
     self.assertFalse(filter(dict(something="19", enable="0")))
     self.assertTrue(filter(dict(something="19", enable="1")))
     self.assertTrue(
         filter(dict(something="19", enable="1", somethingelse="1")))
Exemple #12
0
 def test_two_equalities(self):
     """Check if a filter with two equalities works."""
     filter = create_filter("enable=1,maintainance=0")
     self.assertTrue(filter(dict(enable="1", maintainance="0")))
     self.assertTrue(
         filter(dict(enable="1", maintainance="0", somethingelse="43")))
     self.assertFalse(
         filter(dict(enable="0", maintainance="0", somethingelse="43")))
     self.assertFalse(
         filter(dict(enable="1", maintainance="1", somethingelse="43")))
     self.assertFalse(filter(dict(enable="1", somethingelse="43")))
Exemple #13
0
 def test_filter(self):
     """Test filters are correctly applied"""
     self.client.ensure_path("/services/db/1.1.1.1")
     self.client.ensure_path("/services/db/2.2.2.2")
     self.client.ensure_path("/services/db/3.3.3.3")
     self.client.ensure_path("/services/db/4.4.4.4")
     self.client.set("/services/db/1.1.1.1",
                     json.dumps({"enabled": "0", "weight": "20"}))
     self.client.set("/services/db/2.2.2.2",
                     json.dumps({"enabled": "1", "weight": "20"}))
     self.client.set("/services/db/3.3.3.3",
                     json.dumps({"enabled": "1", "weight": "10"}))
     self.client.set("/services/db/4.4.4.4",
                     json.dumps({"enabled": "1", "weight": "30"}))
     z = ZkFarmExporter(self.client, "/services/db", self.conf,
                        filter_handler=create_filter("enabled=1,weight>15"))
     z.loop(2, timeout=self.TIMEOUT)
     self.conf.write.assert_called_with({"2.2.2.2": {"enabled": "1", "weight": "20"},
                                         "4.4.4.4": {"enabled": "1", "weight": "30"}})
Exemple #14
0
 def test_filter(self):
     """Test filters are correctly applied"""
     self.client.ensure_path("/services/db/1.1.1.1")
     self.client.ensure_path("/services/db/2.2.2.2")
     self.client.ensure_path("/services/db/3.3.3.3")
     self.client.ensure_path("/services/db/4.4.4.4")
     self.client.set("/services/db/1.1.1.1",
                     json.dumps({
                         "enabled": "0",
                         "weight": "20"
                     }))
     self.client.set("/services/db/2.2.2.2",
                     json.dumps({
                         "enabled": "1",
                         "weight": "20"
                     }))
     self.client.set("/services/db/3.3.3.3",
                     json.dumps({
                         "enabled": "1",
                         "weight": "10"
                     }))
     self.client.set("/services/db/4.4.4.4",
                     json.dumps({
                         "enabled": "1",
                         "weight": "30"
                     }))
     z = ZkFarmExporter(self.client,
                        "/services/db",
                        self.conf,
                        filter_handler=create_filter("enabled=1,weight>15"))
     z.loop(2, timeout=self.TIMEOUT)
     self.conf.write.assert_called_with({
         "2.2.2.2": {
             "enabled": "1",
             "weight": "20"
         },
         "4.4.4.4": {
             "enabled": "1",
             "weight": "30"
         }
     })