Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Add header for opting into correct URL decoding" #274

Merged
merged 1 commit into from
Mar 27, 2019
Merged
Show file tree
Hide file tree
Changes from all 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
5 changes: 2 additions & 3 deletions firebase_admin/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@


_DB_ATTRIBUTE = '_database'
_INVALID_PATH_CHARACTERS = '[].#$'
_INVALID_PATH_CHARACTERS = '[].?#$'
_RESERVED_FILTERS = ('$key', '$value', '$priority')
_USER_AGENT = 'Firebase/HTTP/{0}/{1}.{2}/AdminPython'.format(
firebase_admin.__version__, sys.version_info.major, sys.version_info.minor)
Expand Down Expand Up @@ -849,8 +849,7 @@ def __init__(self, credential, base_url, auth_override, timeout):
timeout, which is the default behavior of the underlying requests library.
"""
_http_client.JsonHttpClient.__init__(
self, credential=credential, base_url=base_url,
headers={'User-Agent': _USER_AGENT, 'X-Firebase-Decoding': '1'})
self, credential=credential, base_url=base_url, headers={'User-Agent': _USER_AGENT})
self.credential = credential
self.auth_override = auth_override
self.timeout = timeout
Expand Down
19 changes: 0 additions & 19 deletions tests/test_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,6 @@ def test_get_value(self, data):
assert recorder[0].url == 'https://test.firebaseio.com/test.json'
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['User-Agent'] == db._USER_AGENT
assert recorder[0].headers['X-Firebase-Decoding'] == '1'
assert 'X-Firebase-ETag' not in recorder[0].headers

@pytest.mark.parametrize('data', valid_values)
Expand All @@ -170,7 +169,6 @@ def test_get_with_etag(self, data):
assert recorder[0].url == 'https://test.firebaseio.com/test.json'
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['User-Agent'] == db._USER_AGENT
assert recorder[0].headers['X-Firebase-Decoding'] == '1'
assert recorder[0].headers['X-Firebase-ETag'] == 'true'

@pytest.mark.parametrize('data', valid_values)
Expand All @@ -182,7 +180,6 @@ def test_get_shallow(self, data):
assert recorder[0].method == 'GET'
assert recorder[0].url == 'https://test.firebaseio.com/test.json?shallow=true'
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['X-Firebase-Decoding'] == '1'
assert recorder[0].headers['User-Agent'] == db._USER_AGENT

def test_get_with_etag_and_shallow(self):
Expand All @@ -200,14 +197,12 @@ def test_get_if_changed(self, data):
assert recorder[0].method == 'GET'
assert recorder[0].url == 'https://test.firebaseio.com/test.json'
assert recorder[0].headers['if-none-match'] == 'invalid-etag'
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

assert ref.get_if_changed(MockAdapter.ETAG) == (False, None, None)
assert len(recorder) == 2
assert recorder[1].method == 'GET'
assert recorder[1].url == 'https://test.firebaseio.com/test.json'
assert recorder[1].headers['if-none-match'] == MockAdapter.ETAG
assert recorder[1].headers['X-Firebase-Decoding'] == '1'

@pytest.mark.parametrize('etag', [0, 1, True, False, dict(), list(), tuple()])
def test_get_if_changed_invalid_etag(self, etag):
Expand All @@ -226,7 +221,6 @@ def test_order_by_query(self, data):
assert recorder[0].method == 'GET'
assert recorder[0].url == 'https://test.firebaseio.com/test.json?' + query_str
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

@pytest.mark.parametrize('data', valid_values)
def test_limit_query(self, data):
Expand All @@ -240,7 +234,6 @@ def test_limit_query(self, data):
assert recorder[0].method == 'GET'
assert recorder[0].url == 'https://test.firebaseio.com/test.json?' + query_str
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

@pytest.mark.parametrize('data', valid_values)
def test_range_query(self, data):
Expand All @@ -255,7 +248,6 @@ def test_range_query(self, data):
assert recorder[0].method == 'GET'
assert recorder[0].url == 'https://test.firebaseio.com/test.json?' + query_str
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

@pytest.mark.parametrize('data', valid_values)
def test_set_value(self, data):
Expand All @@ -267,7 +259,6 @@ def test_set_value(self, data):
assert recorder[0].url == 'https://test.firebaseio.com/test.json?print=silent'
assert json.loads(recorder[0].body.decode()) == data
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

def test_set_none_value(self):
ref = db.reference('/test')
Expand All @@ -294,7 +285,6 @@ def test_update_children(self, data):
assert recorder[0].url == 'https://test.firebaseio.com/test.json?print=silent'
assert json.loads(recorder[0].body.decode()) == data
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

@pytest.mark.parametrize('data', valid_values)
def test_set_if_unchanged_success(self, data):
Expand All @@ -308,7 +298,6 @@ def test_set_if_unchanged_success(self, data):
assert json.loads(recorder[0].body.decode()) == data
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['if-match'] == MockAdapter.ETAG
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

@pytest.mark.parametrize('data', valid_values)
def test_set_if_unchanged_failure(self, data):
Expand All @@ -322,7 +311,6 @@ def test_set_if_unchanged_failure(self, data):
assert json.loads(recorder[0].body.decode()) == data
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['if-match'] == 'invalid-etag'
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

@pytest.mark.parametrize('etag', [0, 1, True, False, dict(), list(), tuple()])
def test_set_if_unchanged_invalid_etag(self, etag):
Expand Down Expand Up @@ -368,7 +356,6 @@ def test_push(self, data):
assert json.loads(recorder[0].body.decode()) == data
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['User-Agent'] == db._USER_AGENT
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

def test_push_default(self):
ref = db.reference('/test')
Expand All @@ -380,7 +367,6 @@ def test_push_default(self):
assert json.loads(recorder[0].body.decode()) == ''
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['User-Agent'] == db._USER_AGENT
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

def test_push_none_value(self):
ref = db.reference('/test')
Expand All @@ -397,7 +383,6 @@ def test_delete(self):
assert recorder[0].url == 'https://test.firebaseio.com/test.json'
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['User-Agent'] == db._USER_AGENT
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

def test_transaction(self):
ref = db.reference('/test')
Expand Down Expand Up @@ -583,7 +568,6 @@ def test_get_value(self):
assert recorder[0].url == 'https://test.firebaseio.com/test.json?' + query_str
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['User-Agent'] == db._USER_AGENT
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

def test_set_value(self):
ref = db.reference('/test')
Expand All @@ -597,7 +581,6 @@ def test_set_value(self):
assert json.loads(recorder[0].body.decode()) == data
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['User-Agent'] == db._USER_AGENT
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

def test_order_by_query(self):
ref = db.reference('/test')
Expand All @@ -610,7 +593,6 @@ def test_order_by_query(self):
assert recorder[0].url == 'https://test.firebaseio.com/test.json?' + query_str
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['User-Agent'] == db._USER_AGENT
assert recorder[0].headers['X-Firebase-Decoding'] == '1'

def test_range_query(self):
ref = db.reference('/test')
Expand All @@ -624,7 +606,6 @@ def test_range_query(self):
assert recorder[0].url == 'https://test.firebaseio.com/test.json?' + query_str
assert recorder[0].headers['Authorization'] == 'Bearer mock-token'
assert recorder[0].headers['User-Agent'] == db._USER_AGENT
assert recorder[0].headers['X-Firebase-Decoding'] == '1'


class TestDatabaseInitialization(object):
Expand Down