Skip to content

Commit e350693

Browse files
committedMar 18, 2025·
[IMP] ciblex: Limit street fields to 40 chars
1 parent e37c12c commit e350693

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed
 

‎roulier/carriers/ciblex/schema.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Copyright 2024 Akretion (http://www.akretion.com).
22
# @author Florian Mounier <florian.mounier@akretion.com>
33
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
4+
from pydantic import Field
45
from ...helpers import prefix, suffix, none_as_empty, unaccent
56
from ...schema import (
67
LabelInput,
@@ -72,8 +73,10 @@ class CiblexAddress(Address):
7273
zip: str
7374
city: str
7475
country: str # FR ou MC, enum?
75-
street3: str | None = None
76-
street4: str | None = None
76+
street1: str | None = Field(max_length=40, default=None)
77+
street2: str | None = Field(max_length=40, default=None)
78+
street3: str | None = Field(max_length=40, default=None)
79+
street4: str | None = Field(max_length=40, default=None)
7780

7881
def params(self):
7982
return {

‎roulier/carriers/ciblex/tests/test_ciblex.py

+13
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import pytest
66
from datetime import date
77
from roulier import roulier
8+
from roulier.exception import InvalidApiInput
89
from base64 import b64decode
910
from ....helpers import merge
1011
from ....tests.helpers import assert_pdf
@@ -88,3 +89,15 @@ def test_ciblex_label_epl(get_label_data):
8889
tracking = rv["parcels"][0]["tracking"]
8990
assert tracking["number"]
9091
assert tracking["url"].startswith("https://secure.extranet.ciblex.fr")
92+
93+
94+
@pytest.mark.block_network
95+
def test_ciblex_label_bad_street(get_label_data):
96+
data = get_label_data
97+
data["to_address"]["street1"] = "23 rue de la République 75001 Paris CEDEX 129832Z"
98+
99+
with pytest.raises(
100+
InvalidApiInput,
101+
match="to_address.street1\n String should have at most 40 characters",
102+
):
103+
roulier.get("ciblex", "get_label", data)

0 commit comments

Comments
 (0)
Please sign in to comment.