Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions server/services/datacommons.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ def get_basic_request_headers() -> dict:
UNKNOWN_SURFACE)
if g.get('use_spanner', False):
headers['X-Divert-Spanner'] = 'true'
if should_skip_cache():
headers['X-Skip-Cache'] = 'true'

return headers

Expand Down
15 changes: 15 additions & 0 deletions server/tests/services/datacommons_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

from server.lib.cache import cache
from server.lib.cache import should_skip_cache
from server.services.datacommons import get_basic_request_headers
from server.services.datacommons import nl_search_vars
from server.services.datacommons import nl_search_vars_in_parallel
from server.services.datacommons import v2node_paginated
Expand Down Expand Up @@ -306,6 +307,20 @@ def test_should_skip_cache_with_no_header(self):
with self.app.test_request_context():
self.assertFalse(should_skip_cache())

def test_skip_cache_header_forwarded_to_mixer(self):
true_values = ["true", "TRUE", "True", "tRuE"]
for value in true_values:
with self.subTest(value=value):
with self.app.test_request_context(headers={"X-Skip-Cache": value}):
self.assertEqual(get_basic_request_headers().get("X-Skip-Cache"), "true")

def test_invalid_skip_cache_header_not_forwarded(self):
false_values = ["false", "", "1", "0", "yes", "no", "invalid", "True "]
for value in false_values:
with self.subTest(value=value):
with self.app.test_request_context(headers={"X-Skip-Cache": value}):
self.assertNotIn("X-Skip-Cache", get_basic_request_headers())


class TestServiceDataCommonsNLSearchVarsInParallel(
unittest.IsolatedAsyncioTestCase):
Expand Down
Loading