Commit 9871d361 authored by Serge S. Koval's avatar Serge S. Koval

Merge pull request #719 from pawl/newfiltersmongoengine

fix "In List" integer/float filter validation
parents 93fe7c5a 3bb53fb4
...@@ -150,11 +150,11 @@ class IntSmallerFilter(FilterSmaller, filters.BaseIntFilter): ...@@ -150,11 +150,11 @@ class IntSmallerFilter(FilterSmaller, filters.BaseIntFilter):
pass pass
class IntInListFilter(FilterInList, filters.BaseIntListFilter): class IntInListFilter(filters.BaseIntListFilter, FilterInList):
pass pass
class IntNotInListFilter(FilterNotInList, filters.BaseIntListFilter): class IntNotInListFilter(filters.BaseIntListFilter, FilterNotInList):
pass pass
...@@ -174,11 +174,11 @@ class FloatSmallerFilter(FilterSmaller, filters.BaseFloatFilter): ...@@ -174,11 +174,11 @@ class FloatSmallerFilter(FilterSmaller, filters.BaseFloatFilter):
pass pass
class FloatInListFilter(FilterInList, filters.BaseFloatListFilter): class FloatInListFilter(filters.BaseFloatListFilter, FilterInList):
pass pass
class FloatNotInListFilter(FilterNotInList, filters.BaseFloatListFilter): class FloatNotInListFilter(filters.BaseFloatListFilter, FilterNotInList):
pass pass
......
...@@ -139,11 +139,11 @@ class IntSmallerFilter(FilterSmaller, filters.BaseIntFilter): ...@@ -139,11 +139,11 @@ class IntSmallerFilter(FilterSmaller, filters.BaseIntFilter):
pass pass
class IntInListFilter(FilterInList, filters.BaseIntListFilter): class IntInListFilter(filters.BaseIntListFilter, FilterInList):
pass pass
class IntNotInListFilter(FilterNotInList, filters.BaseIntListFilter): class IntNotInListFilter(filters.BaseIntListFilter, FilterNotInList):
pass pass
...@@ -163,11 +163,11 @@ class FloatSmallerFilter(FilterSmaller, filters.BaseFloatFilter): ...@@ -163,11 +163,11 @@ class FloatSmallerFilter(FilterSmaller, filters.BaseFloatFilter):
pass pass
class FloatInListFilter(FilterInList, filters.BaseFloatListFilter): class FloatInListFilter(filters.BaseFloatListFilter, FilterInList):
pass pass
class FloatNotInListFilter(FilterNotInList, filters.BaseFloatListFilter): class FloatNotInListFilter(filters.BaseFloatListFilter, FilterNotInList):
pass pass
......
...@@ -139,11 +139,11 @@ class IntSmallerFilter(FilterSmaller, filters.BaseIntFilter): ...@@ -139,11 +139,11 @@ class IntSmallerFilter(FilterSmaller, filters.BaseIntFilter):
pass pass
class IntInListFilter(FilterInList, filters.BaseIntListFilter): class IntInListFilter(filters.BaseIntListFilter, FilterInList):
pass pass
class IntNotInListFilter(FilterNotInList, filters.BaseIntListFilter): class IntNotInListFilter(filters.BaseIntListFilter, FilterNotInList):
pass pass
...@@ -163,11 +163,11 @@ class FloatSmallerFilter(FilterSmaller, filters.BaseFloatFilter): ...@@ -163,11 +163,11 @@ class FloatSmallerFilter(FilterSmaller, filters.BaseFloatFilter):
pass pass
class FloatInListFilter(FilterInList, filters.BaseFloatListFilter): class FloatInListFilter(filters.BaseFloatListFilter, FilterInList):
pass pass
class FloatNotInListFilter(FilterNotInList, filters.BaseFloatListFilter): class FloatNotInListFilter(filters.BaseFloatListFilter, FilterNotInList):
pass pass
......
...@@ -248,6 +248,12 @@ def test_column_filters(): ...@@ -248,6 +248,12 @@ def test_column_filters():
ok_('string_field_val_3' in data) ok_('string_field_val_3' in data)
ok_('string_field_val_4' not in data) ok_('string_field_val_4' not in data)
# integer - equals - test validation
rv = client.get('/admin/model2/?flt0_0=badval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# integer - not equal # integer - not equal
rv = client.get('/admin/model2/?flt0_1=5000') rv = client.get('/admin/model2/?flt0_1=5000')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -296,6 +302,12 @@ def test_column_filters(): ...@@ -296,6 +302,12 @@ def test_column_filters():
ok_('string_field_val_3' in data) ok_('string_field_val_3' in data)
ok_('string_field_val_4' in data) ok_('string_field_val_4' in data)
# integer - in list - test validation
rv = client.get('/admin/model2/?flt0_5=5000%2Cbadval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# integer - not in list # integer - not in list
rv = client.get('/admin/model2/?flt0_6=5000%2C9000') rv = client.get('/admin/model2/?flt0_6=5000%2C9000')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -328,6 +340,12 @@ def test_column_filters(): ...@@ -328,6 +340,12 @@ def test_column_filters():
ok_('string_field_val_3' in data) ok_('string_field_val_3' in data)
ok_('string_field_val_4' not in data) ok_('string_field_val_4' not in data)
# float - equals - test validation
rv = client.get('/admin/_float/?flt0_0=badval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# float - not equal # float - not equal
rv = client.get('/admin/_float/?flt0_1=25.9') rv = client.get('/admin/_float/?flt0_1=25.9')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -376,6 +394,12 @@ def test_column_filters(): ...@@ -376,6 +394,12 @@ def test_column_filters():
ok_('string_field_val_3' in data) ok_('string_field_val_3' in data)
ok_('string_field_val_4' in data) ok_('string_field_val_4' in data)
# float - in list - test validation
rv = client.get('/admin/_float/?flt0_5=25.9%2Cbadval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# float - not in list # float - not in list
rv = client.get('/admin/_float/?flt0_6=25.9%2C75.5') rv = client.get('/admin/_float/?flt0_6=25.9%2C75.5')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
......
...@@ -281,6 +281,12 @@ def test_column_filters(): ...@@ -281,6 +281,12 @@ def test_column_filters():
ok_('char_field_val_3' in data) ok_('char_field_val_3' in data)
ok_('char_field_val_4' not in data) ok_('char_field_val_4' not in data)
# integer - equals - test validation
rv = client.get('/admin/model2/?flt0_0=badval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# integer - not equal # integer - not equal
rv = client.get('/admin/model2/?flt0_1=5000') rv = client.get('/admin/model2/?flt0_1=5000')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -329,6 +335,12 @@ def test_column_filters(): ...@@ -329,6 +335,12 @@ def test_column_filters():
ok_('char_field_val_3' in data) ok_('char_field_val_3' in data)
ok_('char_field_val_4' in data) ok_('char_field_val_4' in data)
# integer - in list - test validation
rv = client.get('/admin/model2/?flt0_5=5000%2Cbadval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# integer - not in list # integer - not in list
rv = client.get('/admin/model2/?flt0_6=5000%2C9000') rv = client.get('/admin/model2/?flt0_6=5000%2C9000')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -361,6 +373,12 @@ def test_column_filters(): ...@@ -361,6 +373,12 @@ def test_column_filters():
ok_('char_field_val_3' in data) ok_('char_field_val_3' in data)
ok_('char_field_val_4' not in data) ok_('char_field_val_4' not in data)
# float - equals - test validation
rv = client.get('/admin/_float/?flt0_0=badval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# float - not equal # float - not equal
rv = client.get('/admin/_float/?flt0_1=25.9') rv = client.get('/admin/_float/?flt0_1=25.9')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -409,6 +427,12 @@ def test_column_filters(): ...@@ -409,6 +427,12 @@ def test_column_filters():
ok_('char_field_val_3' in data) ok_('char_field_val_3' in data)
ok_('char_field_val_4' in data) ok_('char_field_val_4' in data)
# float - in list - test validation
rv = client.get('/admin/_float/?flt0_5=25.9%2Cbadval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# float - not in list # float - not in list
rv = client.get('/admin/_float/?flt0_6=25.9%2C75.5') rv = client.get('/admin/_float/?flt0_6=25.9%2C75.5')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
......
...@@ -527,6 +527,12 @@ def test_column_filters(): ...@@ -527,6 +527,12 @@ def test_column_filters():
ok_('test2_val_3' in data) ok_('test2_val_3' in data)
ok_('test2_val_4' not in data) ok_('test2_val_4' not in data)
# integer - equals - test validation
rv = client.get('/admin/model2/?flt0_0=badval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# integer - not equal # integer - not equal
rv = client.get('/admin/model2/?flt0_1=5000') rv = client.get('/admin/model2/?flt0_1=5000')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -575,6 +581,12 @@ def test_column_filters(): ...@@ -575,6 +581,12 @@ def test_column_filters():
ok_('test2_val_3' in data) ok_('test2_val_3' in data)
ok_('test2_val_4' in data) ok_('test2_val_4' in data)
# integer - in list - test validation
rv = client.get('/admin/model2/?flt0_5=5000%2Cbadval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# integer - not in list # integer - not in list
rv = client.get('/admin/model2/?flt0_6=5000%2C9000') rv = client.get('/admin/model2/?flt0_6=5000%2C9000')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -607,6 +619,12 @@ def test_column_filters(): ...@@ -607,6 +619,12 @@ def test_column_filters():
ok_('test2_val_3' in data) ok_('test2_val_3' in data)
ok_('test2_val_4' not in data) ok_('test2_val_4' not in data)
# float - equals - test validation
rv = client.get('/admin/_float/?flt0_0=badval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# float - not equal # float - not equal
rv = client.get('/admin/_float/?flt0_1=25.9') rv = client.get('/admin/_float/?flt0_1=25.9')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -655,6 +673,12 @@ def test_column_filters(): ...@@ -655,6 +673,12 @@ def test_column_filters():
ok_('test2_val_3' in data) ok_('test2_val_3' in data)
ok_('test2_val_4' in data) ok_('test2_val_4' in data)
# float - in list - test validation
rv = client.get('/admin/_float/?flt0_5=25.9%2Cbadval')
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_('Invalid Filter Value' in data)
# float - not in list # float - not in list
rv = client.get('/admin/_float/?flt0_6=25.9%2C75.5') rv = client.get('/admin/_float/?flt0_6=25.9%2C75.5')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment