134 lines
5.6 KiB
Python
134 lines
5.6 KiB
Python
"""
|
|
Functional tests for the command to show the DCPMMs
|
|
"""
|
|
from __future__ import absolute_import
|
|
|
|
import sys
|
|
|
|
import pytest
|
|
from jsonpointer import resolve_pointer
|
|
from pmemtests.functional.conftest import RestClient
|
|
|
|
from rdmc_helper import ReturnCodes
|
|
|
|
|
|
class TestShowDcPmemCommand(object):
|
|
"""Class for functional tests for the command to enable and disable the scalable pmem feature"""
|
|
|
|
@staticmethod
|
|
def test_show_invalid_flag(ilorest):
|
|
""" test function call with invalid flag """
|
|
results = ilorest.run(['showdcpmm', '--bad-flag'])
|
|
sys.stdout.write("results.stdout: ")
|
|
sys.stdout.write(results.stdout)
|
|
sys.stdout.write("results.stderr: ")
|
|
sys.stdout.write(results.stderr)
|
|
assert results.retcode == ReturnCodes.INVALID_COMMAND_LINE_ERROR
|
|
|
|
@staticmethod
|
|
def test_show_help_flag(ilorest):
|
|
""" test function call with help flag """
|
|
results = ilorest.run(['showdcpmm', '-h'])
|
|
sys.stdout.write("results.stdout: ")
|
|
sys.stdout.write(results.stdout)
|
|
sys.stdout.write("results.stderr: ")
|
|
sys.stdout.write(results.stderr)
|
|
assert results.retcode == ReturnCodes.SUCCESS
|
|
|
|
@staticmethod
|
|
def test_showdcpmm_no_flag(ilorest, dl360_large):
|
|
"""Test for the case when `showdcpmm` command is run without any flag"""
|
|
url, username, password = dl360_large.config
|
|
with ilorest.session(url, username, password):
|
|
results = ilorest.run(['showdcpmm'])
|
|
sys.stdout.write("results.stdout: ")
|
|
sys.stdout.write(results.stdout)
|
|
sys.stdout.write("results.stderr: ")
|
|
sys.stdout.write(results.stderr)
|
|
assert results.retcode == ReturnCodes.SUCCESS
|
|
|
|
@staticmethod
|
|
def test_showdcpmm_dimm_flag_1(ilorest):
|
|
"""Test for the case when `showdcpmm` command is run with dimm flag"""
|
|
results = ilorest.run(['showdcpmm', '--dimm'])
|
|
sys.stdout.write("results.stdout: ")
|
|
sys.stdout.write(results.stdout)
|
|
sys.stdout.write("results.stderr: ")
|
|
sys.stdout.write(results.stderr)
|
|
assert results.retcode == ReturnCodes.INVALID_COMMAND_LINE_ERROR
|
|
|
|
@staticmethod
|
|
def test_showdcpmm_dimm_flag_2(ilorest, dl360_large):
|
|
"""Test for the case when `showdcpmm` command is run with dimm flag"""
|
|
url, username, password = dl360_large.config
|
|
with ilorest.session(url, username, password):
|
|
results = ilorest.run(['showdcpmm', '--dimm', '1@2'])
|
|
sys.stdout.write("results.stdout: ")
|
|
sys.stdout.write(results.stdout)
|
|
sys.stdout.write("results.stderr: ")
|
|
sys.stdout.write(results.stderr)
|
|
assert results.retcode == ReturnCodes.SUCCESS
|
|
|
|
@staticmethod
|
|
def test_showdcpmm_dimm_flag_3(ilorest, dl360_large):
|
|
"""Test for the case when `showdcpmm` command is run with dimm flag"""
|
|
url, username, password = dl360_large.config
|
|
with ilorest.session(url, username, password):
|
|
results = ilorest.run(['showdcpmm', '--dimm', '1@2', '2@3'])
|
|
sys.stdout.write("results.stdout: ")
|
|
sys.stdout.write(results.stdout)
|
|
sys.stdout.write("results.stderr: ")
|
|
sys.stdout.write(results.stderr)
|
|
assert results.retcode == ReturnCodes.INVALID_COMMAND_LINE_ERROR
|
|
|
|
@staticmethod
|
|
@pytest.mark.skip(reason="temporarily remove display flag")
|
|
def test_all_and_display_flags(ilorest):
|
|
"""Test for the case when --all and --display flags are specified together"""
|
|
results = ilorest.run(['showdcpmm', '--all', '--display', 'xyz'])
|
|
sys.stdout.write("results.stdout: ")
|
|
sys.stdout.write(results.stdout)
|
|
sys.stdout.write("results.stderr: ")
|
|
sys.stdout.write(results.stderr)
|
|
assert results.retcode == ReturnCodes.INVALID_COMMAND_LINE_ERROR
|
|
|
|
@staticmethod
|
|
def test_device_and_config_flags(ilorest):
|
|
"""Test for the case when --device and --config flags are specified together"""
|
|
results = ilorest.run(['showdcpmm', '--device', '--config'])
|
|
sys.stdout.write("results.stdout: ")
|
|
sys.stdout.write(results.stdout)
|
|
sys.stdout.write("results.stderr: ")
|
|
sys.stdout.write(results.stderr)
|
|
assert results.retcode == ReturnCodes.INVALID_COMMAND_LINE_ERROR
|
|
|
|
@staticmethod
|
|
def test_logical_and_summary_flags(ilorest):
|
|
"""Test for the case when --summary and --logical flags are specified together"""
|
|
results = ilorest.run(['showdcpmm', '--logical', '--summary'])
|
|
sys.stdout.write("results.stdout: ")
|
|
sys.stdout.write(results.stdout)
|
|
sys.stdout.write("results.stderr: ")
|
|
sys.stdout.write(results.stderr)
|
|
assert results.retcode == ReturnCodes.INVALID_COMMAND_LINE_ERROR
|
|
|
|
@staticmethod
|
|
def test_example(ilorest, dl360_large):
|
|
""" this is just an example to show using the RestClient """
|
|
url, username, password = dl360_large.config
|
|
|
|
# run ilorest rawget
|
|
with ilorest.session(url, username, password):
|
|
results = ilorest.run(['rawget', '/redfish/v1/systems/1/bios/settings'])
|
|
sys.stdout.write("results.stdout: ")
|
|
sys.stdout.write(results.stdout)
|
|
sys.stdout.write("results.stderr: ")
|
|
sys.stdout.write(results.stderr)
|
|
assert results.retcode == ReturnCodes.SUCCESS
|
|
|
|
# check REST attributes
|
|
client = RestClient(url, username, password)
|
|
bios_settings = client.get('/redfish/v1/systems/1/bios/settings')
|
|
sys.stdout.write(str(bios_settings))
|
|
assert resolve_pointer(bios_settings, '/Attributes/MemFastTraining') == "Enabled"
|