From 8b913f9c505f260aad6156c65aac19aab7a4deee Mon Sep 17 00:00:00 2001 From: Abhishek Sansanwal Date: Tue, 21 Aug 2018 14:18:15 +0530 Subject: [PATCH] Added additional Haltest cases Signed-off-by: Abhishek Sansanwal Change-Id: I25b9ad37b801981a0a8b17f19b685b37f5ad669f --- haltest/zbl.cpp | 134 ++++++++++++++++++++++++++++++++++++ haltest/zbl.h | 5 ++ haltest/zigbee-manager-haltests.cpp | 120 ++++++++++++++++++++++++++++++++ 3 files changed, 259 insertions(+) diff --git a/haltest/zbl.cpp b/haltest/zbl.cpp index c274ceb..9d078fa 100644 --- a/haltest/zbl.cpp +++ b/haltest/zbl.cpp @@ -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; diff --git a/haltest/zbl.h b/haltest/zbl.h index 9cccb1f..6e76aea 100644 --- a/haltest/zbl.h +++ b/haltest/zbl.h @@ -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__ */ diff --git a/haltest/zigbee-manager-haltests.cpp b/haltest/zigbee-manager-haltests.cpp index 810047d..b1b50dd 100644 --- a/haltest/zigbee-manager-haltests.cpp +++ b/haltest/zigbee-manager-haltests.cpp @@ -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) -- 2.7.4