33
44import pytest
55from aws_sdk_signers import Field , Fields
6- from aws_sdk_signers .interfaces .http import FieldPosition
76
87
98def test_field_single_valued_basics () -> None :
10- field = Field (name = "fname" , values = ["fval" ], kind = FieldPosition . HEADER )
9+ field = Field (name = "fname" , values = ["fval" ], kind = "header" )
1110 assert field .name == "fname"
12- assert field .kind == FieldPosition . HEADER
11+ assert field .kind == "header"
1312 assert field .values == ["fval" ]
1413 assert field .as_string () == "fval"
1514 assert field .as_tuples () == [("fname" , "fval" )]
1615
1716
1817def test_field_multi_valued_basics () -> None :
19- field = Field (name = "fname" , values = ["fval1" , "fval2" ], kind = FieldPosition . HEADER )
18+ field = Field (name = "fname" , values = ["fval1" , "fval2" ], kind = "header" )
2019 assert field .name == "fname"
21- assert field .kind == FieldPosition . HEADER
20+ assert field .kind == "header"
2221 assert field .values == ["fval1" , "fval2" ]
2322 assert field .as_string () == "fval1,fval2"
2423 assert field .as_tuples () == [("fname" , "fval1" ), ("fname" , "fval2" )]
@@ -62,16 +61,16 @@ def test_field_serialization(values: list[str], expected: str) -> None:
6261 "field,expected_repr" ,
6362 [
6463 (
65- Field (name = "fname" , values = ["fval1" , "fval2" ], kind = FieldPosition . HEADER ),
66- "Field(name='fname', value=['fval1', 'fval2'], kind=<FieldPosition.HEADER: 0> )" ,
64+ Field (name = "fname" , values = ["fval1" , "fval2" ], kind = "header" ),
65+ "Field(name='fname', value=['fval1', 'fval2'], kind='header' )" ,
6766 ),
6867 (
69- Field (name = "fname" , kind = FieldPosition . TRAILER ),
70- "Field(name='fname', value=[], kind=<FieldPosition.TRAILER: 1> )" ,
68+ Field (name = "fname" , kind = "trailer" ),
69+ "Field(name='fname', value=[], kind='trailer' )" ,
7170 ),
7271 (
7372 Field (name = "fname" ),
74- "Field(name='fname', value=[], kind=<FieldPosition.HEADER: 0> )" ,
73+ "Field(name='fname', value=[], kind='header' )" ,
7574 ),
7675 ],
7776)
@@ -83,8 +82,8 @@ def test_field_repr(field: Field, expected_repr: str) -> None:
8382 "f1,f2" ,
8483 [
8584 (
86- Field (name = "fname" , values = ["fval1" , "fval2" ], kind = FieldPosition . TRAILER ),
87- Field (name = "fname" , values = ["fval1" , "fval2" ], kind = FieldPosition . TRAILER ),
85+ Field (name = "fname" , values = ["fval1" , "fval2" ], kind = "trailer" ),
86+ Field (name = "fname" , values = ["fval1" , "fval2" ], kind = "trailer" ),
8887 ),
8988 (
9089 Field (name = "fname" , values = ["fval1" , "fval2" ]),
@@ -104,20 +103,20 @@ def test_field_equality(f1: Field, f2: Field) -> None:
104103 "f1,f2" ,
105104 [
106105 (
107- Field (name = "fname" , values = ["fval1" , "fval2" ], kind = FieldPosition . HEADER ),
108- Field (name = "fname" , values = ["fval1" , "fval2" ], kind = FieldPosition . TRAILER ),
106+ Field (name = "fname" , values = ["fval1" , "fval2" ], kind = "header" ),
107+ Field (name = "fname" , values = ["fval1" , "fval2" ], kind = "trailer" ),
109108 ),
110109 (
111- Field (name = "fname" , values = ["fval1" , "fval2" ], kind = FieldPosition . HEADER ),
112- Field (name = "fname" , values = ["fval2" , "fval1" ], kind = FieldPosition . HEADER ),
110+ Field (name = "fname" , values = ["fval1" , "fval2" ], kind = "header" ),
111+ Field (name = "fname" , values = ["fval2" , "fval1" ], kind = "header" ),
113112 ),
114113 (
115- Field (name = "fname" , values = ["fval1" , "fval2" ], kind = FieldPosition . HEADER ),
116- Field (name = "fname" , values = ["fval1" ], kind = FieldPosition . HEADER ),
114+ Field (name = "fname" , values = ["fval1" , "fval2" ], kind = "header" ),
115+ Field (name = "fname" , values = ["fval1" ], kind = "header" ),
117116 ),
118117 (
119- Field (name = "fname1" , values = ["fval1" , "fval2" ], kind = FieldPosition . HEADER ),
120- Field (name = "fname2" , values = ["fval1" , "fval2" ], kind = FieldPosition . HEADER ),
118+ Field (name = "fname1" , values = ["fval1" , "fval2" ], kind = "header" ),
119+ Field (name = "fname2" , values = ["fval1" , "fval2" ], kind = "header" ),
121120 ),
122121 ],
123122)
@@ -211,7 +210,7 @@ def test_fields_length_value(fields: Fields, expected_length: int) -> None:
211210 Fields ([Field (name = "fname1" )]),
212211 (
213212 "Fields(OrderedDict({'fname1': Field(name='fname1', value=[], "
214- "kind=<FieldPosition.HEADER: 0> )}))"
213+ "kind='header' )}))"
215214 ),
216215 ),
217216 ],
@@ -314,3 +313,8 @@ def test_fields_delitem_missing() -> None:
314313 fields = Fields ([Field (name = "fname1" )])
315314 with pytest .raises (KeyError ):
316315 del fields ["fname2" ]
316+
317+
318+ def test_field_invalid_kind () -> None :
319+ with pytest .raises (ValueError , match = "Unknown field kind" ):
320+ Field (name = "fname" , kind = "metadata" ) # type: ignore
0 commit comments