uint8_t tlvsBuffer[NETWORK_TLVS_SIZE];
int tlvsBufferLength;
+public:
+ static void getIpAddrCallback(int index, char* ipaddr,
+ thread_ipaddr_type_e ipaddr_type, void *user_data) {};
+
protected:
void SetUp() override
{
thread_network_create_operational_network(instance, name,
key, pskc, channel, extendedPanId, panId, &network));
EXPECT_EQ(THREAD_ERROR_NONE, thread_network_detach(instance));
+}
+
+TEST_F(ThreadNetworkTest, GetIpAddrNotInitialized)
+{
+ EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
+ EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED,
+ thread_get_ipaddr(instance, getIpAddrCallback,
+ THREAD_IPADDR_TYPE_ALL, nullptr));
+}
+
+TEST_F(ThreadNetworkTest, GetIpAddrInvalidParameter)
+{
+ EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER,
+ thread_get_ipaddr(instance, getIpAddrCallback,
+ THREAD_IPADDR_TYPE_ALL, nullptr));
+}
+
+TEST_F(ThreadNetworkTest, GetIpAddrErrorNone)
+{
+ EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
+ EXPECT_EQ(THREAD_ERROR_NONE,
+ thread_get_ipaddr(instance, getIpAddrCallback,
+ THREAD_IPADDR_TYPE_ALL, nullptr));
+ EXPECT_EQ(THREAD_ERROR_NONE,
+ thread_get_ipaddr(instance, getIpAddrCallback,
+ THREAD_IPADDR_TYPE_LINK_LOCAL, nullptr));
+ EXPECT_EQ(THREAD_ERROR_NONE,
+ thread_get_ipaddr(instance, getIpAddrCallback,
+ THREAD_IPADDR_TYPE_RLOC, nullptr));
+ EXPECT_EQ(THREAD_ERROR_NONE,
+ thread_get_ipaddr(instance, getIpAddrCallback,
+ THREAD_IPADDR_TYPE_MLEID, nullptr));
}
\ No newline at end of file