.SMP_CASE: &SMP_CASE
  SDK: ESP32_IDF
  Test App: SSC_BLE
  auto test: 'Yes'
  category: Function
  test point 1: basic function
  initial condition: BLE_INIT_SMP
  test environment: SSC_T2_5
  execution time: 0
  module: BT Stack
  sub module: SMP
  version: v1 (2017-05-26)
  CI ready: 'Yes'
  level: Integration
  allow fail: ''

.just_work_pair: &just_work_pair
  LIST_MERGE:
    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
      - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']

.slave_passkey_entry_pair: &slave_passkey_entry_pair
  LIST_MERGE:
    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
      - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
    - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a 1 -k <key>"
      - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']

.master_passkey_entry_pair: &master_passkey_entry_pair
  LIST_MERGE:
    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
      - ['P SSC1 C +BLESMP:PassKeyReq', 'P SSC2 A <key>:BLESMP:PassKeyNotify,(\d+)']
    - - "SSC SSC1 blesmp -K -r <dut2_bt_mac> -a 1 -k <key>"
      - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']

.both_side_passkey_entry_pair: &both_side_passkey_entry_pair
  LIST_MERGE:
    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
      - ['P SSC[1,2] C +BLESMP:PassKeyReq']
    - - "SSC SSC[1,2] blesmp -K -r <dut[2,1]_bt_mac> -a 1 -k 123456"
      - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']

.numberic_comparision_pair: &numberic_comparision_pair
  LIST_MERGE:
    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
    - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
      - ['R SSC2 A <key>:BLESMP:NCReq,(\d+)', 'R SSC1 C NCReq P <key>']
    - - "SSC SSC[1-2] blesmp -C -r <dut[2,1]_bt_mac> -a 1"
      - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']

.check_connection: &check_connection
  LIST_MERGE:
    - - "SSC SSC1 gattc -D -z primaryService -p 0x10 -r <dut2_bt_mac>"
      - ["R SSC1 C +GATTC:Discover,OK"]

.disconnect: &disconnect
  LIST_MERGE:
    - - "SSC SSC1 bleconn -D -z all"
      - ['P SSC1 C +BLECONN:GapDisconnect,OK', 'P SSC2 C +BLECONN:GapDisconnect,OK']
    - - "SSC SSC2 bleadv -D -z start"
      - ['P SSC2 C +BLEADV:OK']

.connect: &connect
  LIST_MERGE:
    - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
      - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']

.config_just_work: &config_just_work
  LIST_MERGE:
    - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x00"
      - ['P SSC[1-2] C +BLESMP:OK']
    - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
      - ['P SSC[1-2] C +BLESMP:OK']

.config_master_passkey_entry: &config_master_passkey_entry
  LIST_MERGE:
    - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
      - ['P SSC[1-2] C +BLESMP:OK']
    - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
      - ['P SSC1 C +BLESMP:OK']
    - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
      - ['P SSC2 C +BLESMP:OK']

.config_slave_passkey_entry: &config_slave_passkey_entry
  LIST_MERGE:
    - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
      - ['P SSC[1-2] C +BLESMP:OK']
    - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
      - ['P SSC[1-2] C +BLESMP:OK']

.config_both_side_passkey_entry: &config_both_side_passkey_entry
  LIST_MERGE:
    - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
      - ['P SSC[1-2] C +BLESMP:OK']
    - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x02"
      - ['P SSC[1-2] C +BLESMP:OK']

.config_numberic_comparision: &config_numberic_comparision
  LIST_MERGE:
    - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
      - ['P SSC[1-2] C +BLESMP:OK']
    - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
      - ['P SSC[1-2] C +BLESMP:OK']

.config_bond_device: &config_bond_device
  LIST_MERGE:
    - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x01"
      - ['P SSC2 C +BLESMP:OK']
    - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
      - ['P SSC2 C +BLESMP:OK']


test cases:
- ID: BTSTK_SMP_01001
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity None + None test
  steps: |
    1. set sec properity None on initiator and responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just work and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_01002
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity None + SC test
  steps: |
    1. set sec properity None on initiator and SC on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just work and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x08"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_01003
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity None + MITM test
  steps: |
    1. set sec properity None on initiator and MITM on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_01004
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity None + SC_MITM test
  steps: |
    1. set sec properity None on initiator and SC_MITM on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_01005
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity SC + None test
  steps: |
    1. set sec properity SC only on initiator and None on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just work and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x08"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_01006
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity SC + SC test
  steps: |
    1. set sec properity SC on initiator and SC on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just work and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x08"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x08"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_01007
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity SC + MITM test
  steps: |
    1. set sec properity SC on initiator and MITM on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x08"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_01008
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity SC + SC_MITM test
  steps: |
    1. set sec properity SC on initiator and SC_MITM on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use numberic comparision and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x08"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *numberic_comparision_pair
  - *check_connection
- ID: BTSTK_SMP_01009
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity MITM + None test
  steps: |
    1. set sec properity MITM on initiator and None on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_01010
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity MITM + SC test
  steps: |
    1. set sec properity MITM on initiator and SC on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
  allow fail: ''
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x08"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_01011
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity MITM + MITM test
  steps: |
    1. set sec properity MITM on initiator and MITM on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_01012
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity MITM + SC_MITM test
  steps: |
    1. set sec properity MITM on initiator and SC_MITM on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_01013
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity SC_MITM + None test
  steps: |
    1. set sec properity SC_MITM on initiator and SC on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_01014
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity SC_MITM + SC test
  steps: |
    1. set sec properity SC_MITM on initiator and SC on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use numberic comparision and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x08"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *numberic_comparision_pair
  - *check_connection
- ID: BTSTK_SMP_01015
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity SC_MITM + MITM test
  steps: |
    1. set sec properity SC_MITM on initiator and MITM on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_01016
  <<: *SMP_CASE
  test point 2: BLE SMP sec properity test
  summary: BLE SMP sec properity SC_MITM + SC_MITM test
  steps: |
    1. set sec properity SC_MITM on initiator and SC_MITM on responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2, do pair procedure
    4. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use numberic comparision and pair succeed
    4. succeed
  cmd set:
  - ""
  - - "SSC SSC1 blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC2 C +BLESMP:OK']
  - - "SSC SSC[1-2] blesmp -S -z IOCAP -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - *numberic_comparision_pair
  - *check_connection
- ID: BTSTK_SMP_02001
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities DisplayOnly + DisplayOnly test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to DisplayOnly on initiator and DisplayOnly on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to DisplayOnly on initiator and DisplayOnly on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just work and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just work and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02002
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities DisplayOnly + DisplayYesNo test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to DisplayOnly on initiator and DisplayYesNo on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to DisplayOnly on initiator and DisplayYesNo on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just work and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just work and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02003
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities DisplayOnly + KeyboardOnly test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to DisplayOnly on initiator and KeyboardOnly on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to DisplayOnly on initiator and KeyboardOnly on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use passkey entry (initiator displays, responder inputs) and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC2 C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC2 C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_02004
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities DisplayOnly + NoInputNoOutput test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to DisplayOnly on initiator and NoInputNoOutput on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to DisplayOnly on initiator and NoInputNoOutput on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just works and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just works and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02005
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities DisplayOnly + KeyboardDisplay test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to DisplayOnly on initiator and KeyboardDisplay on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to DisplayOnly on initiator and KeyboardDisplay on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use passkey entry (initiator displays, responder inputs) and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_02006
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities DisplayYesNo + DisplayOnly test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to DisplayYesNo on initiator and DisplayOnly on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to DisplayYesNo on initiator and DisplayOnly on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just work and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just work and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02007
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities DisplayYesNo + DisplayYesNo test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to DisplayYesNo on initiator and DisplayYesNo on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to DisplayYesNo on initiator and DisplayYesNo on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just work and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use numberic comparision and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC2 C +BLESMP:OK']
  - *numberic_comparision_pair
  - *check_connection
- ID: BTSTK_SMP_02008
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities DisplayYesNo + KeyboardOnly test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to DisplayYesNo on initiator and KeyboardOnly on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to DisplayYesNo on initiator and KeyboardOnly on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use passkey entry (initiator displays, responder inputs) and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC2 C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC2 C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_02009
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities DisplayYesNo + NoInputNoOutput test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to DisplayYesNo on initiator and NoInputNoOutput on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to DisplayYesNo on initiator and NoInputNoOutput on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just works and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just works and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02010
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities DisplayYesNo + KeyboardDisplay test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to DisplayYesNo on initiator and KeyboardDisplay on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to DisplayYesNo on initiator and KeyboardDisplay on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use numberic comparision and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - *numberic_comparision_pair
  - *check_connection
- ID: BTSTK_SMP_02011
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities KeyboardOnly + DisplayOnly test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to KeyboardOnly on initiator and DisplayOnly on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to KeyboardOnly on initiator and DisplayOnly on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (responder displays, initiator inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use passkey entry (responder displays, initiator inputs) and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - *master_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - *master_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_02012
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities KeyboardOnly + DisplayYesNo test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to KeyboardOnly on initiator and DisplayYesNo on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to KeyboardOnly on initiator and DisplayYesNo on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (responder displays, initiator inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use passkey entry (responder displays, initiator inputs) and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC2 C +BLESMP:OK']
  - *master_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC2 C +BLESMP:OK']
  - *master_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_02013
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities KeyboardOnly + KeyboardOnly test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to KeyboardOnly on initiator and KeyboardOnly on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to KeyboardOnly on initiator and KeyboardOnly on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator and responder inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use passkey entry (initiator and responder inputs) and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC2 C +BLESMP:OK']
  - *both_side_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC2 C +BLESMP:OK']
  - *both_side_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_02014
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities KeyboardOnly + NoInputNoOutput test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to KeyboardOnly on initiator and NoInputNoOutput on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to KeyboardOnly on initiator and NoInputNoOutput on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just works and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just works and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02015
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities KeyboardOnly + KeyboardDisplay test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to KeyboardOnly on initiator and KeyboardDisplay on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to KeyboardOnly on initiator and KeyboardDisplay on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (responder displays, initiator inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use passkey entry (responder displays, initiator inputs) and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - *master_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - *master_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_02016
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities NoInputNoOutput + DisplayOnly test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to NoInputNoOutput on initiator and DisplayOnly on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to NoInputNoOutput on initiator and DisplayOnly on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just works and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just works and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02017
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities NoInputNoOutput + DisplayYesNo test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to NoInputNoOutput on initiator and DisplayYesNo on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to NoInputNoOutput on initiator and DisplayYesNo on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just works and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just works and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02018
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities NoInputNoOutput + KeyboardOnly test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to NoInputNoOutput on initiator and KeyboardOnly on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to NoInputNoOutput on initiator and KeyboardOnly on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just works and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just works and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02019
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities NoInputNoOutput + NoInputNoOutput test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to NoInputNoOutput on initiator and NoInputNoOutput on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to NoInputNoOutput on initiator and NoInputNoOutput on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just works and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just works and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02020
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities NoInputNoOutput + KeyboardDisplay test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to NoInputNoOutput on initiator and KeyboardDisplay on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to NoInputNoOutput on initiator and KeyboardDisplay on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just works and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just works and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02021
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities KeyboardDisplay + DisplayOnly test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to KeyboardDisplay on initiator and DisplayOnly on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to KeyboardDisplay on initiator and DisplayOnly on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (responder displays, initiator inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use passkey entry (responder displays, initiator inputs) and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - *master_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x00"
    - ['P SSC2 C +BLESMP:OK']
  - *master_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_02022
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities KeyboardDisplay + DisplayYesNo test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to KeyboardDisplay on initiator and DisplayYesNo on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to KeyboardDisplay on initiator and DisplayYesNo on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (responder displays, initiator inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use numberic comparision and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC2 C +BLESMP:OK']
  - *master_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x01"
    - ['P SSC2 C +BLESMP:OK']
  - *numberic_comparision_pair
  - *check_connection
- ID: BTSTK_SMP_02023
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities KeyboardDisplay + KeyboardOnly test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to KeyboardDisplay on initiator and KeyboardOnly on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to KeyboardDisplay on initiator and KeyboardOnly on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use passkey entry (initiator displays, responder inputs) and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC2 C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x02"
    - ['P SSC2 C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
- ID: BTSTK_SMP_02024
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities KeyboardDisplay + NoInputNoOutput test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to KeyboardDisplay on initiator and NoInputNoOutput on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to KeyboardDisplay on initiator and NoInputNoOutput on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use just works and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use just works and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x03"
    - ['P SSC2 C +BLESMP:OK']
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_02025
  <<: *SMP_CASE
  test point 2: BLE SMP IO Capabilities test
  summary: BLE SMP IO Capabilities KeyboardDisplay + KeyboardDisplay test
  allow fail: 2/3
  steps: |
    1. set sec properity MITM on both initiator and responder
    2. set IOCAP to KeyboardDisplay on initiator and KeyboardDisplay on responder
    3. DUT1 connect to DUT2, do pair (if required)
    4. do service discovery
    5. disconnect
    6. set sec properity SC_MITM on both initiator and responder
    7. set IOCAP to KeyboardDisplay on initiator and KeyboardDisplay on responder
    8. DUT1 connect to DUT2, do pair (if required)
    9. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. use passkey entry (initiator displays, responder inputs) and pair succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. use numberic comparision and pair succeed
    9. succeed
  cmd set:
  - ""
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x04"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - *slave_passkey_entry_pair
  - *check_connection
  - *disconnect
  - - "SSC SSC[1-2] blesmp -S -z AuthReqMode -v 0x0C"
    - ['P SSC[1-2] C +BLESMP:OK']
  - - "SSC SSC1 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC1 C +BLESMP:OK']
  - - "SSC SSC2 blesmp -S -z IOCAP -v 0x04"
    - ['P SSC2 C +BLESMP:OK']
  - *numberic_comparision_pair
  - *check_connection
- ID: BTSTK_SMP_03001
  <<: *SMP_CASE
  test point 2: BLE SMP pair with pairing request test
  summary: BLE SMP start pair with secruity request
  steps: |
    1. set sec properity None on initiator and responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2
    4. DUT2 send secruity request, do pair (if required)
    5. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. connected
    4. use just work and pair succeed
    5. succeed
  cmd set:
  - ""
  - *config_just_work
  - *just_work_pair
  - *check_connection
- ID: BTSTK_SMP_03002
  <<: *SMP_CASE
  test point 2: BLE SMP initiate pair test
  summary: BLE SMP start pair with pairing request
  steps: |
    1. set sec properity None on initiator and responder
    2. set IOCAP to KeyboardDisplay on initiator and responder
    3. DUT1 connect to DUT2
    4. DUT1 send pair req, do pair (if required)
    5. do service discovery
  expected result: |
    1. succeed
    2. succeed
    3. connected
    4. use just work and pair succeed
    5. succeed
  cmd set:
  - ""
  - *config_just_work
  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
  - - "SSC SSC1 blesmp -E -r <dut2_bt_mac> -z Enc"
    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
  - *check_connection
- ID: BTSTK_SMP_05003
  <<: *SMP_CASE
  test point 2: BLE SMP unsuccessful pair reply test
  summary: BLE SMP unsuccessful passkey entry on both side test
  steps: |
    1. enter both side passkey entry phase
    2. entry different passkey and accept
    3. enter both side passkey entry phase
    4. entry same passkey and reject
    5. enter both side passkey entry phase
    6. send numberic comparision accept
    7. enter both side passkey entry phase
    8. send numberic comparision reject
  expected result: |
    1. succeed
    2. pair failed
    3. succeed
    4. pair failed
    5. succeed
    6. pair failed
    7. succeed
    8. pair failed
  cmd set:
  - ""
  - *config_both_side_passkey_entry
  - - LOOP 2 5 "[1,0]" "['000002','000001']"
    - ""
  - *connect
  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
    - ['R SSC[1,2] C +BLESMP:PassKeyReq']
  - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a [1,{%d}] -k [000001,{%s}]"
    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
  - *disconnect
  - - LOOP 2 5 "[1,0]" "[0,1]"
    - ""
  - *connect
  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
    - ['P SSC[1,2] C +BLESMP:PassKeyReq']
  - - "SSC SSC[1,2] blesmp -C -r <dut[2,1]_bt_mac> -a [{%d},{%d}]"
    - ['P SSC[1-2] C +BLESMP:AuthComplete,Fail']
  - *disconnect
- ID: BTSTK_SMP_05004
  <<: *SMP_CASE
  test point 2: BLE SMP unsuccessful pair reply test
  summary: BLE SMP reject pair
  steps: |
    1. DUT1 connect to DUT2
    2. DUT2 send security req
    3. DUT1 reject pairing
    4. disconnect
    5. DUT1 connect to DUT2
    6. DUT1 send pairing req
    7. DUT2 reject pairing
    4. disconnect
  expected result: |
    1. succeed
    2. succeed
    3. succeed
    4. succeed
    5. succeed
    6. succeed
    7. succeed
    8. succeed
  cmd set:
  - ""
  - *connect
  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
    - [""]
  - *disconnect
  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
  - - "SSC SSC1 blesmp -E -r <dut2_bt_mac> -z Enc"
    - [""]
- ID: BTSTK_SMP_06002
  <<: *SMP_CASE
  test point 2: BLE SMP use API in abnormal state
  summary: BLE SMP use phase 2 API in phase 1
  steps: |
    1. enter entry passkey phase
    2. send ble security response
    3. continue pairing
  expected result: |
    1. succeed
    2. failed
    3. pair succeed
  cmd set:
  - ""
  - *config_slave_passkey_entry
  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
    - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
  - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a 1 -k <key>"
    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
- ID: BTSTK_SMP_06003
  <<: *SMP_CASE
  test point 2: BLE SMP use API in abnormal state
  summary: BLE SMP use phase 1 API in phase 2
  steps: |
    1. enter phase 1 (don't send security response)
    2. do passkey entry
    3. do number comparision
  expected result: |
    1. succeed
    2. failed
    3. failed
  cmd set:
  - ""
  - *config_slave_passkey_entry
  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
    - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
  - - "SSC SSC2 blesmp -K -r <dut1_bt_mac> -a 1 -k <key>"
    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
- ID: BTSTK_SMP_06004
  <<: *SMP_CASE
  test point 2: BLE SMP use API in abnormal state
  summary: BLE SMP master disconnect during pairing and repairing
  steps: |
    1. enter phase 1 (don't send security response)
    2. disconnect
    3. enter phase 1, send response but do not do pair
    4. disconnect
  expected result: |
    1. succeed
    2. disconnected
    3. succeed
    4. disconnected
  cmd set:
  - ""
  - *config_slave_passkey_entry
  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
    - ['P SSC1 C +BLESMP:SecReq']
  - *disconnect
  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
    - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
  - *disconnect
- ID: BTSTK_SMP_06005
  <<: *SMP_CASE
  test point 2: BLE SMP use API in abnormal state
  summary: BLE SMP slave disconnect during pairing and repairing
  steps: |
    1. enter phase 1 (don't send security response)
    2. disconnect
    3. enter phase 1, send response but do not do pair
    4. disconnect
  expected result: |
    1. succeed
    2. disconnected
    3. succeed
    4. disconnected
  cmd set:
  - ""
  - *config_slave_passkey_entry
  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
    - ['P SSC1 C +BLESMP:SecReq']
  - - "SSC SSC2 bleconn -D -z all"
    - ['P SSC2 C +BLECONN:GapDisconnect,OK', 'P SSC1 C +BLECONN:GapDisconnect,OK']
  - - "SSC SSC2 bleadv -D -z start"
    - ['P SSC2 C +BLEADV:Start,OK']
  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
    - ['P SSC2 C +BLESMP:PassKeyReq', 'P SSC1 A <key>:BLESMP:PassKeyNotify,(\d+)']
  - - "SSC SSC2 bleconn -D -z all"
    - ['P SSC2 C +BLECONN:GapDisconnect,OK', 'P SSC1 C +BLECONN:GapDisconnect,OK']
- ID: BTSTK_SMP_07001
  <<: *SMP_CASE
  test point 2: BLE SMP no bond test and repairing
  summary: BLE SMP just work pairing and reconnect
  steps: |
    1. DUT1 and DUT2 SMP with just work pair
    2. DUT1 disconnect
    3. DUT1 connect to DUT2
    4. DUT2 send auth request
  expected result: |
    1. succeed
    2. succeed
    3. succeed
    4. succeed
  cmd set:
  - ""
  - *config_just_work
  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
  - - "SSC SSC1 blesmp -E -r <dut2_bt_mac> -z Enc"
    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success,0']
  - *disconnect
  - - "SSC SSC1 bleconn -C -p 0x10 -a <dut2_bt_mac>"
    - ['P SSC1 C +BLECONN:GapConnect,OK', 'P SSC2 C +BLECONN:GapConnect,OK']
  - - "SSC SSC2 blesmp -E -r <dut1_bt_mac> -z Enc"
    - ['P SSC[1-2] C +BLESMP:AuthComplete,Success']
- ID: BTSTK_SMP_07003
  <<: *SMP_CASE
  test point 2: BLE SMP no bond test and repairing
  summary: BLE SMP slave passkey enter and reconnect
  steps: |
    1. DUT1 and DUT2 SMP with slave passkey enter
    2. DUT1 reconnect
    3. DUT1 connect to DUT2
    4. DUT2 send auth request
  expected result: |
    1. succeed
    2. succeed
    3. succeed
    4. succeed
  cmd set:
  - ""
  - *config_slave_passkey_entry
  - *slave_passkey_entry_pair
  - *disconnect
  - *slave_passkey_entry_pair
- ID: BTSTK_SMP_07004
  <<: *SMP_CASE
  test point 2: BLE SMP no bond test and repairing
  summary: BLE SMP slave passkey enter and reboot
  steps: |
    1. DUT1 and DUT2 SMP with slave passkey enter
    2. DUT1 reboot
    3. DUT1 connect to DUT2
    4. DUT2 send auth request
  expected result: |
    1. succeed
    2. succeed
    3. succeed
    4. failed
  cmd set:
  - ""
  - *config_slave_passkey_entry
  - *slave_passkey_entry_pair
  - - "SSC SSC1 reboot"
    - ['P SSC2 C +BLECONN:GapDisconnect,OK']
  - - "SSC SSC1 ble -R"
    - ['R SSC1 C +BLE:']
  - - "SSC SSC2 bleadv -D -z start"
    - ['R SSC2 C +BLEADV:OK']
    - *slave_passkey_entry_pair
- ID: BTSTK_SMP_50001
  <<: *SMP_CASE
  category: Performance
  test point 1: performance + stress
  test point 2: BLE SMP GATT performance test
  summary: GATT read char performance test after just work pair
  Test App: SSC_BLE_PERF
  steps: |
    1. update connection parameter
    2. do primary service discovery
    3. do read char for some time
  expected result: |
    1. succeed
    2. succeed
    3. calculate throughput
  execution time: 2
  cmd set:
  - "BLEStress/BLESMPGATTPerformance"
  - - test_time = 420
    - ""
  - - mtu = 512
    - ""
  - - gatt_op = "read"
    - ""
  - - pair_op = "just_work_pair"
    - ""
  - - op_char = "0xC301"
    - ""
- ID: BTSTK_SMP_50002
  <<: *SMP_CASE
  category: Performance
  test point 1: performance + stress
  test point 2: BLE SMP GATT performance test
  summary: GATT read char performance test after numberic comparision pair
  Test App: SSC_BLE_PERF
  steps: |
    1. update connection parameter
    2. do primary service discovery
    3. do read char for some time
  expected result: |
    1. succeed
    2. succeed
    3. calculate throughput
  execution time: 2
  cmd set:
  - "BLEStress/BLESMPGATTPerformance"
  - - test_time = 420
    - ""
  - - mtu = 512
    - ""
  - - gatt_op = "read"
    - ""
  - - pair_op = "numberic_comparision_pair"
    - ""
  - - op_char = "0xC301"
    - ""
- ID: BTSTK_SMP_50003
  <<: *SMP_CASE
  category: Performance
  test point 1: performance + stress
  test point 2: BLE SMP GATT performance test
  summary: GATT write char performance test after just work pair
  Test App: SSC_BLE_PERF
  steps: |
    1. update connection parameter
    2. do primary service discovery
    3. do write char for some time
  expected result: |
    1. succeed
    2. succeed
    3. calculate throughput
  execution time: 2
  cmd set:
  - "BLEStress/BLESMPGATTPerformance"
  - - test_time = 420
    - ""
  - - mtu = 512
    - ""
  - - gatt_op = "write"
    - ""
  - - op_char = "0xC304"
    - ""
  - - pair_op = "just_work_pair"
    - ""
  - - op_len = 490
    - ""
- ID: BTSTK_SMP_50004
  <<: *SMP_CASE
  category: Performance
  test point 1: performance + stress
  test point 2: BLE SMP GATT performance test
  summary: GATT write char performance test after numberic comparision pair
  Test App: SSC_BLE_PERF
  steps: |
    1. update connection parameter
    2. do primary service discovery
    3. do write char for some time
  expected result: |
    1. succeed
    2. succeed
    3. calculate throughput
  execution time: 2
  cmd set:
  - "BLEStress/BLESMPGATTPerformance"
  - - test_time = 420
    - ""
  - - mtu = 512
    - ""
  - - gatt_op = "write"
    - ""
  - - op_char = "0xC304"
    - ""
  - - pair_op = "numberic_comparision_pair"
    - ""
  - - op_len = 490
    - ""
- ID: BTSTK_SMP_50005
  <<: *SMP_CASE
  category: Performance
  test point 1: performance + stress
  test point 2: BLE SMP GATT performance test
  summary: GATT notify performance test after just work pair
  Test App: SSC_BLE_PERF
  steps: |
    1. update connection parameter
    2. do primary service discovery
    3. do notify for some time
  expected result: |
    1. succeed
    2. succeed
    3. calculate throughput
  execution time: 2
  cmd set:
  - "BLEStress/BLESMPGATTPerformance"
  - - test_time = 420
    - ""
  - - mtu = 512
    - ""
  - - gatt_op = "notify"
    - ""
  - - op_char = "0xC305"
    - ""
  - - pair_op = "just_work_pair"
    - ""
  - - op_len = 490
    - ""
- ID: BTSTK_SMP_50006
  <<: *SMP_CASE
  category: Performance
  test point 1: performance + stress
  test point 2: BLE SMP GATT performance test
  summary: GATT notify performance test after numberic comparision pair
  Test App: SSC_BLE_PERF
  steps: |
    1. update connection parameter
    2. do primary service discovery
    3. do notify for some time
  expected result: |
    1. succeed
    2. succeed
    3. calculate throughput
  execution time: 2
  cmd set:
  - "BLEStress/BLESMPGATTPerformance"
  - - test_time = 420
    - ""
  - - mtu = 512
    - ""
  - - gatt_op = "notify"
    - ""
  - - op_char = "0xC305"
    - ""
  - - pair_op = "numberic_comparision_pair"
    - ""
  - - op_len = 490
    - ""
- ID: BTSTK_SMP_50007
  <<: *SMP_CASE
  category: Performance
  test point 1: performance + stress
  test point 2: BLE SMP GATT performance test
  summary: GATT indicate performance test after just work pair
  Test App: SSC_BLE_PERF
  steps: |
    1. update connection parameter
    2. do primary service discovery
    3. do notify for some time
  expected result: |
    1. succeed
    2. succeed
    3. calculate throughput
  execution time: 2
  cmd set:
  - "BLEStress/BLESMPGATTPerformance"
  - - test_time = 420
    - ""
  - - mtu = 512
    - ""
  - - gatt_op = "indicate"
    - ""
  - - pair_op = "just_work_pair"
    - ""
  - - op_char = "0xC306"
    - ""
  - - op_len = 490
    - ""
- ID: BTSTK_SMP_50008
  <<: *SMP_CASE
  category: Performance
  test point 1: performance + stress
  test point 2: BLE SMP GATT performance test
  summary: GATT indicate performance test after numberic comparision pair
  Test App: SSC_BLE_PERF
  steps: |
    1. update connection parameter
    2. do primary service discovery
    3. do notify for some time
  expected result: |
    1. succeed
    2. succeed
    3. calculate throughput
  execution time: 2
  cmd set:
  - "BLEStress/BLESMPGATTPerformance"
  - - test_time = 420
    - ""
  - - mtu = 512
    - ""
  - - gatt_op = "indicate"
    - ""
  - - pair_op = "numberic_comparision_pair"
    - ""
  - - op_char = "0xC306"
    - ""
  - - op_len = 490
    - ""
- ID: BTSTK_SMP_51001
  <<: *SMP_CASE
  category: Performance
  test point 1: performance + stress
  test point 2: BLE SMP performance test
  summary: BLE SMP Connect and disconnect performance test
  steps: |
    1. DUT2 set AuthReqMode and RspKey
    2. DUT1 disconnect with DUT2
    3. DUT2 start advertising
    4. DUT1 connect to DUT2
    5. do service discovery
    6. loop step 1-4
    7. check connection fail ratio and average conn time
  expected result: |
    1. succeed
    2. succeed
    3. succeed
    4. succeed
    5. succeed
    6. succeed
    7. meet pass standard
  execution time: 6
  version: v1 (2017-05-19)
  CI ready: 'No'
  cmd set:
  - "BLEStress/BLESMPConnPerformance"
  - - "test_time = 420"
    - ""
  - - "average_conn_time = 3"
    - ""
  - - "fail_ratio = 0.01"
    - ""
  - - "fail_timeout = 10"
    - ""
- ID: BTSTK_SMP_52001
  <<: *SMP_CASE
  category: Performance
  test point 1: performance + stress
  test point 2: BLE SMP performance test for bond
  summary: BLE SMP bond, remove, get bondlist, rebond
  steps: |
    1. DUT1 bond 15 devices and get bond list
    2. DUT1 bond 16th device and get bond list
    3. rebond removed bond device and get bond list
    4. remove all bond and get bond list
    5. loop step 1 to step 4
  expected result: |
    1. succeed
    2. succeed
    3. succeed
    4. succeed
  execution time: 2
  cmd set:
  - "BLEStress/BLESMPBondPerformance"
  - - test_time = 120
    - ""
