Added additional Haltest cases 57/187257/2 accepted/tizen/unified/20180822.093906 submit/tizen/20180822.012708
authorAbhishek Sansanwal <abhishek.s94@samsung.com>
Tue, 21 Aug 2018 08:48:15 +0000 (14:18 +0530)
committersaerome.kim <saerome.kim@samsung.com>
Wed, 22 Aug 2018 01:21:41 +0000 (10:21 +0900)
Signed-off-by: Abhishek Sansanwal <abhishek.s94@samsung.com>
Change-Id: I25b9ad37b801981a0a8b17f19b685b37f5ad669f

haltest/zbl.cpp
haltest/zbl.h
haltest/zigbee-manager-haltests.cpp

index c274ceb..9d078fa 100644 (file)
@@ -31,6 +31,140 @@ Zigbee::~Zigbee(void)
        Destroy();
 }
 
+int Zigbee::zbl_get_mac(void)
+{
+       int i =0;
+       char value;
+       GVariant *message = NULL;
+       GVariantIter *iter = NULL;
+       int error = ZIGBEE_ERROR_NONE;
+       ieee_addr addr64;
+
+       GLOGD("zbl_get_mac()");
+
+       message = InvokeMethod(ZIGBEE_SERVER_NAME,
+                       ZIGBEE_CONTROL_OBJECT_PATH,
+                       ZIGBEE_SERVICE_INTERFACE,
+                       "get_mac",
+                       NULL,
+                       &error);
+
+       if (message) {
+               g_variant_get(message, "(ia(y))", &error,
+                               &iter);
+               GLOGD("ret = [0x%x]", error);
+               if (iter) {
+                       while (g_variant_iter_loop(iter, "(y)", &value)) {
+                               addr64[i] = value;
+                               i++;
+                       }
+                       g_variant_iter_free(iter);
+               }
+               GLOGD("addr64 = 0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X:0x%02X",
+               addr64[0], addr64[1], addr64[2], addr64[3], addr64[4], addr64[5],
+               addr64[6], addr64[7]);
+               g_variant_unref(message);
+       }
+
+       return error;
+}
+
+int Zigbee::zbl_get_network_info(void)
+{
+       GVariant *message = NULL;
+       GVariantIter *iter = NULL;
+       int error = ZIGBEE_ERROR_NONE;
+
+       nwk_addr _nodeid;
+       nwk_addr _panid;
+       unsigned char _radio_channel;
+       unsigned char _radio_tx_power;
+
+       GLOGD("zbl_get_network_info()");
+
+       message = InvokeMethod(ZIGBEE_SERVER_NAME,
+                       ZIGBEE_CONTROL_OBJECT_PATH,
+                       ZIGBEE_SERVICE_INTERFACE,
+                       "get_network_info",
+                       NULL,
+                       &error);
+
+       if (message) {
+               g_variant_get(message, "(ia(y)qqyy)", &error, &iter,
+                               &_nodeid, &_panid, &_radio_channel, &_radio_tx_power);
+               GLOGD("ret = [0x%x]", error);
+               g_variant_iter_free(iter);
+               g_variant_unref(message);
+       }
+
+       return error;
+}
+
+int Zigbee::zbl_permit_join(int duration, bool broadcast)
+{
+       int error = ZIGBEE_ERROR_NONE;
+       GVariant *message;
+
+       GLOGD("zbl_permit_join()");
+
+       message = InvokeMethod(ZIGBEE_SERVER_NAME,
+                       ZIGBEE_CONTROL_OBJECT_PATH,
+                       ZIGBEE_SERVICE_INTERFACE,
+                       "permit_join",
+                       g_variant_new("(ib)", duration, broadcast),
+                       &error);
+
+       if (message) {
+               g_variant_get(message, "(i)", &error);
+               GLOGD("ret = 0x%x", error);
+               g_variant_unref(message);
+       }
+
+       return error;
+}
+
+int Zigbee::zbl_leave_network(void)
+{
+       int error = ZIGBEE_ERROR_NONE;
+       GVariant *message;
+
+       GLOGD("zbl_leave_network()");
+
+       message = InvokeMethod(ZIGBEE_SERVER_NAME,
+                       ZIGBEE_CONTROL_OBJECT_PATH,
+                       ZIGBEE_SERVICE_INTERFACE,
+                       "leave_network", NULL, &error);
+
+       if (message) {
+               g_variant_get(message, "(i)", &error);
+               GLOGD("ret = 0x%x", error);
+               g_variant_unref(message);
+       }
+
+       return error;
+}
+
+int Zigbee::zbl_form_network(void)
+{
+       int error = ZIGBEE_ERROR_NONE;
+       GVariant *message;
+
+       GLOGD("zbl_form_network()");
+
+       message = InvokeMethod(ZIGBEE_SERVER_NAME,
+                       ZIGBEE_CONTROL_OBJECT_PATH,
+                       ZIGBEE_SERVICE_INTERFACE,
+                       "form_network", NULL, &error);
+
+       if (message) {
+               g_variant_get(message, "(i)", &error);
+               GLOGD("ret = 0x%x", error);
+               g_variant_unref(message);
+       }
+
+       return error;
+}
+
 int Zigbee::zbl_enable(void)
 {
        int error = ZIGBEE_ERROR_NONE;
index 9cccb1f..6e76aea 100644 (file)
@@ -77,5 +77,10 @@ class Zigbee:public GDbus {
                ~Zigbee();
                int zbl_enable(void);
                int zbl_disable(void);
+               int zbl_get_mac(void);
+               int zbl_get_network_info(void);
+               int zbl_permit_join(int duration, bool broadcast);
+               int zbl_leave_network(void);
+               int zbl_form_network(void);
 };
 #endif /* __ZIGBEE_MANAGER_H__ */
index 810047d..b1b50dd 100644 (file)
@@ -71,6 +71,126 @@ TEST(ZigbeeManager, Enable_p)
 }
 
 /*
+@testcase      FormNetwork_p
+@since_tizen   5.0
+@author                SRID(abhishek.s94)
+@reviewer      HQ(saerome.kim)
+@type          auto
+@description   Positive, Form network using zigbee-manager
+@apicovered    "form_network" method on "org.tizen.zigbee.service" interface
+@passcase      when zbl_form_network returns ZIGBEE_ERROR_NONE
+@failcase      when zbl_form_network does not return ZIGBEE_ERROR_NONE
+@precondition  __check_feature_supported must return true for zigbee feature
+@postcondition None
+*/
+TEST(ZigbeeManager, FormNetwork_p)
+{
+       int ret = ZIGBEE_ERROR_NONE;
+       Zigbee zb_mgr;
+
+       if (ZIGBEE_ERROR_NONE == __check_feature_supported()) {
+               ret = zb_mgr.zbl_form_network();
+       }
+       EXPECT_EQ(ZIGBEE_ERROR_NONE, ret);
+}
+
+/*
+@testcase      GetNetworkInfo_p
+@since_tizen   5.0
+@author                SRID(abhishek.s94)
+@reviewer      HQ(saerome.kim)
+@type          auto
+@description   Positive, get network info using zigbee-manager
+@apicovered    "get_network_info" method on "org.tizen.zigbee.service" interface
+@passcase      when zbl_get_network_info returns ZIGBEE_ERROR_NONE
+@failcase      when zbl_get_network_info does not return ZIGBEE_ERROR_NONE
+@precondition  __check_feature_supported must return true for zigbee feature
+@postcondition None
+*/
+TEST(ZigbeeManager, GetNetworkInfo_p)
+{
+       int ret = ZIGBEE_ERROR_NONE;
+       Zigbee zb_mgr;
+
+       if (ZIGBEE_ERROR_NONE == __check_feature_supported()) {
+               ret = zb_mgr.zbl_get_network_info();
+       }
+       EXPECT_EQ(ZIGBEE_ERROR_NONE, ret);
+}
+
+/*
+@testcase      GetMac_p
+@since_tizen   5.0
+@author                SRID(abhishek.s94)
+@reviewer      HQ(saerome.kim)
+@type          auto
+@description   Positive, get mac address using zigbee-manager
+@apicovered    "get_mac" method on "org.tizen.zigbee.service" interface
+@passcase      when zbl_get_mac returns ZIGBEE_ERROR_NONE
+@failcase      when zbl_get_mac does not return ZIGBEE_ERROR_NONE
+@precondition  __check_feature_supported must return true for zigbee feature
+@postcondition None
+*/
+TEST(ZigbeeManager, GetMac_p)
+{
+       int ret = ZIGBEE_ERROR_NONE;
+       Zigbee zb_mgr;
+
+       if (ZIGBEE_ERROR_NONE == __check_feature_supported()) {
+               ret = zb_mgr.zbl_get_mac();
+       }
+       EXPECT_EQ(ZIGBEE_ERROR_NONE, ret);
+}
+
+/*
+@testcase      PermitJoin_p
+@since_tizen   5.0
+@author                SRID(abhishek.s94)
+@reviewer      HQ(saerome.kim)
+@type          auto
+@description   Positive, Allow permit join using zigbee-manager
+@apicovered    "permit_join" method on "org.tizen.zigbee.service" interface
+@passcase      when zbl_permit_join returns ZIGBEE_ERROR_NONE
+@failcase      when zbl_permit_join does not return ZIGBEE_ERROR_NONE
+@precondition  __check_feature_supported must return true for zigbee feature
+@postcondition None
+*/
+TEST(ZigbeeManager, PermitJoin_p)
+{
+       int ret = ZIGBEE_ERROR_NONE;
+       Zigbee zb_mgr;
+
+       if (ZIGBEE_ERROR_NONE == __check_feature_supported()) {
+               ret = zb_mgr.zbl_permit_join(1, true);
+       }
+       EXPECT_EQ(ZIGBEE_ERROR_NONE, ret);
+}
+
+/*
+@testcase      LeaveNetwork_p
+@since_tizen   5.0
+@author                SRID(abhishek.s94)
+@reviewer      HQ(saerome.kim)
+@type          auto
+@description   Positive, Leave network using zigbee-manager
+@apicovered    "leave_network" method on "org.tizen.zigbee.service" interface
+@passcase      when zbl_leave_network returns ZIGBEE_ERROR_NONE
+@failcase      when zbl_leave_network does not return ZIGBEE_ERROR_NONE
+@precondition  __check_feature_supported must return true for zigbee feature
+@postcondition None
+*/
+TEST(ZigbeeManager, LeaveNetwork_p)
+{
+       int ret = ZIGBEE_ERROR_NONE;
+       Zigbee zb_mgr;
+
+       if (ZIGBEE_ERROR_NONE == __check_feature_supported()) {
+               ret = zb_mgr.zbl_leave_network();
+       }
+       EXPECT_EQ(ZIGBEE_ERROR_NONE, ret);
+}
+
+/*
 @testcase      Disable_p
 @since_tizen   5.0
 @author                SRID(abhishek.s94)