From 44f0c42eabf68009fd641b463df48f1fba551b1d Mon Sep 17 00:00:00 2001 From: Esha Maharishi Date: Tue, 16 May 2023 15:55:32 -0400 Subject: [PATCH] RSDK-2961 Default use_live_data to true (#193) --- config/config.go | 11 ++++++----- config/config_test.go | 8 ++++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/config/config.go b/config/config.go index ec68f0a1..4ed1fb8e 100644 --- a/config/config.go +++ b/config/config.go @@ -32,9 +32,14 @@ func DetermineDeleteProcessedData(logger golog.Logger, deleteData *bool, useLive // DetermineUseLiveData will determine the value of the useLiveData attribute // based on the liveData input parameter and sensor list. func DetermineUseLiveData(logger golog.Logger, liveData *bool, sensors []string) (bool, error) { + // If liveData is not set, default it to true and require a sensor to have been provided. if liveData == nil { - return false, newError("use_live_data is a required input parameter") + if len(sensors) == 0 { + return false, newError("sensors field cannot be empty") + } + return true, nil } + useLiveData := *liveData if useLiveData && len(sensors) == 0 { return false, newError("sensors field cannot be empty when use_live_data is set to true") @@ -64,10 +69,6 @@ func (config *Config) Validate(path string) ([]string, error) { return nil, utils.NewConfigValidationFieldRequiredError(path, "data_dir") } - if config.UseLiveData == nil { - return nil, utils.NewConfigValidationFieldRequiredError(path, "use_live_data") - } - if config.DataRateMsec < 0 { return nil, errors.New("cannot specify data_rate_msec less than zero") } diff --git a/config/config_test.go b/config/config_test.go index 409a3c88..5e2f2c3e 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -34,7 +34,7 @@ func TestValidate(t *testing.T) { t.Run("Config without required fields", func(t *testing.T) { // Test for missing main attribute fields - requiredFields := []string{"data_dir", "use_live_data"} + requiredFields := []string{"data_dir"} for _, requiredField := range requiredFields { logger.Debugf("Testing SLAM config without %s\n", requiredField) cfgService := makeCfgService() @@ -131,12 +131,12 @@ func TestDetermineUseLiveData(t *testing.T) { logger := golog.NewTestLogger(t) t.Run("No use_live_data specified", func(t *testing.T) { useLiveData, err := DetermineUseLiveData(logger, nil, []string{}) - test.That(t, err, test.ShouldBeError, newError("use_live_data is a required input parameter")) + test.That(t, err, test.ShouldBeError, newError("sensors field cannot be empty")) test.That(t, useLiveData, test.ShouldBeFalse) useLiveData, err = DetermineUseLiveData(logger, nil, []string{"camera"}) - test.That(t, err, test.ShouldBeError, newError("use_live_data is a required input parameter")) - test.That(t, useLiveData, test.ShouldBeFalse) + test.That(t, err, test.ShouldBeNil) + test.That(t, useLiveData, test.ShouldBeTrue) }) t.Run("False use_live_data", func(t *testing.T) { useLiveData, err := DetermineUseLiveData(logger, &_false, []string{})