def test_fields_handling(self, fields):
        """Verify truncation only occurs if all requirements are true

        This also verifies that access of FIELDS handles edge cases like
        missing data.

        """
        original_data = {"key": "a" * 32_767}
        data = deepcopy(original_data)

        truncate_string_field_values(fields, data)
        assert original_data == data
    def test_truncate_string_field_values(self, data, expected):
        fields = {
            "key": {
                "in_database_name": "key",
                "storage_mapping": {
                    "type": "string"
                }
            }
        }

        # Note: data is modified in place
        truncate_string_field_values(fields, data)
        assert data == expected