|
8 | 8 | {"query": "Generic query"},
|
9 | 9 | does_not_raise(),
|
10 | 10 | {"results": [{"content": "Mocked content"}]},
|
11 |
| - "Mocked content", |
| 11 | + "\n\nMocked content\n\n", |
12 | 12 | id="query-only-args",
|
13 | 13 | )
|
14 | 14 | PARSE_ENABLED = pytest.param(
|
15 | 15 | {"query": "Generic query", "parse": True},
|
16 | 16 | does_not_raise(),
|
17 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 17 | + {"results": [{"content": {"data": "value"}}]}, |
18 | 18 | '{"data": "value"}',
|
19 | 19 | id="parse-enabled-args",
|
20 | 20 | )
|
21 |
| -RENDER_HTML = pytest.param( |
| 21 | +RENDER_HTML_WITH_QUERY = pytest.param( |
22 | 22 | {"query": "Generic query", "render": "html"},
|
23 | 23 | does_not_raise(),
|
24 | 24 | {"results": [{"content": "Mocked content"}]},
|
25 |
| - "Mocked content", |
| 25 | + "\n\nMocked content\n\n", |
| 26 | + id="render-enabled-args", |
| 27 | +) |
| 28 | +RENDER_INVALID_WITH_QUERY = pytest.param( |
| 29 | + {"query": "Generic query", "render": "png"}, |
| 30 | + pytest.raises(ToolError), |
| 31 | + {}, |
| 32 | + None, |
26 | 33 | id="render-enabled-args",
|
27 | 34 | )
|
28 | 35 | OUTPUT_FORMATS = [
|
|
54 | 61 | id="html-output-format-args",
|
55 | 62 | ),
|
56 | 63 | ]
|
57 |
| -USER_AGENTS = [ |
| 64 | +USER_AGENTS_WITH_QUERY = [ |
58 | 65 | pytest.param(
|
59 |
| - {"query": "Generic query", "user_agent_type": "mobile"}, |
| 66 | + {"query": "Generic query", "user_agent_type": uat}, |
60 | 67 | does_not_raise(),
|
61 | 68 | {"results": [{"content": "Mocked content"}]},
|
62 |
| - "Mocked content", |
| 69 | + "\n\nMocked content\n\n", |
| 70 | + id=f"{uat}-user-agent-specified-args", |
| 71 | + ) |
| 72 | + for uat in [ |
| 73 | + "desktop", |
| 74 | + "desktop_chrome", |
| 75 | + "desktop_firefox", |
| 76 | + "desktop_safari", |
| 77 | + "desktop_edge", |
| 78 | + "desktop_opera", |
| 79 | + "mobile", |
| 80 | + "mobile_ios", |
| 81 | + "mobile_android", |
| 82 | + "tablet", |
| 83 | + ] |
| 84 | +] |
| 85 | +USER_AGENTS_WITH_URL = [ |
| 86 | + pytest.param( |
| 87 | + {"url": "https://example.com", "user_agent_type": uat}, |
| 88 | + does_not_raise(), |
| 89 | + {"results": [{"content": "Mocked content"}]}, |
| 90 | + "\n\nMocked content\n\n", |
63 | 91 | id=f"{uat}-user-agent-specified-args",
|
64 | 92 | )
|
65 | 93 | for uat in [
|
|
85 | 113 | START_PAGE_SPECIFIED = pytest.param(
|
86 | 114 | {"query": "Generic query", "start_page": 2},
|
87 | 115 | does_not_raise(),
|
88 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 116 | + {"results": [{"content": {"data": "value"}}]}, |
89 | 117 | '{"data": "value"}',
|
90 | 118 | id="start-page-specified-args",
|
91 | 119 | )
|
92 | 120 | START_PAGE_INVALID = pytest.param(
|
93 | 121 | {"query": "Generic query", "start_page": -1},
|
94 | 122 | pytest.raises(ToolError),
|
95 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 123 | + {"results": [{"content": {"data": "value"}}]}, |
96 | 124 | '{"data": "value"}',
|
97 | 125 | id="start-page-invalid-args",
|
98 | 126 | )
|
99 | 127 | PAGES_SPECIFIED = pytest.param(
|
100 | 128 | {"query": "Generic query", "pages": 20},
|
101 | 129 | does_not_raise(),
|
102 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 130 | + {"results": [{"content": {"data": "value"}}]}, |
103 | 131 | '{"data": "value"}',
|
104 | 132 | id="pages-specified-args",
|
105 | 133 | )
|
106 | 134 | PAGES_INVALID = pytest.param(
|
107 | 135 | {"query": "Generic query", "pages": -10},
|
108 | 136 | pytest.raises(ToolError),
|
109 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 137 | + {"results": [{"content": {"data": "value"}}]}, |
110 | 138 | '{"data": "value"}',
|
111 | 139 | id="pages-invalid-args",
|
112 | 140 | )
|
113 | 141 | LIMIT_SPECIFIED = pytest.param(
|
114 | 142 | {"query": "Generic query", "limit": 100},
|
115 | 143 | does_not_raise(),
|
116 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 144 | + {"results": [{"content": {"data": "value"}}]}, |
117 | 145 | '{"data": "value"}',
|
118 | 146 | id="limit-specified-args",
|
119 | 147 | )
|
120 | 148 | LIMIT_INVALID = pytest.param(
|
121 | 149 | {"query": "Generic query", "limit": 0},
|
122 | 150 | pytest.raises(ToolError),
|
123 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 151 | + {"results": [{"content": {"data": "value"}}]}, |
124 | 152 | '{"data": "value"}',
|
125 | 153 | id="limit-invalid-args",
|
126 | 154 | )
|
127 | 155 | DOMAIN_SPECIFIED = pytest.param(
|
128 | 156 | {"query": "Generic query", "domain": "io"},
|
129 | 157 | does_not_raise(),
|
130 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 158 | + {"results": [{"content": {"data": "value"}}]}, |
131 | 159 | '{"data": "value"}',
|
132 | 160 | id="domain-specified-args",
|
133 | 161 | )
|
134 |
| -GEO_LOCATION_SPECIFIED = pytest.param( |
| 162 | +GEO_LOCATION_SPECIFIED_WITH_QUERY = pytest.param( |
135 | 163 | {"query": "Generic query", "geo_location": "Miami, Florida"},
|
136 | 164 | does_not_raise(),
|
137 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 165 | + {"results": [{"content": {"data": "value"}}]}, |
138 | 166 | '{"data": "value"}',
|
139 | 167 | id="geo-location-specified-args",
|
140 | 168 | )
|
| 169 | +GEO_LOCATION_SPECIFIED_WITH_URL = pytest.param( |
| 170 | + {"url": "https://example.com", "geo_location": "Miami, Florida"}, |
| 171 | + does_not_raise(), |
| 172 | + {"results": [{"content": "Mocked content"}]}, |
| 173 | + "\n\nMocked content\n\n", |
| 174 | + id="geo-location-specified-args", |
| 175 | +) |
141 | 176 | LOCALE_SPECIFIED = pytest.param(
|
142 | 177 | {"query": "Generic query", "locale": "ja_JP"},
|
143 | 178 | does_not_raise(),
|
144 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 179 | + {"results": [{"content": {"data": "value"}}]}, |
145 | 180 | '{"data": "value"}',
|
146 | 181 | id="locale-specified-args",
|
147 | 182 | )
|
148 | 183 | CATEGORY_SPECIFIED = pytest.param(
|
149 | 184 | {"query": "Man's T-shirt", "category_id": "QE21R9AV"},
|
150 | 185 | does_not_raise(),
|
151 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 186 | + {"results": [{"content": {"data": "value"}}]}, |
152 | 187 | '{"data": "value"}',
|
153 | 188 | id="category-id-specified-args",
|
154 | 189 | )
|
155 | 190 | MERCHANT_ID_SPECIFIED = pytest.param(
|
156 | 191 | {"query": "Man's T-shirt", "merchant_id": "QE21R9AV"},
|
157 | 192 | does_not_raise(),
|
158 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 193 | + {"results": [{"content": {"data": "value"}}]}, |
159 | 194 | '{"data": "value"}',
|
160 | 195 | id="merchant-id-specified-args",
|
161 | 196 | )
|
162 | 197 | CURRENCY_SPECIFIED = pytest.param(
|
163 | 198 | {"query": "Man's T-shirt", "currency": "USD"},
|
164 | 199 | does_not_raise(),
|
165 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 200 | + {"results": [{"content": {"data": "value"}}]}, |
166 | 201 | '{"data": "value"}',
|
167 | 202 | id="currency-specified-args",
|
168 | 203 | )
|
169 | 204 | AUTOSELECT_VARIANT_ENABLED = pytest.param(
|
170 | 205 | {"query": "B0BVF87BST", "autoselect_variant": True},
|
171 | 206 | does_not_raise(),
|
172 |
| - {"results": [{"content": '{"data": "value"}'}]}, |
| 207 | + {"results": [{"content": {"data": "value"}}]}, |
173 | 208 | '{"data": "value"}',
|
174 | 209 | id="autoselect-variant-enabled-args",
|
175 | 210 | )
|
| 211 | +URL_ONLY = pytest.param( |
| 212 | + {"url": "https://example.com"}, |
| 213 | + does_not_raise(), |
| 214 | + {"results": [{"content": "Mocked content"}]}, |
| 215 | + "\n\nMocked content\n\n", |
| 216 | + id="url-only-args", |
| 217 | +) |
| 218 | +NO_URL = pytest.param( |
| 219 | + {}, |
| 220 | + pytest.raises(ToolError), |
| 221 | + {"results": [{"content": "Mocked content"}]}, |
| 222 | + "\n\nMocked content\n\n", |
| 223 | + id="no-url-args", |
| 224 | +) |
| 225 | +RENDER_HTML_WITH_URL = pytest.param( |
| 226 | + {"url": "https://example.com", "render": "html"}, |
| 227 | + does_not_raise(), |
| 228 | + {"results": [{"content": "Mocked content"}]}, |
| 229 | + "\n\nMocked content\n\n", |
| 230 | + id="render-enabled-args", |
| 231 | +) |
| 232 | +RENDER_INVALID_WITH_URL = pytest.param( |
| 233 | + {"url": "https://example.com", "render": "png"}, |
| 234 | + pytest.raises(ToolError), |
| 235 | + {}, |
| 236 | + None, |
| 237 | + id="render-enabled-args", |
| 238 | +) |
0 commit comments