def testParse(self): filt = filters.AttrFilter() hit = rdfvalue.Config(test1="1", test2=2, test3=[3, 4]) miss = rdfvalue.Config(test1="5", test2=6, test3=[7, 8]) metacfg = rdfvalue.Config(hit=hit, miss=miss) result = list(filt.Parse(hit, "test1 test2")) self.assertEqual(2, len(result)) self.assertEqual("test1", result[0].k) self.assertEqual("1", result[0].v) self.assertEqual("test2", result[1].k) self.assertEqual(2, result[1].v) result = list(filt.Parse(metacfg, "hit.test3")) self.assertEqual(1, len(result)) self.assertEqual("hit.test3", result[0].k) self.assertEqual([3, 4], result[0].v)
def testParse(self): filt = filters.AttrFilter() hit1 = rdf_protodict.AttributedDict(k1="hit1", k2="found1", k3=[3, 4]) hit2 = rdf_protodict.AttributedDict(k1="hit2", k2="found2") meta = rdf_protodict.AttributedDict(one=hit1, two=hit2) objs = [hit1, hit2, meta] results = filt.Parse(objs, "k1 k2 one.k3") self.assertEqual(5, len(results)) r1, r2, r3, r4, r5 = results self.assertEqual("k1", r1.key) self.assertEqual("hit1", r1.value) self.assertEqual("k1", r2.key) self.assertEqual("hit2", r2.value) self.assertEqual("k2", r3.key) self.assertEqual("found1", r3.value) self.assertEqual("k2", r4.key) self.assertEqual("found2", r4.value) self.assertEqual("one.k3", r5.key) self.assertEqual([3, 4], r5.value)
def testValidate(self): filt = filters.AttrFilter() self.assertRaises(filters.DefinitionError, filt.Validate, " ") self.assertFalse(filt.Validate("cfg1")) self.assertFalse(filt.Validate("cfg1 cfg1.test1"))