From ec91723b27fc954cd4e3cfdecf24e93508169e15 Mon Sep 17 00:00:00 2001 From: gatici Date: Tue, 2 Apr 2024 22:09:48 +0300 Subject: [PATCH] Adding unit tests for custom Webui URL Signed-off-by: gatici --- factory/ausf_config_test.go | 34 ++++++++++++++++++++++ factory/ausfcfg.yaml | 18 ++++++++++++ factory/ausfcfg_with_custom_webui_url.yaml | 12 ++++++++ go.mod | 3 ++ 4 files changed, 67 insertions(+) create mode 100644 factory/ausf_config_test.go create mode 100644 factory/ausfcfg.yaml create mode 100644 factory/ausfcfg_with_custom_webui_url.yaml diff --git a/factory/ausf_config_test.go b/factory/ausf_config_test.go new file mode 100644 index 0000000..b873ba3 --- /dev/null +++ b/factory/ausf_config_test.go @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2024 Canonical Ltd. +/* + * Tests for AUSF Configuration Factory + */ + +package factory + +import ( + "fmt" + "testing" + + "github.com/stretchr/testify/assert" +) + +// Webui URL is not set then default Webui URL value is returned +func TestGetDefaultWebuiUrl(t *testing.T) { + if err := InitConfigFactory("ausfcfg.yaml"); err != nil { + fmt.Printf("Error in InitConfigFactory: %v\n", err) + } + got := AusfConfig.Configuration.WebuiUri + want := "webui:9876" + assert.Equal(t, got, want, "The webui URL is not correct.") +} + +// Webui URL is set to a custom value then custom Webui URL is returned +func TestGetCustomWebuiUrl(t *testing.T) { + if err := InitConfigFactory("ausfcfg_with_custom_webui_url.yaml"); err != nil { + fmt.Printf("Error in InitConfigFactory: %v\n", err) + } + got := AusfConfig.Configuration.WebuiUri + want := "myspecialwebui:9872" + assert.Equal(t, got, want, "The webui URL is not correct.") +} diff --git a/factory/ausfcfg.yaml b/factory/ausfcfg.yaml new file mode 100644 index 0000000..d65d7c6 --- /dev/null +++ b/factory/ausfcfg.yaml @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: 2024 Canonical Ltd. + +configuration: + groupId: ausfGroup001 + nrfUri: http://nrf:8081 + sbi: + bindingIPv4: 0.0.0.0 + port: 29509 + registerIPv4: 1.1.1.1 + scheme: https + serviceNameList: + - nausf-auth +info: + description: AUSF initial local configuration + version: 1.0.0 + + diff --git a/factory/ausfcfg_with_custom_webui_url.yaml b/factory/ausfcfg_with_custom_webui_url.yaml new file mode 100644 index 0000000..c9d3672 --- /dev/null +++ b/factory/ausfcfg_with_custom_webui_url.yaml @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: 2024 Canonical Ltd. + +configuration: + groupId: ausfGroup001 + nrfUri: http://nrf:8081 + webuiUri: myspecialwebui:9872 # a valid URI of Webui +info: + description: AUSF initial local configuration + version: 1.0.0 + + diff --git a/go.mod b/go.mod index 24eb957..992f793 100644 --- a/go.mod +++ b/go.mod @@ -15,6 +15,7 @@ require ( github.com/omec-project/openapi v1.2.0 github.com/omec-project/util v1.0.13 github.com/sirupsen/logrus v1.9.3 + github.com/stretchr/testify v1.8.4 github.com/urfave/cli v1.22.14 gopkg.in/yaml.v2 v2.4.0 ) @@ -24,6 +25,7 @@ require ( github.com/bytedance/sonic v1.9.1 // indirect github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-playground/locales v0.14.1 // indirect @@ -43,6 +45,7 @@ require ( github.com/omec-project/logger_conf v1.1.1 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.11 // indirect