@@ -57,13 +57,28 @@ def test_empty_data_is_converted_to_list():
57
57
assert model_instance .data == []
58
58
59
59
60
- def test_paginating_data ():
60
+ @pytest .mark .parametrize (
61
+ "base_url" ,
62
+ [
63
+ "http://site.com" ,
64
+ "http://site.com/" ,
65
+ "http://some/random/url.com" ,
66
+ "http://some/random/url.com/" ,
67
+ "http://s.s.s.s.subsite.site.com" ,
68
+ "http://s.s.s.s.subsite.site.com/" ,
69
+ "http://10.0.0.1.nip.io/" ,
70
+ "http://10.0.0.1.nip.io:8091/" ,
71
+ "http://10.0.0.1.nip.io" ,
72
+ "http://10.0.0.1.nip.io:8091" ,
73
+ ],
74
+ )
75
+ def test_paginating_data (base_url ):
61
76
# create random data
62
77
total_number_of_data = 29
63
78
limit = 9
64
79
offset = 0
65
80
partial_data = [range (9 )]
66
- request_url = URL ("http://some/random/url.com ?some=1&random=4&query=true" )
81
+ request_url = URL (f" { base_url } ?some=1&random=4&query=true" )
67
82
68
83
# first "call"
69
84
model_instance : PageResponseLimitOffset = PageResponseLimitOffset .paginate_data (
@@ -75,11 +90,27 @@ def test_paginating_data():
75
90
total = total_number_of_data , count = len (partial_data ), limit = limit , offset = offset
76
91
)
77
92
assert model_instance .links == PageLinks (
78
- self = f"http://some/random/url.com?some=1&random=4&query=true&offset={ offset } &limit={ limit } " ,
79
- first = f"http://some/random/url.com?some=1&random=4&query=true&offset=0&limit={ limit } " ,
93
+ self = str (
94
+ URL (base_url ).with_query (
95
+ f"some=1&random=4&query=true&offset={ offset } &limit={ limit } "
96
+ )
97
+ ),
98
+ first = str (
99
+ URL (base_url ).with_query (
100
+ f"some=1&random=4&query=true&offset=0&limit={ limit } "
101
+ )
102
+ ),
80
103
prev = None ,
81
- next = f"http://some/random/url.com?some=1&random=4&query=true&offset=9&limit={ limit } " ,
82
- last = f"http://some/random/url.com?some=1&random=4&query=true&offset=27&limit={ limit } " ,
104
+ next = str (
105
+ URL (base_url ).with_query (
106
+ f"some=1&random=4&query=true&offset=9&limit={ limit } "
107
+ )
108
+ ),
109
+ last = str (
110
+ URL (base_url ).with_query (
111
+ f"some=1&random=4&query=true&offset=27&limit={ limit } "
112
+ )
113
+ ),
83
114
)
84
115
85
116
# next "call"s
@@ -100,11 +131,31 @@ def test_paginating_data():
100
131
offset = offset + i * limit ,
101
132
)
102
133
assert model_instance .links == PageLinks (
103
- self = f"http://some/random/url.com?some=1&random=4&query=true&offset={ offset + i * limit } &limit={ limit } " ,
104
- first = f"http://some/random/url.com?some=1&random=4&query=true&offset=0&limit={ limit } " ,
105
- prev = f"http://some/random/url.com?some=1&random=4&query=true&offset={ offset + i * limit - limit } &limit={ limit } " ,
106
- next = f"http://some/random/url.com?some=1&random=4&query=true&offset={ offset + i * limit + limit } &limit={ limit } " ,
107
- last = f"http://some/random/url.com?some=1&random=4&query=true&offset=27&limit={ limit } " ,
134
+ self = str (
135
+ URL (base_url ).with_query (
136
+ f"some=1&random=4&query=true&offset={ offset + i * limit } &limit={ limit } "
137
+ )
138
+ ),
139
+ first = str (
140
+ URL (base_url ).with_query (
141
+ f"some=1&random=4&query=true&offset=0&limit={ limit } "
142
+ )
143
+ ),
144
+ prev = str (
145
+ URL (base_url ).with_query (
146
+ f"some=1&random=4&query=true&offset={ offset + i * limit - limit } &limit={ limit } "
147
+ )
148
+ ),
149
+ next = str (
150
+ URL (base_url ).with_query (
151
+ f"some=1&random=4&query=true&offset={ offset + i * limit + limit } &limit={ limit } "
152
+ )
153
+ ),
154
+ last = str (
155
+ URL (base_url ).with_query (
156
+ f"some=1&random=4&query=true&offset=27&limit={ limit } "
157
+ )
158
+ ),
108
159
)
109
160
110
161
# last "call"
@@ -124,9 +175,25 @@ def test_paginating_data():
124
175
offset = offset + 3 * limit ,
125
176
)
126
177
assert model_instance .links == PageLinks (
127
- self = f"http://some/random/url.com?some=1&random=4&query=true&offset={ offset + 3 * limit } &limit={ limit } " ,
128
- first = f"http://some/random/url.com?some=1&random=4&query=true&offset=0&limit={ limit } " ,
129
- prev = f"http://some/random/url.com?some=1&random=4&query=true&offset=18&limit={ limit } " ,
178
+ self = str (
179
+ URL (base_url ).with_query (
180
+ f"some=1&random=4&query=true&offset={ offset + 3 * limit } &limit={ limit } "
181
+ )
182
+ ),
183
+ first = str (
184
+ URL (base_url ).with_query (
185
+ f"some=1&random=4&query=true&offset=0&limit={ limit } "
186
+ )
187
+ ),
188
+ prev = str (
189
+ URL (base_url ).with_query (
190
+ f"some=1&random=4&query=true&offset=18&limit={ limit } "
191
+ )
192
+ ),
130
193
next = None ,
131
- last = f"http://some/random/url.com?some=1&random=4&query=true&offset=27&limit={ limit } " ,
194
+ last = str (
195
+ URL (base_url ).with_query (
196
+ f"some=1&random=4&query=true&offset=27&limit={ limit } "
197
+ )
198
+ ),
132
199
)
0 commit comments