Skip to content

Commit 9b5bdee

Browse files
committed
Added test for update json with primittive data type
1 parent e180964 commit 9b5bdee

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

tests/test_json_path_utils.py

+30-3
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def test_get_node_not_existing(self):
6969
# too many new nodes
7070
self.assertRaises(KeyError, to_test.get_node, sample_json, "node1.node2.newnode.newnode2", True)
7171

72-
def test_set_node(self):
72+
def test_update_node(self):
7373
sample_json = self.__get_sample_json()
7474
node = to_test.update_node(sample_json, "$", '{"node3": {"brightness": 6}}')
7575

@@ -138,18 +138,45 @@ def test_set_node(self):
138138
}
139139
}, node)
140140

141-
def test_set_node_empty_path(self):
141+
def test_update_node_empty_path(self):
142142
sample_json = self.__get_sample_json()
143143
self.assertRaises(ValueError, to_test.update_node, sample_json, None, '{"node3": {"brightness": 6}}')
144144

145145
sample_json = self.__get_sample_json()
146146
self.assertRaises(ValueError, to_test.update_node, sample_json, "", '{"node3": {"brightness": 6}}')
147147

148-
def test_set_node_not_json(self):
148+
def test_update_node_not_json(self):
149149
sample_json = self.__get_sample_json()
150150

151151
self.assertRaises(json.JSONDecodeError, to_test.update_node, sample_json, "node1.node2", "not a json string")
152152

153+
def test_update_node_primitive_type(self):
154+
sample_json = self.__get_sample_json()
155+
156+
node = to_test.update_node(sample_json, "node1.node2", '"I am a primitive data type"')
157+
158+
self.assertIsInstance(node["node1"]["node2"], str, "Not a string")
159+
self.assertDictEqual({"node1": {
160+
"node2": "I am a primitive data type"
161+
}
162+
}, node)
163+
164+
node = to_test.update_node(sample_json, "node1.node2", '4378462')
165+
166+
self.assertIsInstance(node["node1"]["node2"], int, "Not an int")
167+
self.assertDictEqual({"node1": {
168+
"node2": 4378462
169+
}
170+
}, node)
171+
172+
node = to_test.update_node(sample_json, "node1.node2", 'true')
173+
174+
self.assertIsInstance(node["node1"]["node2"], bool, "Not a bool")
175+
self.assertDictEqual({"node1": {
176+
"node2": True
177+
}
178+
}, node)
179+
153180
def test_pop_node(self):
154181
original_json = self.__get_sample_json()
155182

0 commit comments

Comments
 (0)