def test_get_children_with_filters_valid_ancestry(self): filters = [ Filter(action='mod1_filter2', args={'arg1': '5.4'}), Filter(action='Top Filter') ] flag = Flag(action='Top Flag', filters=filters) self.assertDictEqual(flag.get_children(['mod1_filter2']), filters[0].as_json()) self.assertDictEqual(flag.get_children(['Top Filter']), filters[1].as_json())
def test_get_children_with_filters_ancestry_too_deep(self): filters = [ Filter(action='mod1_filter2', args={'arg1': '5.4'}), Filter(action='Top Filter') ] flag = Flag(action='Top Flag', filters=filters) for name in ['mod1_filter2', 'Top Filter']: self.assertIsNone(flag.get_children([name, 'too deep']))
def test_get_children_with_filters_invalid_ancestry(self): filters = [ Filter(action='mod1_filter2', args={'arg1': '5.4'}), Filter(action='Top Filter') ] flag = Flag(action='Top Flag', filters=filters) for ancestry in [['a'], ['a', 'b']]: self.assertIsNone(flag.get_children(ancestry))
def test_get_children_with_filters_no_ancestry(self): filters = [ Filter(action='mod1_filter2', args={'arg1': '5.4'}), Filter(action='Top Filter') ] flag = Flag(action='Top Flag', filters=filters) self.assertDictEqual(flag.get_children([]), flag.as_json(with_children=False))
def test_get_children(self): names = ['action1', '', 'action2'] flag1 = Flag() for name in names: self.assertIsNone(flag1.get_children([name])) self.assertDictEqual(flag1.get_children([]), flag1.as_json(with_children=False)) filters = [ Filter(action='action1'), Filter(), Filter(action='action2') ] flag2 = Flag(filters=filters) for i, name in enumerate(names): self.assertDictEqual(flag2.get_children([name]), filters[i].as_json()) self.assertDictEqual(flag2.get_children([]), flag2.as_json(with_children=False))
def test_get_children_no_filters_no_ancestry(self): flag = Flag(action='Top Flag') self.assertDictEqual(flag.get_children([]), flag.as_json(with_children=False))