Exemplo n.º 1
0
    def test_nested_objects(self):
        json_data = json.loads('{"something":{"property":["a","b","c"]}}')

        retriever = Query().get("something").get("property").index(
            2).finalize()
        value = retriever.get_from(json_data)
        self.assertEqual('c', value)
Exemplo n.º 2
0
    def test_custom_callback(self):
        def custom_callback(obj):
            return obj + "bc"

        json_data = json.loads('{"value":"a"}')
        retriever = Query().get("value").custom(custom_callback).finalize()
        value = retriever.get_from(json_data)
        self.assertEqual('abc', value)
Exemplo n.º 3
0
    def test_attribute(self):
        class TestObj:
            def __init__(self):
                self.SomeValue = 20

        test_obj = TestObj()

        retriever = Query().get('SomeValue').finalize()
        value = retriever.get_from(test_obj)
        self.assertEqual(20, value)
Exemplo n.º 4
0
 def test_convert_datetime(self):
     json_data = json.loads('{"value":"2020-01-02 03:04:05"}')
     retriever = Query().get("value").to_datetime(
         "%Y-%m-%d %H:%M:%S").finalize()
     value = retriever.get_from(json_data)
     self.assertEqual(datetime.datetime(2020, 1, 2, 3, 4, 5), value)
Exemplo n.º 5
0
    def test_json_property(self):
        json_data = json.loads('{"property":"abc"}')

        retriever = Query().get('property').finalize()
        value = retriever.get_from(json_data)
        self.assertEqual('abc', value)
Exemplo n.º 6
0
    def test_retrieve_none(self):
        data = None

        retriever = Query().get("something").finalize()
        value = retriever.get_from(data)
        self.assertIsNone(value)
Exemplo n.º 7
0
    def test_get_last_item(self):
        json_data = json.loads('["a","b","c"]')

        retriever = Query().last().finalize()
        value = retriever.get_from(json_data)
        self.assertEqual('c', value)
Exemplo n.º 8
0
    def test_invalid_index(self):
        json_data = json.loads('["a","b","c"]')

        retriever = Query().index(10).finalize()
        value = retriever.get_from(json_data)
        self.assertIsNone(value)
Exemplo n.º 9
0
    def test_get_index(self):
        json_data = json.loads('["a","b","c"]')

        retriever = Query().index(1).finalize()
        value = retriever.get_from(json_data)
        self.assertEqual('b', value)
Exemplo n.º 10
0
    def test_missing_attribute(self):
        json_data = json.loads('{"something":1}')

        retriever = Query().get("la la la").finalize()
        value = retriever.get_from(json_data)
        self.assertIsNone(value)