def test_as_json(self): filter = Filter() self.assertDictEqual(filter.as_json(), {'action': '', 'args': {}}) filter = Filter(action='test_action') self.assertDictEqual(filter.as_json(), { 'action': 'test_action', 'args': {} }) args = {'arg1': 'a', 'arg2': 3, 'arg3': u'abc'} expected_args_json = { 'arg1': { 'key': 'arg1', 'value': 'a', 'format': 'str' }, 'arg2': { 'key': 'arg2', 'value': '3', 'format': 'int' } } if sys.version_info < (3, 0): expected_args_json['arg3'] = { 'key': 'arg3', 'value': 'abc', 'format': 'unicode' } else: expected_args_json['arg3'] = { 'key': 'arg3', 'value': 'abc', 'format': 'str' } expected_filter_json = {'action': 'test', 'args': expected_args_json} filter = Filter(ancestry=['a', 'b'], action="test", args=args) self.assertDictEqual(filter.as_json(), expected_filter_json)
def test_as_json_with_args_with_routing(self): filter_elem = Filter(action='mod1_filter2', args={'arg1': '@step1'}) expected = { 'action': 'mod1_filter2', 'args': { 'arg1': { 'format': 'number', 'key': 'arg1', 'value': '@step1' } } } self.assertDictEqual(filter_elem.as_json(), expected)
def test_as_json_no_args(self): filter_elem = Filter(action='Top Filter') expected = {'action': 'Top Filter', 'args': {}} self.assertDictEqual(filter_elem.as_json(), expected)
def __assert_xml_is_convertible(self, filter_elem): original_json = filter_elem.as_json() original_xml = filter_elem.to_xml() new_filter = Filter(xml=original_xml) self.assertDictEqual(new_filter.as_json(), original_json)