(self, browser: Browser)
| 149 | assert cookie.has_nonstandard_attr('HttpOnly') is not None |
| 150 | |
| 151 | def test_complex_cookies(self, browser: Browser) -> None: |
| 152 | cookies_jar = CookieJar() |
| 153 | |
| 154 | impit = Client(browser=browser, cookie_jar=cookies_jar, follow_redirects=True) |
| 155 | |
| 156 | url = get_httpbin_url( |
| 157 | '/response-headers', |
| 158 | query={ |
| 159 | 'set-cookie': [ |
| 160 | 'basic=1; Path=/; HttpOnly; SameSite=Lax', |
| 161 | 'withpath=2; Path=/html; SameSite=None', |
| 162 | 'strict=3; Path=/; SameSite=Strict', |
| 163 | 'secure=4; Path=/; HttpOnly; Secure; SameSite=Strict', |
| 164 | 'short=5; Path=/;', |
| 165 | 'domain=6; Path=/; Domain=.127.0.0.1;', |
| 166 | ] |
| 167 | }, |
| 168 | ) |
| 169 | |
| 170 | impit.get(url) |
| 171 | |
| 172 | assert len(cookies_jar) == 6 |
| 173 | for cookie in cookies_jar: |
| 174 | if cookie.name == 'basic': |
| 175 | assert cookie.value == '1' |
| 176 | assert cookie.secure is False |
| 177 | assert cookie.has_nonstandard_attr('HttpOnly') is True |
| 178 | assert cookie.get_nonstandard_attr('SameSite') == 'Lax' |
| 179 | elif cookie.name == 'withpath': |
| 180 | assert cookie.value == '2' |
| 181 | assert cookie.secure is False |
| 182 | assert cookie.get_nonstandard_attr('SameSite') == 'None' |
| 183 | assert cookie.has_nonstandard_attr('HttpOnly') is False |
| 184 | assert cookie.path == '/html' |
| 185 | elif cookie.name == 'strict': |
| 186 | assert cookie.value == '3' |
| 187 | assert cookie.secure is False |
| 188 | assert cookie.has_nonstandard_attr('HttpOnly') is False |
| 189 | assert cookie.get_nonstandard_attr('SameSite') == 'Strict' |
| 190 | elif cookie.name == 'secure': |
| 191 | assert cookie.value == '4' |
| 192 | assert cookie.secure is True |
| 193 | assert cookie.has_nonstandard_attr('HttpOnly') is True |
| 194 | assert cookie.get_nonstandard_attr('SameSite') == 'Strict' |
| 195 | elif cookie.name == 'short': |
| 196 | assert cookie.value == '5' |
| 197 | assert cookie.secure is False |
| 198 | assert cookie.has_nonstandard_attr('SameSite') is False |
| 199 | elif cookie.name == 'domain': |
| 200 | assert cookie.value == '6' |
| 201 | assert cookie.secure is False |
| 202 | # Crate cookies, ignores the starting dot in the domain |
| 203 | # but it's ok - https://www.rfc-editor.org/rfc/rfc6265#section-4.1.2.3 |
| 204 | assert cookie.domain == '127.0.0.1' |
| 205 | |
| 206 | def test_cookie_jar_works(self, browser: Browser) -> None: |
| 207 | cookies = Cookies({'preset-cookie': '123'}) |
nothing calls this directly
no test coverage detected