Merge "Add tests for filters and url2list"
This commit is contained in:
commit
05e38cf039
valence
@ -55,12 +55,11 @@ def send_request(resource, method="GET", **kwargs):
|
||||
def filter_chassis(jsonContent, filterCondition):
|
||||
returnJSONObj = {}
|
||||
returnMembers = []
|
||||
parsed = json.loads(jsonContent)
|
||||
members = parsed['Members']
|
||||
members = jsonContent['Members']
|
||||
for member in members:
|
||||
resource = member['@odata.id']
|
||||
resp = send_request(resource)
|
||||
memberJsonObj = json.loads(resp.json())
|
||||
memberJsonObj = resp.json()
|
||||
chassisType = memberJsonObj['ChassisType']
|
||||
if chassisType == filterCondition:
|
||||
returnMembers.append(member)
|
||||
@ -96,13 +95,15 @@ def generic_filter(jsonContent, filterConditions):
|
||||
|
||||
|
||||
def racks():
|
||||
jsonContent = send_request('Chassis')
|
||||
resp = send_request('Chassis')
|
||||
jsonContent = resp.json()
|
||||
racks = filter_chassis(jsonContent, 'Rack')
|
||||
return json.dumps(racks)
|
||||
|
||||
|
||||
def pods():
|
||||
jsonContent = send_request('Chassis')
|
||||
resp = send_request('Chassis')
|
||||
jsonContent = resp.json()
|
||||
pods = filter_chassis(jsonContent, 'Pod')
|
||||
return json.dumps(pods)
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import json
|
||||
|
||||
|
||||
def mock_request_get(json_data, status_code):
|
||||
|
||||
@ -21,7 +19,7 @@ def mock_request_get(json_data, status_code):
|
||||
self.status_code = status_code
|
||||
|
||||
def json(self):
|
||||
return json.dumps(self.json_data)
|
||||
return self.json_data
|
||||
|
||||
return MockResponse(json_data, status_code)
|
||||
|
||||
|
@ -45,13 +45,48 @@ class TestRedfish(TestCase):
|
||||
mock_request.side_effect = [first_request,
|
||||
second_request,
|
||||
third_request]
|
||||
chassis = ('{"Members":'
|
||||
'[{"@odata.id": "1"},'
|
||||
'{"@odata.id": "2"},'
|
||||
'{"@odata.id": "3"}]}')
|
||||
chassis = {"Members":
|
||||
[{"@odata.id": "1"},
|
||||
{"@odata.id": "2"},
|
||||
{"@odata.id": "3"}]}
|
||||
expected = {'Members': [
|
||||
{u'@odata.id': u'2'},
|
||||
{u'@odata.id': u'3'}
|
||||
], 'Members@odata.count': 2}
|
||||
result = redfish.filter_chassis(chassis, "Rack")
|
||||
self.assertEqual(expected, result)
|
||||
|
||||
def test_generic_filter(self):
|
||||
filter_condition = {"Id": "1"}
|
||||
json_content_pass = {"Name": "Pass",
|
||||
"Id": "1"}
|
||||
result = redfish.generic_filter(json_content_pass,
|
||||
filter_condition)
|
||||
self.assertTrue(result)
|
||||
json_content_fail = {"Name": "Fail",
|
||||
"Id": "2"}
|
||||
result = redfish.generic_filter(json_content_fail,
|
||||
filter_condition)
|
||||
self.assertFalse(result)
|
||||
json_content_fail_2 = {"Name": "Fail2"}
|
||||
result = redfish.generic_filter(json_content_fail_2,
|
||||
filter_condition)
|
||||
self.assertFalse(result)
|
||||
|
||||
@mock.patch('valence.redfish.redfish.send_request')
|
||||
def test_urls2list_no_members(self, mock_request):
|
||||
resp = {"Name": "NoMembers", "Id": 1}
|
||||
mock_request.return_value = fakes.mock_request_get(resp, "200")
|
||||
result = redfish.urls2list('/redfish/v1/test')
|
||||
self.assertEqual([], result)
|
||||
|
||||
@mock.patch('valence.redfish.redfish.send_request')
|
||||
def test_urls2list_members(self, mock_request):
|
||||
resp = {"Name": "Members", "Id": 1,
|
||||
"Members":
|
||||
[{"@odata.id": "/redfish/v1/Member/1"},
|
||||
{"@odata.id": "/redfish/v1/Member/2"}]}
|
||||
mock_request.return_value = fakes.mock_request_get(resp, "200")
|
||||
expected = ["/redfish/v1/Member/1", "/redfish/v1/Member/2"]
|
||||
result = redfish.urls2list('/redfish/v1/test')
|
||||
self.assertEqual(expected, result)
|
||||
|
Loading…
x
Reference in New Issue
Block a user