Skip to content

Commit

Permalink
narrow down the patching scope of the ratelimit config
Browse files Browse the repository at this point in the history
  • Loading branch information
shtlrs authored and supakeen committed Mar 20, 2024
1 parent ae557a7 commit b732e87
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 26 deletions.
16 changes: 9 additions & 7 deletions test/integration/test_http_api.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
import json
import copy
import urllib.parse

import unittest.mock
import tornado.testing
import tornado.web

from pinnwand.configuration import Configuration, ConfigurationProvider
from pinnwand import app, utility
from pinnwand.database import manager, utils as database_utils

configuration: Configuration = ConfigurationProvider.get_config()

configuration._ratelimit["read"]["capacity"] = 2**64 - 1
configuration._ratelimit["create"]["capacity"] = 2**64 - 1
configuration._ratelimit["delete"]["capacity"] = 2**64 - 1

from pinnwand import app, utility
from pinnwand.database import manager, utils as database_utils
ratelimit_copy = copy.deepcopy(configuration._ratelimit)
for area in ("read", "create", "delete"):
ratelimit_copy[area]["capacity"] = 2**64 - 1


@unittest.mock.patch.dict(configuration._ratelimit, ratelimit_copy)
class DeprecatedAPITestCase(tornado.testing.AsyncHTTPTestCase):
def setUp(self) -> None:
super().setUp()
Expand Down Expand Up @@ -117,7 +120,6 @@ def test_api_new_small_file(self) -> None:
),
)

print(response.body)
assert response.code == 200

def test_api_new_large_file(self) -> None:
Expand Down
21 changes: 9 additions & 12 deletions test/integration/test_http_curl.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
import re
import urllib.parse

import unittest.mock
import tornado.testing
import tornado.web

import copy
from pinnwand.configuration import Configuration, ConfigurationProvider
configuration: Configuration = ConfigurationProvider.get_config()

configuration._ratelimit["read"]["capacity"] = 2**64 - 1
configuration._ratelimit["create"]["capacity"] = 2**64 - 1
configuration._ratelimit["delete"]["capacity"] = 2**64 - 1

from pinnwand import app
from pinnwand.database import manager, utils as database_utils

configuration: Configuration = ConfigurationProvider.get_config()

ratelimit_copy = copy.deepcopy(configuration._ratelimit)
for area in ("read", "create", "delete"):
ratelimit_copy[area]["capacity"] = 2**64 - 1


@unittest.mock.patch.dict(configuration._ratelimit, ratelimit_copy)
class CurlTestCase(tornado.testing.AsyncHTTPTestCase):
def setUp(self) -> None:
super().setUp()
Expand Down Expand Up @@ -131,7 +133,6 @@ def test_curl_show(self) -> None:
.group(1) # type: ignore
.decode("ascii")
)
print(paste)
paste = urllib.parse.urlparse(paste).path

response = self.fetch(
Expand All @@ -157,8 +158,6 @@ def test_curl_raw(self) -> None:
)
paste = urllib.parse.urlparse(paste).path

print(repr(paste))

response = self.fetch(
paste,
method="GET",
Expand Down Expand Up @@ -262,8 +261,6 @@ def test_curl_raw_spaced(self) -> None:
follow_redirects=False,
)

print(response.body)

paste = (
re.search(b"Paste URL: (.*)", response.body)
.group(1) # type: ignore
Expand Down
16 changes: 9 additions & 7 deletions test/integration/test_http_website.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
import urllib.parse

import unittest.mock
import tornado.testing
import tornado.web

import copy

from pinnwand.configuration import Configuration, ConfigurationProvider
from pinnwand import app
from pinnwand.database import manager, utils as database_utils

configuration: Configuration = ConfigurationProvider.get_config()

configuration._ratelimit["read"]["capacity"] = 2**64 - 1
configuration._ratelimit["create"]["capacity"] = 2**64 - 1
configuration._ratelimit["delete"]["capacity"] = 2**64 - 1

from pinnwand import app
from pinnwand.database import manager, utils as database_utils
ratelimit_copy = copy.deepcopy(configuration._ratelimit)
for area in ("read", "create", "delete"):
ratelimit_copy[area]["capacity"] = 2**64 - 1


@unittest.mock.patch.dict(configuration._ratelimit, ratelimit_copy)
class WebsiteTestCase(tornado.testing.AsyncHTTPTestCase):
def setUp(self) -> None:
super().setUp()
Expand Down

0 comments on commit b732e87

Please sign in to comment.