SEBA-902/SEBA-903
Test cases and Makefile created to test importer API's.
Robot Framework suite was also created with 1 test case for now pending additional information of hardware availability.

Change-Id: I0e1b1e573a25c5eab36b7e18ee7c79deea294828
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