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())