def test_single_string(self, mocker): mock_loads = mocker.patch("ht.pyfilter.property.json.loads") mock_value = mocker.MagicMock(spec=str) result = prop._transform_values([mock_value]) assert result == mock_loads.return_value
def test_single_string_value(self, mock_parse): expected = "value" result = prop._transform_values([expected]) self.assertEqual(result, mock_parse.return_value) mock_parse.assert_called_with(expected)
def test_single_string_json(self): expected = 123 value = json.dumps(expected) result = prop._transform_values([value]) self.assertEqual(result, expected)
def test_multiple_values(self, mocker): mock_loads = mocker.patch("ht.pyfilter.property.json.loads") mock_values = [mocker.MagicMock(spec=str), mocker.MagicMock(spec=str)] result = prop._transform_values(mock_values) assert result == [mock_loads.return_value, mock_loads.return_value]
def test_multiple_values__value_error(self, mocker): mock_loads = mocker.patch("ht.pyfilter.property.json.loads") mock_loads.side_effect = ValueError mock_values = [mocker.MagicMock(spec=str), mocker.MagicMock(spec=str)] result = prop._transform_values(mock_values) assert result == mock_values
def test_single_int(self, mocker): mock_loads = mocker.patch("ht.pyfilter.property.json.loads") mock_value = mocker.MagicMock(spec=int) result = prop._transform_values([mock_value]) assert result == mock_value mock_loads.assert_not_called()
def test_single_string_value(self, mocker): mock_loads = mocker.patch("ht.pyfilter.property.json.loads") mock_loads.side_effect = ValueError mock_parse = mocker.patch( "ht.pyfilter.property._parse_string_for_bool") mock_value = mocker.MagicMock(spec=str) mock_value.split.return_value.__len__.return_value = 2 result = prop._transform_values([mock_value]) assert result == mock_parse.return_value mock_loads.assert_called_with(mock_value) mock_parse.assert_called_with(mock_value)
def test_single_string_dict_value(self, mocker): mock_loads = mocker.patch("ht.pyfilter.property.json.loads") mock_loads.side_effect = ValueError mock_key1 = mocker.MagicMock(spec=str) mock_key2 = mocker.MagicMock(spec=str) mock_value1 = mocker.MagicMock(spec=str) mock_value2 = mocker.MagicMock(spec=str) mock_value = mocker.MagicMock(spec=str) mock_value.split.return_value = [ mock_key1, mock_value1, mock_key2, mock_value2 ] result = prop._transform_values([mock_value]) assert result == {mock_key1: mock_value1, mock_key2: mock_value2} mock_loads.assert_called_with(mock_value)
def test_multiple_non_json_values(self): values = [1, "2"] result = prop._transform_values(values) self.assertEqual(result, values)
def test_multiple_json_values(self): values = [1, 2] result = prop._transform_values([str(val) for val in values]) self.assertEqual(result, values)
def test_single_non_str(self): value = 123 result = prop._transform_values([value]) self.assertEqual(result, value)
def test_single_string_non_json_dict(self): expected = {"comp1": "comp2", "comp3": "comp4"} result = prop._transform_values(["comp1 comp2 comp3 comp4"]) self.assertEqual(result, expected)
def test_None(self): result = prop._transform_values(None) self.assertIsNone(result)
def test_none(self): result = prop._transform_values(None) assert result is None