def test_field_with_both_simple_argument_and_dot_notation_raises_exception(self): with self.assertRaises(RSError) as e: request.simplify_query_args({ 'foo': 'bar', 'foo.bar': 'baz' }) self.assertIn( 'field(s) cannot have both simple value and nested value', str(e.exception) )
def test_comma_separated_list_converted_to_list(self): result = request.simplify_query_args({'foo.bar': 'baz,qux'}) self.assertEqual(result, {'foo': {'bar': ['baz', 'qux']}})
def test_multilevel_dot_notation_raises_exception(self): with self.assertRaises(RSError) as e: request.simplify_query_args({'foo.bar.baz': '1'}) self.assertIn("multi-level query args are not supported", str(e.exception))
def test_multiple_dot_notation_merged_in_nested(self): result = request.simplify_query_args({'foo.bar': 'baz', 'foo.baz': 'qux'}) self.assertEqual(result, {'foo': {'bar': 'baz', 'baz': 'qux'}})
def test_dot_notation_converted_to_nested_dict(self): result = request.simplify_query_args({'foo.bar': 'baz'}) self.assertEqual(result, {'foo': {'bar': 'baz'}})
def test_simple_argument_unchanged(self): q = {'foo': 'bar'} result = request.simplify_query_args(q) self.assertEqual(result, q)
def test_empty_query_unchanged(self): result = request.simplify_query_args(dict()) self.assertEqual(result, dict())