Beispiel #1
0
 def test_invalid_json(self):
     from smoketest.tests import select_from_json
     json_string = 'bad'
     selector = ''
     try:
         select_from_json(json_string, selector)
     except Exception as e:
         self.assertIsInstance(e, ValueError)
     else:
         assert False, 'No exception was raised!'
Beispiel #2
0
 def test_non_existent_key_for_object(self):
     from smoketest.tests import select_from_json
     json_string = """
         {"foo": "bar"}
     """
     selector = 'baz'
     try:
         select_from_json(json_string, selector)
     except Exception as e:
         self.assertIsInstance(e, KeyError)
         self.assertEqual(e.args[0], 'Key baz not found')
     else:
         assert False, 'No exception was raised!'
Beispiel #3
0
 def test_out_of_range_index_for_list(self):
     from smoketest.tests import select_from_json
     json_string = """
         [false]
     """
     selector = '1'
     try:
         select_from_json(json_string, selector)
     except Exception as e:
         self.assertIsInstance(e, IndexError)
         self.assertEqual(e.args[0], 'Index 1 not found')
     else:
         assert False, 'No exception was raised!'
Beispiel #4
0
 def test_non_integer_for_list(self):
     from smoketest.tests import select_from_json
     json_string = """
         [false]
     """
     selector = 'foo'
     try:
         select_from_json(json_string, selector)
     except Exception as e:
         self.assertIsInstance(e, ValueError)
         self.assertEqual(e.args[0], 'Array found at foo')
     else:
         assert False, 'No exception was raised!'
Beispiel #5
0
 def test_true_json_empty_selector(self):
     from smoketest.tests import select_from_json
     json_string = 'true'
     selector = ''
     result = select_from_json(json_string, selector)
     expected = True
     self.assertEqual(result, expected)
Beispiel #6
0
 def test_object_unnested_selector(self):
     from smoketest.tests import select_from_json
     json_string = """
         {"foo": "hi!"}
     """
     selector = 'foo'
     result = select_from_json(json_string, selector)
     expected = 'hi!'
     self.assertEqual(result, expected)
Beispiel #7
0
 def test_array_unnested_selector(self):
     from smoketest.tests import select_from_json
     json_string = """
         [
             "foo",
             true,
             "hi!",
             null,
             false
         ]
     """
     selector = '2'
     result = select_from_json(json_string, selector)
     expected = 'hi!'
     self.assertEqual(result, expected)
Beispiel #8
0
 def test_object_and_array_nesting(self):
     from smoketest.tests import select_from_json
     json_string = """
         {
             "nope": 0,
             "foo": [
                 null,
                 {
                     "no!": "never",
                     "bar": [
                         {
                             "bad": "bye!",
                             "baz": "hi!"
                         },
                         false
                     ]
                 }
             ]
         }
     """
     selector = 'foo.1.bar.0.baz'
     result = select_from_json(json_string, selector)
     expected = 'hi!'
     self.assertEqual(result, expected)