forked from red-hat-storage/errata-tool
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add ErrataConnector::get_filter() helper method
- helper method to implement general filter query pattern - add support for release/product difference in nesting filter parameters - support for paginated requests - basic unittest for filter helper based on usage Works with the following et.get_filter('/api/v1/releases', 'filter', is_active="true", enabled="true", name='OpenStack 14.0.z for RHEL 7') works with the following et.get_filter('/errata', 'errata_filter[filter_params]', show_type_RHBA=1, show_type_RHEA=1, show_type_RHSA=1, show_state_NEW_FILES=1, show_state_QE=1, show_state_REL_PREP=1,show_state_PUSH_READY=1, open_closed_option='exclude', release=856) Note: errata endpoint releases and products have to be special handled to include extra [] and multiple entries if you want them Related: red-hat-storage#132
- Loading branch information
Showing
3 changed files
with
75 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
import requests | ||
|
||
|
||
class TestFilter(object): | ||
|
||
def test_filter_none(self, sample_connector): | ||
assert sample_connector.get_filter(None, None) is None | ||
|
||
def test_filter_sample(self, sample_connector): | ||
assert sample_connector.get_filter( | ||
'/api/v1/releases', 'filter', name='rhceph-3.1') | ||
|
||
def test_filter_sample_check_url(self, monkeypatch, mock_get, | ||
sample_connector): | ||
monkeypatch.setattr(requests, 'get', mock_get) | ||
assert sample_connector.get_filter( | ||
'/api/v1/releases', 'filter', name='rhceph-3.1') | ||
assert 'page' not in mock_get.response.url | ||
|
||
def test_filter_url_paginated_false(self, monkeypatch, | ||
mock_get, sample_connector): | ||
monkeypatch.setattr(requests, 'get', mock_get) | ||
assert sample_connector.get_filter( | ||
'/api/v1/releases', 'filter', name='rhceph-3.1', paginated=False) | ||
assert 'page' not in mock_get.response.url | ||
|
||
def test_filter_sample_check_url_paginated(self, monkeypatch, mock_get, | ||
sample_connector): | ||
monkeypatch.setattr(requests, 'get', mock_get) | ||
assert sample_connector.get_filter( | ||
'/api/v1/external_tests/', 'filter', errata_id='33840', | ||
test_type='rpmdiff', active='true', paginated=True) | ||
assert 'page' in mock_get.response.url |