void test_upload_decision_by_timeout(void) { KAA_TRACE_IN(logger); kaa_error_t error_code = KAA_ERR_NONE; size_t DEFAULT_UPLOAD_TIMEOUT_THRESHOLD = 1;// in sec. error_code = ext_log_upload_strategy_change_strategy(strategy, KAA_LOG_UPLOAD_BY_TIMEOUT_STRATEGY); ASSERT_EQUAL(error_code, KAA_ERR_NONE); error_code = ext_log_upload_strategy_set_upload_timeout(strategy, DEFAULT_UPLOAD_TIMEOUT_THRESHOLD); ASSERT_EQUAL(error_code, KAA_ERR_NONE); test_log_storage_context_t log_storage_context; ext_log_upload_decision_t upload_decision = NOOP; log_storage_context.total_size = 0; log_storage_context.record_count = 0; log_storage_context.upload_timeout = DEFAULT_UPLOAD_TIMEOUT_THRESHOLD; upload_decision = ext_log_upload_strategy_decide(strategy, &log_storage_context); ASSERT_EQUAL(upload_decision, NOOP); log_storage_context.upload_timeout = DEFAULT_UPLOAD_TIMEOUT_THRESHOLD + 1; usleep(1000 * 1000); upload_decision = ext_log_upload_strategy_decide(strategy, &log_storage_context); ASSERT_EQUAL(upload_decision, UPLOAD); KAA_TRACE_OUT(logger); }
void test_upload_decision_by_timeout(void **state) { (void)state; size_t DEFAULT_UPLOAD_TIMEOUT_THRESHOLD = 1;// in sec. kaa_error_t error_code = ext_log_upload_strategy_change_strategy(strategy, KAA_LOG_UPLOAD_BY_TIMEOUT_STRATEGY); ASSERT_EQUAL(error_code, KAA_ERR_NONE); error_code = ext_log_upload_strategy_set_upload_timeout(strategy, DEFAULT_UPLOAD_TIMEOUT_THRESHOLD); ASSERT_EQUAL(error_code, KAA_ERR_NONE); test_log_storage_context_t log_storage_context; log_storage_context.total_size = 0; log_storage_context.record_count = 0; log_storage_context.upload_timeout = DEFAULT_UPLOAD_TIMEOUT_THRESHOLD; ext_log_upload_decision_t upload_decision = ext_log_upload_strategy_decide(strategy, &log_storage_context); ASSERT_EQUAL(upload_decision, NOOP); log_storage_context.upload_timeout = DEFAULT_UPLOAD_TIMEOUT_THRESHOLD + 1; sleep(DEFAULT_UPLOAD_TIMEOUT_THRESHOLD); upload_decision = ext_log_upload_strategy_decide(strategy, &log_storage_context); ASSERT_EQUAL(upload_decision, UPLOAD); }
/* * Initializes Kaa log collector. */ kaa_error_t kaa_log_collector_init(kaa_client_t *kaa_client) { KAA_RETURN_IF_NIL(kaa_client, KAA_ERR_BADPARAM) kaa_error_t error_code = ext_unlimited_log_storage_create(&kaa_client->log_storage_context , kaa_client->kaa_context->logger); if (error_code) { KAA_LOG_ERROR(kaa_client->kaa_context->logger, error_code, "Failed to create log storage"); return error_code; } error_code = ext_log_upload_strategy_create(kaa_client->kaa_context ,&kaa_client->log_upload_strategy_context , KAA_LOG_UPLOAD_VOLUME_STRATEGY); if (error_code) { KAA_LOG_ERROR(kaa_client->kaa_context->logger, error_code, "Failed to create log upload strategy"); return error_code; } // Due to unknown problems with networking via ESP8266, some server responses are lost. // It leads to log delivery timeouts. error_code = ext_log_upload_strategy_set_upload_timeout(kaa_client->log_upload_strategy_context , KAA_DEMO_TWO_DAYS_UPLOAD_TIMEOUT); if (error_code) { KAA_LOG_ERROR(kaa_client->kaa_context->logger, error_code, "Failed to create log upload strategy by volume set upload timeout to %d", KAA_DEMO_TWO_DAYS_UPLOAD_TIMEOUT); return error_code; } error_code = ext_log_upload_strategy_et_threshold_count(kaa_client->log_upload_strategy_context , KAA_DEMO_UPLOAD_COUNT_THRESHOLD); if (error_code) { KAA_LOG_ERROR(kaa_client->kaa_context->logger, error_code, "Failed to create log upload strategy by volume set threshold count to %d", KAA_DEMO_UPLOAD_COUNT_THRESHOLD); return error_code; } error_code = kaa_logging_init(kaa_client->kaa_context->log_collector , kaa_client->log_storage_context , kaa_client->log_upload_strategy_context); if (error_code) { KAA_LOG_ERROR(kaa_client->kaa_context->logger, error_code,"Failed to logging init"); return error_code; } KAA_LOG_INFO(kaa_client->kaa_context->logger, KAA_ERR_NONE, "Log collector init complete"); return error_code; }
void test_set_upload_timeout(void **state) { (void)state; (void)state; size_t DEFAULT_UPLOAD_TIMEOUT = 2 * 60; kaa_error_t error_code = ext_log_upload_strategy_change_strategy(strategy, KAA_LOG_UPLOAD_VOLUME_STRATEGY); ASSERT_EQUAL(error_code, KAA_ERR_NONE); error_code = ext_log_upload_strategy_set_upload_timeout(strategy, DEFAULT_UPLOAD_TIMEOUT); ASSERT_EQUAL(error_code, KAA_ERR_NONE); ASSERT_EQUAL(ext_log_upload_strategy_get_timeout(strategy), DEFAULT_UPLOAD_TIMEOUT); }
void test_set_upload_timeout(void) { KAA_TRACE_IN(logger); kaa_error_t error_code = KAA_ERR_NONE; size_t DEFAULT_UPLOAD_TIMEOUT = 2 * 60; error_code = ext_log_upload_strategy_change_strategy(strategy, KAA_LOG_UPLOAD_VOLUME_STRATEGY); ASSERT_EQUAL(error_code, KAA_ERR_NONE); error_code = ext_log_upload_strategy_set_upload_timeout(strategy, DEFAULT_UPLOAD_TIMEOUT); ASSERT_EQUAL(error_code, KAA_ERR_NONE); ASSERT_EQUAL(ext_log_upload_strategy_get_timeout(strategy), DEFAULT_UPLOAD_TIMEOUT); KAA_TRACE_OUT(logger); }