blob: 2436d75287f6d326b956011c6d87744254307436 [file] [log] [blame]
Sushil Singh45d841e2020-07-30 11:52:11 -05001*** Settings ***
2
3Documentation Test client identifier feature on BMC.
4
5Resource ../../lib/rest_client.robot
6Resource ../../lib/openbmc_ffdc.robot
7Resource ../../lib/resource.robot
8Resource ../../lib/bmc_redfish_utils.robot
9Library ../../lib/bmc_network_utils.py
10Library ../../lib/gen_robot_valid.py
11
12Suite Setup Redfish.Login
13Suite Teardown Delete All Redfish Sessions
14Test Setup Printn
15Test Teardown FFDC On Test Case Fail
16
17
18*** Test Cases ***
19
20Create A Session With ClientID And Verify
21 [Documentation] Create a session with client id and verify client id is same.
22 [Tags] Create_A_Session_With_ClientID_And_Verify
23 [Template] Create A Session With ClientID
24
25 # client_id
26 12345
27 123456
28 EXTERNAL-CLIENT-01
29 EXTERNAL-CLIENT-02
30
31*** Keywords ***
32
33Create A Session With ClientID
34 [Documentation] Create redifish session with client id.
35 [Arguments] ${client_id}
36
37 # Description of argument(s):
38 # client_id This client id can contain string value
39 # (e.g. 12345, "EXTERNAL-CLIENT").
40
41 ${resp}= Redfish Login kwargs= "Oem":{"OpenBMC" : {"ClientID":"${client_id}"}}
42 Verify A Session Created With ClientID ${client_id} ${resp['Id']}
43
44
45Verify A Session Created With ClientID
46 [Documentation] Verify session created with client id.
47 [Arguments] ${client_id} ${session_id}
48
49 # Description of argument(s):
50 # client_id External client name.
51 # session_id This value is a session id.
52
53 ${sessions}= Redfish.Get Properties /redfish/v1/SessionService/Sessions/${session_id}
54
55 # {
56 # "@odata.id": "/redfish/v1/SessionService/Sessions/H8q2ZKucSJ",
57 # "@odata.type": "#Session.v1_0_2.Session",
58 # "Description": "Manager User Session",
59 # "Id": "H8q2ZKucSJ",
60 # "Name": "User Session",
61 # "Oem": {
62 # "OpenBMC": {
63 # "@odata.type": "#OemSession.v1_0_0.Session",
64 # "ClientID": "",
65 # "ClientOriginIP": "::ffff:x.x.x.x"
66 # }
67 # },
68 # "UserName": "root"
69 # }
70
71 Rprint Vars sessions
72 @{words} = Split String ${sessions["Oem"]["OpenBMC"]["ClientOriginIP"]} :
73 ${ipaddr}= Get Running System IP
74 Set Test Variable ${temp_ipaddr} ${words}[-1]
75 Valid Value client_id ['${sessions["Oem"]["OpenBMC"]["ClientID"]}']
76 Valid Value sessions["Id"] ['${session_id}']
77 Valid Value temp_ipaddr ${ipaddr}