79 lines
2 KiB
Python
79 lines
2 KiB
Python
"""Test for the cli componenets"""
|
|
# pylint: disable=redefined-outer-name, no-name-in-module, unused-import
|
|
|
|
import json
|
|
|
|
import pytest
|
|
import requests
|
|
|
|
import redfish_cli.cli
|
|
from redfish_cli import api
|
|
from redfish_cli.api import storage
|
|
|
|
|
|
from ..utils import get_test_json, MockResponse, MockRedfishResponse
|
|
|
|
from .test_cli import secrets
|
|
|
|
|
|
def test_chassis(capsys, monkeypatch, secrets):
|
|
"""Test the cli chassis command"""
|
|
|
|
def mock_get(*args, **kwargs):
|
|
# pylint: disable=unused-argument
|
|
mock_redfish = MockRedfishResponse()
|
|
mock_redfish.json_dict = get_test_json("cli_chassis.json")
|
|
return MockResponse(status_code=200, content=mock_redfish.text)
|
|
|
|
monkeypatch.setattr(requests, "get", mock_get)
|
|
|
|
args = redfish_cli.cli.parse_args(
|
|
[
|
|
"-s",
|
|
secrets["server"],
|
|
"-f",
|
|
"json",
|
|
"chassis",
|
|
"-p",
|
|
secrets["password"],
|
|
"-u",
|
|
secrets["username"],
|
|
]
|
|
)
|
|
redfish_cli.cli.chassis(args)
|
|
captured = capsys.readouterr()
|
|
result = json.loads(captured.out)
|
|
assert result["@odata.id"] == "/redfish/v1/Chassis/System.Embedded.1"
|
|
|
|
|
|
def test_get_chassis_details(capsys, monkeypatch):
|
|
"""Test the cli chassis-details command"""
|
|
_json = get_test_json("cli_chassis_details.json")
|
|
monkeypatch.setattr(
|
|
requests,
|
|
"get",
|
|
lambda *args, **kwargs: MockResponse(
|
|
content=json.dumps(_json), status_code=200
|
|
),
|
|
)
|
|
|
|
args = redfish_cli.cli.parse_args(
|
|
[
|
|
"-s",
|
|
"172.1.0.1",
|
|
"-f",
|
|
"json",
|
|
"chassis",
|
|
"--username",
|
|
"root",
|
|
"-p",
|
|
"password",
|
|
"show",
|
|
"-c",
|
|
"System.Embedded.1",
|
|
]
|
|
)
|
|
redfish_cli.cli.redfish(args=args)
|
|
# captured = capsys.readouterr()
|
|
result = json.loads(capsys.readouterr().out)
|
|
assert result["Name"] == "Computer System Chassis"
|