#include "thread-dbus-handler.h"
#include "thread-socket-handler.h"
-/* LCOV_EXCL_START */
+#define THREAD_NETWORK_DEFAULT_NAME ""
+#define THREAD_NETWORK_DEFAULT_KEY ""
+#define THREAD_NETWORK_DEFAULT_PSKC ""
+#define THREAD_NETWORK_DEFAULT_CHANNEL 0
+#define THREAD_NETWORK_DEFAULT_EXTENDED_PANID 0
+#define THREAD_NETWORK_DEFAULT_PANID 0
+/* LCOV_EXCL_START */
void _thread_network_free(thread_network_h network)
{
FUNC_ENTRY;
FUNC_EXIT;
}
+int thread_network_create(thread_network_h *network)
+{
+ FUNC_ENTRY;
+ THREAD_CHECK_SUPPORTED_FEATURE(THREAD_FEATURE_COMMON);
+ THREAD_CHECK_INIT_STATUS();
+ THREAD_VALIDATE_INPUT_PARAMETER(network);
+
+ thread_network_s *new_network = NULL;
+ new_network = g_malloc0(sizeof(thread_network_s));
+ if (!new_network) {
+ /* LCOV_EXCL_START */
+ THREAD_ERR("g_malloc0 failed");
+ FUNC_EXIT;
+ return THREAD_ERROR_OUT_OF_MEMORY;
+ /* LCOV_EXCL_STOP */
+ }
+
+ new_network->is_network_active = FALSE;
+ (void)g_strlcpy(new_network->name,
+ THREAD_NETWORK_DEFAULT_NAME, THREAD_NETWORK_NAME_MAX + 1);
+ (void)g_strlcpy(new_network->key,
+ THREAD_NETWORK_DEFAULT_KEY, THREAD_NETWORK_KEY_STRING_MAX + 1);
+ (void)g_strlcpy(new_network->pskc,
+ THREAD_NETWORK_DEFAULT_PSKC, THREAD_NETWORK_PSKC_STRING_MAX + 1);
+ new_network->channel = THREAD_NETWORK_DEFAULT_CHANNEL;
+ new_network->extended_panid = THREAD_NETWORK_DEFAULT_EXTENDED_PANID;
+ new_network->panid = THREAD_NETWORK_DEFAULT_PANID;
+ *network = (thread_network_h)new_network;
+
+ FUNC_EXIT;
+ return THREAD_ERROR_NONE;
+}
+
/* Network leader/Creator */
int thread_network_create_operational_network(thread_instance_h instance,
const char *name, const char *key, const char *pskc, uint32_t channel,
EXPECT_EQ(THREAD_ERROR_NONE,
thread_network_get_panid(instance, &panid));
}
+
+TEST_F(ThreadNetworkTest, CreateNotInitialized)
+{
+ EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
+ EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, thread_network_create(&network));
+}
+
+TEST_F(ThreadNetworkTest, CreateInvalidParameter)
+{
+ EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, thread_network_create(nullptr));
+}
+
+TEST_F(ThreadNetworkTest, CreateErrorNone)
+{
+ EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
+ EXPECT_EQ(THREAD_ERROR_NONE, thread_network_create(&network));
+}