From 24d134f23367e3db30dfc0caf2637c37d730cfec Mon Sep 17 00:00:00 2001 From: Piotrek Zadroga Date: Thu, 24 Oct 2024 16:29:24 +0200 Subject: [PATCH] [#222] addressed review comments --- backend/server/restservice/machines.go | 19 ++++--------------- backend/server/restservice/swversions.go | 8 -------- backend/server/restservice/swversions_test.go | 11 +---------- 3 files changed, 5 insertions(+), 33 deletions(-) diff --git a/backend/server/restservice/machines.go b/backend/server/restservice/machines.go index b3cbb80b4..a8fc148f7 100644 --- a/backend/server/restservice/machines.go +++ b/backend/server/restservice/machines.go @@ -56,22 +56,11 @@ func (r *RestAPI) GetSoftwareVersions(ctx context.Context, params general.GetSof } // Find the location of the JSON file with software versions metadata. - var jsonFile string - for _, f := range getPotentialVersionsJSONLocations() { - _, err := os.Stat(f) - if err == nil { - jsonFile = f - break - } - } - if jsonFile == "" { - msg := "Cannot find the JSON file with software versions metadata" - log.Error(msg) - rsp := general.NewGetSoftwareVersionsDefault(http.StatusInternalServerError).WithPayload(&models.APIError{ - Message: &msg, - }) - return rsp + searchPaths := []string{ + VersionsJSON, // this is default location of the file in case Stork is installed from packages - most common use case + "etc/versions.json", // this is added in case Stork is built and ran from sources - typical for Stork development } + jsonFile := storkutil.GetFirstExistingPathOrDefault(VersionsJSON, searchPaths...) // Open JSON file. file, err := os.Open(jsonFile) diff --git a/backend/server/restservice/swversions.go b/backend/server/restservice/swversions.go index ebade1c25..bc572342e 100644 --- a/backend/server/restservice/swversions.go +++ b/backend/server/restservice/swversions.go @@ -40,14 +40,6 @@ type ReportAppsVersions struct { // It needs to be modified by tests so it has to be global variable. var VersionsJSON = "/etc/stork/versions.json" //nolint:gochecknoglobals -// Get potential locations of versions.json. -func getPotentialVersionsJSONLocations() []string { - return []string{ - VersionsJSON, // this is default location of the file in case Stork is installed from packages - most common use case - "etc/versions.json", // this is added in case Stork is built and ran from sources - typical for Stork development - } -} - // Post processes either Kea, Bind9 or Stork version metadata and returns the data in REST API format. // It returns an error when problem occurs when parsing dates. func appVersionMetadataToRestAPI(input ReportAppVersionMetadata) (*models.AppVersionMetadata, error) { diff --git a/backend/server/restservice/swversions_test.go b/backend/server/restservice/swversions_test.go index 0dd25230c..e8e56d902 100644 --- a/backend/server/restservice/swversions_test.go +++ b/backend/server/restservice/swversions_test.go @@ -117,8 +117,8 @@ func TestVersionDetailsToRestAPIError(t *testing.T) { Esv: esv, } resultOne, err1 := versionDetailsToRestAPI(exampleOne) + relDate = "bad date" - eolDate = "2026-12-31" exampleTwo := ReportVersionDetails{ Version: storkutil.NewSemanticVersion(3, 2, 1), ReleaseDate: &relDate, @@ -195,12 +195,3 @@ func TestAppVersionMetadataToRestAPI(t *testing.T) { require.Equal(t, "9.18.30", bind.SortedStableVersions[0]) require.Equal(t, "9.20.2", bind.SortedStableVersions[1]) } - -// Check if TestGetPotentialVersionsJSONLocations returns paths. -func TestGetPotentialVersionsJSONLocations(t *testing.T) { - // Arrange & Act - paths := getPotentialVersionsJSONLocations() - - // Assert - require.Greater(t, len(paths), 1) -}