diff --git a/demo_test/functional_test/Makefile b/demo_test/functional_test/Makefile
new file mode 100644
index 0000000..0775546
--- /dev/null
+++ b/demo_test/functional_test/Makefile
@@ -0,0 +1,52 @@
+# Copyright 2018-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.
+
+SHELL = /bin/bash
+DEMOTESTDIR = ..
+TESTSDIR = tests
+TESTTAG = tc
+TESTS := $(wildcard ${TESTSDIR}/*.$(TESTTAG))
+
+.PHONY : check-arg test demotest $(TESTS) clean
+
+.DEFAULT_GOAL := dm
+
+check-arg:
+ifeq ($(strip $(TESTS)),)
+	$(error no test found)
+endif
+ifeq "$(and $(IP1),$(PORT1),$(IP2),$(PORT2))" "" 
+	$(error IP1, PORT1, IP2, and PORT2 are not all defined)
+endif
+
+demotest:
+	@cd ${DEMOTESTDIR}; make demotest || exit 1; ./demotest & \
+	sleep 2
+
+dm: test_cli.go
+	go build -i -v -o $@
+
+test: check-arg dm demotest $(TESTS) clean
+	@echo "Alll tests passed!"
+
+$(TESTS): ${TESTSDIR}/%.${TESTTAG}:
+	@sed -e '/^\/\//d' -e 's/ip1/${IP1}/g; s/port1/${PORT1}/g; s/ip2/${IP2}/g; s/port2/${PORT2}/g' ${TESTSDIR}/$*.expected > ${TESTSDIR}/$*.e
+#	@sed -i '/^\/\//d' ${TESTSDIR}/$*.e
+	@echo "===== Running test $@"
+	@./$@ $(IP1) $(PORT1) $(IP2) $(PORT2) > /dev/null > ${TESTSDIR}/$*.out
+	@diff -q ${TESTSDIR}/$*.out ${TESTSDIR}/$*.e || (pkill demotest; exit 1)
+	@rm ${TESTSDIR}/*.out ${TESTSDIR}/*.e
+
+clean:
+	@pkill demotest
diff --git a/demo_test/functional_test/README b/demo_test/functional_test/README
new file mode 100644
index 0000000..f8dd0e6
--- /dev/null
+++ b/demo_test/functional_test/README
@@ -0,0 +1,120 @@
+// Copyright 2018 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.
+
+
+'dm' is a command line wrapper of the test application 'demotest' serving the purpose of device-management API functional testing.
+
+It runs on top of the device-management container and 'demotest' requiring the accessibility of at least 2 separate devices running RedFish servers and can be utilized in either automated or manual testing. Either way, the device-mangement container needs to have been deployed (Please refer to Device Management Deployment Guide).
+
+1. Test Automation
+   Test cases utilizing 'dm' are provided in the tests/ sub-directory. They can be executed through either the Makefile or the Robot Framework test suite that are provided.
+
+   a) Makefile
+      At command line, type
+	make test IP1=<ip of 1st device> PORT1=<RF port # of 1st device> IP2=<ip of 2nd device> PORT2=<RF port # of 2nd device>
+
+   b) Robot Framework
+      i) Make and launch 'demotest', which ls located one level up, first.
+      ii) Modify the test suite with the appropriate ip's and port #'s of the RF servers
+      iii) At command line, type
+	robot importer.robot
+
+2. Manual testing at command line
+   To build 'dm', at command line, type
+	make
+   To run 'dm', please make and launch 'demotest' first then follow the syntax and examples below.
+
+-------------------------------------------------------------------------------
+register one device
+Example: Set IP 192.168.4.27 port 8888 freq 180
+./dm attach 192.168.4.27:8888:180
+
+-------------------------------------------------------------------------------
+register multiple devices
+Example: Set "IP 192.168.4.27 port 8888 freq 180" and "IP 192.168.4.26 port 8888 freq 120"
+./dm attach 192.168.4.27:8888:180 192.168.4.26:8888:120
+
+-------------------------------------------------------------------------------
+delete devices
+Example: Delete "IP 192.168.4.27" and "IP 192.168.3.34"
+./dm delete 192.168.4.27:8888 192.168.4.26:8888
+
+-------------------------------------------------------------------------------
+Get Current List of Devices monitored
+./dm showdevices
+Sample output: 192.168.4.26:8888 192.168.4.27:8888
+
+-------------------------------------------------------------------------------
+UnSubscribe all events(ResourceAdded/ResourceRemoved/Alert)
+./dm cleardeviceeventlist 192.168.4.27:8888
+
+-------------------------------------------------------------------------------
+Subscribe all events(ResourceAdded/ResourceRemoved/Alert)
+./dm sub 192.168.4.27:8888:add:rm:alert
+
+-------------------------------------------------------------------------------
+Subscribe and unsubscribe an event
+Example:
+Subscribe ResourceAdded event
+./dm sub 192.168.4.27:8888:add
+Subscribe ResourceRemoved event
+./dm sub 192.168.4.27:8888:rm
+Subscribe Alert event
+./dm sub 192.168.4.27:8888:alert
+Unsubscribe ResourceAdded event
+./dm unsub 192.168.4.27:8888:add
+Unsubscribe ResourceRemoved event
+./dm unsub 192.168.4.27:8888:rm
+Unsubscribe Alert event
+./dm unsub 192.168.4.27:8888:alert
+
+-------------------------------------------------------------------------------
+Subscribe an unsupported event
+./dm sub 192.168.4.27:8888:update
+
+-------------------------------------------------------------------------------
+Subscribe to an already subscribed event
+Example:
+./dm sub 192.168.4.27:8888:add
+./dm sub 192.168.4.27:8888:add
+
+-------------------------------------------------------------------------------
+Unsubscribe an unsupported event
+./dm unsub 192.168.4.27:8888:update
+
+-------------------------------------------------------------------------------
+Unsubscribe a supported but not-subscribed event
+Example:
+./dm unsub 192.168.4.27:8888:add:rm:alert
+./dm unsub 192.168.4.27:8888:add
+./dm unsub 192.168.4.27:8888:rm
+./dm unsub 192.168.4.27:8888:alert
+
+-------------------------------------------------------------------------------
+Change polling interval
+Example:
+Set frequecny to 30 seconds
+./dm period 192.168.4.27:8888:30
+
+-------------------------------------------------------------------------------
+Show list of supported event
+./dm showeventlist 192.168.4.27:8888
+
+-------------------------------------------------------------------------------
+Show current events subscribed by device
+showdeviceeventlist 192.168.4.27:8888
+
+-------------------------------------------------------------------------------
+Note: following command can be used to verify the list of events subscribed
+wget --no-check-certificate -qO- https://192.168.4.27:8888/redfish/v1/EventService/Subscriptions | python -m json.tool
diff --git a/demo_test/functional_test/importer.robot b/demo_test/functional_test/importer.robot
new file mode 100644
index 0000000..4abcd60
--- /dev/null
+++ b/demo_test/functional_test/importer.robot
@@ -0,0 +1,28 @@
+# 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 ***
+Library           Process
+Library           OperatingSystem
+
+*** Test Cases ***
+List Supported Events
+    [Documentation]    This test case excercises the API, GetEventList, which is expected to list all supported Redfish events.
+    ${IP}    set variable    192.168.4.26
+    ${PORT}    set variable    8888
+    ${EXPECTED}=    RUN    sed -e '/^\\/\\//d' -e 's/ipaddr/${IP}:${PORT}/g' tests/list_supported_events.expected
+    Run Process    tests/list_supported_events.tc    ${IP}:${PORT}    shell=yes    alias=myproc
+    ${OUTPUT}=    get process result    myproc
+    Should Be Equal    ${EXPECTED}    ${OUTPUT.stdout}
+
diff --git a/demo_test/functional_test/test_cli.go b/demo_test/functional_test/test_cli.go
new file mode 100644
index 0000000..114c51b
--- /dev/null
+++ b/demo_test/functional_test/test_cli.go
@@ -0,0 +1,35 @@
+// Copyright 2018-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.
+
+package main
+
+import "net"
+import "fmt"
+import "bufio"
+import "os"
+import "strings"
+
+func main() {
+	// connect to this socket
+	var message string = ""
+	cmdstr := strings.Join(os.Args[1:], " ")
+	conn, _ := net.Dial("tcp", "127.0.0.1:9999")
+	// send to socket
+	fmt.Fprintf(conn, cmdstr + "\n")
+
+	// listen for reply
+	message, _ = bufio.NewReader(conn).ReadString(';')
+	message = strings.TrimSuffix(message, ";")
+	fmt.Print(message)
+}
diff --git a/demo_test/functional_test/tests/add_device_to_monitor.expected b/demo_test/functional_test/tests/add_device_to_monitor.expected
new file mode 100644
index 0000000..64812fb
--- /dev/null
+++ b/demo_test/functional_test/tests/add_device_to_monitor.expected
@@ -0,0 +1,18 @@
+// Copyright 2018 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.
+ip1:port1 ip2:port2 attached
+Device ip ip1 already registered
+Device ip ip1 already registered
+invalid command ip1:88
+ip1:port1 ip2:port2 deleted
diff --git a/demo_test/functional_test/tests/add_device_to_monitor.tc b/demo_test/functional_test/tests/add_device_to_monitor.tc
new file mode 100755
index 0000000..4584e81
--- /dev/null
+++ b/demo_test/functional_test/tests/add_device_to_monitor.tc
@@ -0,0 +1,21 @@
+#!/bin/bash  
+
+# Copyrigh/ 2019-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.
+
+./dm attach $1:$2:120 $3:$4:100
+./dm attach $1:$2:120
+./dm attach $1:88:120
+./dm attach $1:88
+./dm delete $1:$2 $3:$4
diff --git a/demo_test/functional_test/tests/clear_all_subscribed_events.expected b/demo_test/functional_test/tests/clear_all_subscribed_events.expected
new file mode 100644
index 0000000..25e732c
--- /dev/null
+++ b/demo_test/functional_test/tests/clear_all_subscribed_events.expected
@@ -0,0 +1,18 @@
+// Copyright 2018 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.
+192.168.4.27:8888 attached
+Alert ResourceAdded ResourceRemoved
+192.168.4.27:8888 events cleared
+
+192.168.4.27:8888 deleted
diff --git a/demo_test/functional_test/tests/clear_all_subscribed_events.tc b/demo_test/functional_test/tests/clear_all_subscribed_events.tc
new file mode 100755
index 0000000..f5eef7a
--- /dev/null
+++ b/demo_test/functional_test/tests/clear_all_subscribed_events.tc
@@ -0,0 +1,21 @@
+#!/bin/bash  
+
+# Copyrigh/ 2019-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.
+
+./dm attach 192.168.4.27:8888:120
+./dm showdeviceeventlist 192.168.4.27:8888
+./dm cleardeviceeventlist 192.168.4.27:8888
+./dm showdeviceeventlist 192.168.4.27:8888
+./dm delete 192.168.4.27:8888
diff --git a/demo_test/functional_test/tests/configure_data_polling_interval.expected b/demo_test/functional_test/tests/configure_data_polling_interval.expected
new file mode 100644
index 0000000..b3e56c1
--- /dev/null
+++ b/demo_test/functional_test/tests/configure_data_polling_interval.expected
@@ -0,0 +1,18 @@
+// Copyright 2018 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.
+192.168.4.27:8888 attached
+data collection interval configured to 30 seconds
+Invalid interval
+data collection interval configured to 0 seconds
+192.168.4.27:8888 deleted
diff --git a/demo_test/functional_test/tests/configure_data_polling_interval.tc b/demo_test/functional_test/tests/configure_data_polling_interval.tc
new file mode 100755
index 0000000..0939a79
--- /dev/null
+++ b/demo_test/functional_test/tests/configure_data_polling_interval.tc
@@ -0,0 +1,21 @@
+#!/bin/bash  
+
+# Copyrigh/ 2019-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.
+
+./dm attach 192.168.4.27:8888:120
+./dm period 192.168.4.27:8888:30
+./dm period 192.168.4.27:8888:3
+./dm period 192.168.4.27:8888:0
+./dm delete 192.168.4.27:8888
diff --git a/demo_test/functional_test/tests/delete_monitored_device.expected b/demo_test/functional_test/tests/delete_monitored_device.expected
new file mode 100644
index 0000000..8e1cc31
--- /dev/null
+++ b/demo_test/functional_test/tests/delete_monitored_device.expected
@@ -0,0 +1,16 @@
+// Copyright 2018 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.
+192.168.4.26:8888 192.168.4.27:8888 attached
+192.168.4.26:8888 192.168.4.27:8888 deleted
+Device 192.168.4.27:8888 not found
diff --git a/demo_test/functional_test/tests/delete_monitored_device.tc b/demo_test/functional_test/tests/delete_monitored_device.tc
new file mode 100755
index 0000000..7860e0b
--- /dev/null
+++ b/demo_test/functional_test/tests/delete_monitored_device.tc
@@ -0,0 +1,19 @@
+#!/bin/bash  
+
+# Copyrigh/ 2019-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.
+
+./dm attach 192.168.4.27:8888:120 192.168.4.26:8888:100
+./dm delete 192.168.4.27:8888 192.168.4.26:8888
+./dm delete 192.168.4.27:8888
diff --git a/demo_test/functional_test/tests/list_device_monitored.expected b/demo_test/functional_test/tests/list_device_monitored.expected
new file mode 100644
index 0000000..2f98be3
--- /dev/null
+++ b/demo_test/functional_test/tests/list_device_monitored.expected
@@ -0,0 +1,17 @@
+// Copyright 2018 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.
+No Device found
+192.168.4.26:8888 192.168.4.27:8888 attached
+192.168.4.26:8888 192.168.4.27:8888
+192.168.4.26:8888 192.168.4.27:8888 deleted
diff --git a/demo_test/functional_test/tests/list_device_monitored.tc b/demo_test/functional_test/tests/list_device_monitored.tc
new file mode 100755
index 0000000..0016968
--- /dev/null
+++ b/demo_test/functional_test/tests/list_device_monitored.tc
@@ -0,0 +1,20 @@
+#!/bin/bash  
+
+# Copyrigh/ 2019-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.
+
+./dm showdevices
+./dm attach 192.168.4.26:8888:120 192.168.4.27:8888:100
+./dm showdevices
+./dm delete 192.168.4.26:8888 192.168.4.27:8888
diff --git a/demo_test/functional_test/tests/list_subscribed_events.expected b/demo_test/functional_test/tests/list_subscribed_events.expected
new file mode 100644
index 0000000..ad6f141
--- /dev/null
+++ b/demo_test/functional_test/tests/list_subscribed_events.expected
@@ -0,0 +1,17 @@
+// Copyright 2018 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.
+Device 192.168.4.26:8888 not registered
+192.168.4.26:8888 attached
+Alert ResourceAdded ResourceRemoved
+192.168.4.26:8888 deleted
diff --git a/demo_test/functional_test/tests/list_subscribed_events.tc b/demo_test/functional_test/tests/list_subscribed_events.tc
new file mode 100755
index 0000000..819aaeb
--- /dev/null
+++ b/demo_test/functional_test/tests/list_subscribed_events.tc
@@ -0,0 +1,20 @@
+#!/bin/bash  
+
+# Copyrigh/ 2019-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.
+
+./dm showdeviceeventlist 192.168.4.26:8888
+./dm attach 192.168.4.26:8888:120
+./dm showdeviceeventlist 192.168.4.26:8888
+./dm delete 192.168.4.26:8888
diff --git a/demo_test/functional_test/tests/list_supported_events.expected b/demo_test/functional_test/tests/list_supported_events.expected
new file mode 100644
index 0000000..27a563f
--- /dev/null
+++ b/demo_test/functional_test/tests/list_supported_events.expected
@@ -0,0 +1,17 @@
+// Copyright 2018 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.
+Device 192.168.4.27:8888 not registered
+192.168.4.26:8888 attached
+Alert ResourceAdded ResourceRemoved
+192.168.4.26:8888 deleted
diff --git a/demo_test/functional_test/tests/list_supported_events.tc b/demo_test/functional_test/tests/list_supported_events.tc
new file mode 100755
index 0000000..dff2eed
--- /dev/null
+++ b/demo_test/functional_test/tests/list_supported_events.tc
@@ -0,0 +1,20 @@
+#!/bin/bash  
+
+# Copyrigh/ 2019-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.
+
+./dm showeventlist 192.168.4.27:8888
+./dm attach 192.168.4.26:8888:120
+./dm showeventlist 192.168.4.26:8888
+./dm delete 192.168.4.26:8888
diff --git a/demo_test/functional_test/tests/subscribe_events.expected b/demo_test/functional_test/tests/subscribe_events.expected
new file mode 100644
index 0000000..73e9325
--- /dev/null
+++ b/demo_test/functional_test/tests/subscribe_events.expected
@@ -0,0 +1,19 @@
+// Copyright 2018 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.
+Device 192.168.4.27:8888 not registered
+192.168.4.27:8888 attached
+Alert ResourceAdded ResourceRemoved
+event ResourceAdded already subscribed
+event Update not supported
+192.168.4.27:8888 deleted
diff --git a/demo_test/functional_test/tests/subscribe_events.tc b/demo_test/functional_test/tests/subscribe_events.tc
new file mode 100755
index 0000000..41abd92
--- /dev/null
+++ b/demo_test/functional_test/tests/subscribe_events.tc
@@ -0,0 +1,22 @@
+#!/bin/bash  
+
+# Copyrigh/ 2019-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.
+
+./dm sub 192.168.4.27:8888:add
+./dm attach 192.168.4.27:8888:120
+./dm showdeviceeventlist 192.168.4.27:8888
+./dm sub 192.168.4.27:8888:add
+./dm sub 192.168.4.27:8888:update
+./dm delete 192.168.4.27:8888
diff --git a/demo_test/functional_test/tests/unsubscribe_events.expected b/demo_test/functional_test/tests/unsubscribe_events.expected
new file mode 100644
index 0000000..eee0d10
--- /dev/null
+++ b/demo_test/functional_test/tests/unsubscribe_events.expected
@@ -0,0 +1,21 @@
+// Copyright 2018 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.
+Device 192.168.4.27:8888 not registered
+192.168.4.27:8888 attached
+Alert ResourceAdded ResourceRemoved
+unsub successful
+Alert ResourceRemoved
+event ResourceAdded not found
+event Update not found
+192.168.4.27:8888 deleted
diff --git a/demo_test/functional_test/tests/unsubscribe_events.tc b/demo_test/functional_test/tests/unsubscribe_events.tc
new file mode 100755
index 0000000..df9d440
--- /dev/null
+++ b/demo_test/functional_test/tests/unsubscribe_events.tc
@@ -0,0 +1,24 @@
+#!/bin/bash  
+
+# Copyrigh/ 2019-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.
+
+./dm unsub 192.168.4.27:8888:add
+./dm attach 192.168.4.27:8888:120
+./dm showdeviceeventlist 192.168.4.27:8888
+./dm unsub 192.168.4.27:8888:add
+./dm showdeviceeventlist 192.168.4.27:8888
+./dm unsub 192.168.4.27:8888:add
+./dm unsub 192.168.4.27:8888:update
+./dm delete 192.168.4.27:8888
diff --git a/demo_test/functional_test/tests/validate_ip.expected b/demo_test/functional_test/tests/validate_ip.expected
new file mode 100644
index 0000000..ab281ef
--- /dev/null
+++ b/demo_test/functional_test/tests/validate_ip.expected
@@ -0,0 +1,17 @@
+// Copyright 2018 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.
+Incorrect IP address format (<ip>:<port #>)
+Invalid IP address 192.168.4
+Port # 8a needs to be an integer
+Device 192.168.4.27:8888 not registered
diff --git a/demo_test/functional_test/tests/validate_ip.tc b/demo_test/functional_test/tests/validate_ip.tc
new file mode 100755
index 0000000..64bdd39
--- /dev/null
+++ b/demo_test/functional_test/tests/validate_ip.tc
@@ -0,0 +1,20 @@
+#!/bin/bash  
+
+# Copyrigh/ 2019-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.
+
+./dm showeventlist 192.168.4.27
+./dm showeventlist 192.168.4:8
+./dm showeventlist 192.168.4.27:8a
+./dm showeventlist 192.168.4.27:8888
