diff --git a/src/test/cord-api/Framework/ATTWorkFlowDriver.robot b/src/test/cord-api/Framework/ATTWorkFlowDriver.robot
index d250590..aac79a2 100644
--- a/src/test/cord-api/Framework/ATTWorkFlowDriver.robot
+++ b/src/test/cord-api/Framework/ATTWorkFlowDriver.robot
@@ -34,6 +34,16 @@
     ${authentication_state}=  Get From Dictionary    ${getJsonDict}   authentication_state
     [Return]    ${onu_state}    ${authentication_state}
 
+Service Instance DHCP State Check
+    [Arguments]    ${onu_device}
+    [Documentation]    Returns dhcp state value from att work flow driver for a particular ONU device
+    ${json_result}=    restApi.ApiGet    ATT_SERVICEINSTANCES
+    Log    ${json_result}
+    ${json_result_list}=    Get From dictionary    ${json_result}    items
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    serial_number    ${onu_device}
+    ${state}=  Get From Dictionary    ${getJsonDict}   dhcp_state
+    [Return]    ${state}
+
 Create Whitelist Entry
     [Arguments]    ${entry_list}    ${list_index}
     [Documentation]    Sends a POST to create an att whitelist in XOS
@@ -76,3 +86,8 @@
     ${onu_state}   ${authentication_status}   Service Instance Status Check    ${onu_device}
     Should Be Equal    ${onu_state}    ${expected_status}
     Should Be Equal    ${authentication_status}    ${expected_auth_status}
+
+Validate ATT Workflow Driver SI DHCP State
+    [Arguments]    ${expected_status}    ${onu_device}
+    ${dhcp_state}=   Service Instance DHCP State Check    ${onu_device}
+    Should Be Equal    ${dhcp_state}    ${expected_status}
diff --git a/src/test/cord-api/Tests/WorkflowValidations/BBSIM.robot b/src/test/cord-api/Tests/WorkflowValidations/BBSIM.robot
new file mode 100644
index 0000000..d4f2a96
--- /dev/null
+++ b/src/test/cord-api/Tests/WorkflowValidations/BBSIM.robot
@@ -0,0 +1,83 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+*** Settings ***
+Documentation     Test various E2E conditions for seba-in-a-box
+Suite Setup       Setup
+Suite Teardown    Teardown
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../../Framework/utils/utils.py
+Resource          ../../Framework/utils/utils.robot
+Library           ../../Framework/restApi.py
+Resource          ../../Framework/Subscriber.robot
+Resource          ../../Framework/ATTWorkFlowDriver.robot
+Resource          ../../Framework/Kubernetes.robot
+Resource          ../../Framework/ONU.robot
+Resource          ../../Framework/DHCP.robot
+Variables         ../../Properties/RestApiProperties.py
+
+*** Variables ***
+${export_kube_config}      export KUBECONFIG=/home/%{USER}/.kube/config
+${kube_node_ip}            localhost
+${dst_host_ip}             172.18.0.10
+${local_user}              %{USER}
+${local_pass}              %{USER}
+
+*** Test Cases ***
+ONUs Discovered
+    [Documentation]    Validates All ONU Devices are discovered and retrieve SNs
+    [Tags]    onudiscovery
+    Wait Until Keyword Succeeds    120s    5s    Validate Number of ONU Devices    16
+
+Validate ONU States
+    [Documentation]    Validates All ONU Device states are "enabled" and "active"
+    [Tags]    onustates
+    : FOR    ${onu}    IN    @{serial_numbers}
+    \    Validate ONU States    ACTIVE    ENABLED    ${onu}
+
+Validate ATT WF Driver SIs
+    [Documentation]    Validates all service instances per onu devices become "approved" and "dhcpdiscovered"
+    [Tags]    serviceinstances
+    : FOR    ${onu}    IN    @{serial_numbers}
+    \    Wait Until Keyword Succeeds    120s    2s    Validate ATT Workflow Driver SI    ENABLED    APPROVED    ${onu}
+    \    Wait Until Keyword Succeeds    120s    2s    Validate ATT Workflow Driver SI DHCP State    DHCPDISCOVER    ${onu}
+
+*** Keywords ***
+Setup
+    ${auth} =    Create List    ${XOS_USER}    ${XOS_PASSWD}
+    ${HEADERS}    Create Dictionary    Content-Type=application/json
+    Create Session    ${server_ip}    http://${server_ip}:${server_port}    auth=${AUTH}    headers=${HEADERS}
+
+Teardown
+    Delete All Sessions
+
+Validate Number of ONU Devices
+    [Arguments]    ${expected_onus}
+    ${resp}=    CORD Get    ${ONU_DEVICE}
+    ${jsondata}=    To Json    ${resp.content}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata['items']}
+    @{serial_numbers}=    Create List
+    : FOR    ${INDEX}    IN RANGE    0    ${length}
+    \    ${value}=    Get From List    ${jsondata['items']}    ${INDEX}
+    \    ${sn}=    Get From Dictionary    ${value}    serial_number
+    \    ${contains}=    Evaluate    "BBSM" in """${sn}"""
+    \    Run Keyword if    '${contains}' == 'True'    Append To List    ${serial_numbers}    ${sn}
+    Set Suite Variable    ${serial_numbers}
+    ${length_of_bbsim_onus}=    Get Length    ${serial_numbers}
+    Should Be Equal as Integers    ${length_of_bbsim_onus}    ${expected_onus}
\ No newline at end of file
