Skip to content

Commit 1303fce

Browse files
mirkoCrobumirkoCrobu
andauthored
filter=default in app list doesn't return the default app
Co-authored-by: mirkoCrobu <mirkocrobu@NB-0531.localdomain>
1 parent 147edf8 commit 1303fce

File tree

2 files changed

+74
-3
lines changed

2 files changed

+74
-3
lines changed

internal/e2e/daemon/app_test.go

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"encoding/json"
66
"io"
77
"net/http"
8+
"strconv"
89
"strings"
910
"testing"
1011

@@ -109,7 +110,6 @@ func TestCreateApp(t *testing.T) {
109110
})
110111
}
111112
}
112-
113113
func TestCreateAndVerifyAppDetails(t *testing.T) {
114114
httpClient := GetHttpclient(t)
115115
appToCreate := client.CreateAppRequest{
@@ -763,3 +763,74 @@ func TestAppPorts(t *testing.T) {
763763

764764
})
765765
}
766+
767+
func TestAppList(t *testing.T) {
768+
httpClient := GetHttpclient(t)
769+
t.Run("AppListEmpty_success", func(t *testing.T) {
770+
resp, err := httpClient.GetAppsWithResponse(t.Context(), &client.GetAppsParams{})
771+
require.NoError(t, err)
772+
require.Equal(t, http.StatusOK, resp.StatusCode())
773+
require.NotNil(t, resp.JSON200)
774+
require.Empty(t, resp.JSON200.Apps, "The apps list should be empty")
775+
})
776+
777+
t.Run("AppListShouldContainsAllTheelements_success", func(t *testing.T) {
778+
expectedAppNumber := 5
779+
for i := 0; i < expectedAppNumber; i++ {
780+
r, err := httpClient.CreateApp(t.Context(), &client.CreateAppParams{
781+
SkipPython: f.Ptr(false),
782+
SkipSketch: f.Ptr(false),
783+
}, client.CreateAppRequest{
784+
Icon: f.Ptr("🌎"),
785+
Name: "HelloWorld-" + strconv.Itoa(i),
786+
Description: f.Ptr("My HelloWorld description")})
787+
require.NoError(t, err)
788+
defer r.Body.Close()
789+
}
790+
resp, err := httpClient.GetAppsWithResponse(t.Context(), &client.GetAppsParams{})
791+
require.NoError(t, err)
792+
require.Equal(t, http.StatusOK, resp.StatusCode())
793+
require.NotNil(t, resp.JSON200)
794+
require.Equal(t, len(*resp.JSON200.Apps), expectedAppNumber, "The apps list should contain "+strconv.Itoa(expectedAppNumber)+" elements")
795+
796+
})
797+
798+
t.Run("AppListDefault_success", func(t *testing.T) {
799+
r, err := httpClient.CreateApp(t.Context(), &client.CreateAppParams{
800+
SkipPython: f.Ptr(false),
801+
SkipSketch: f.Ptr(false),
802+
}, client.CreateAppRequest{
803+
Icon: f.Ptr("🌎"),
804+
Name: "HelloWorld-default",
805+
Description: f.Ptr("My HelloWorld description")})
806+
require.NoError(t, err)
807+
defer r.Body.Close()
808+
body, err := io.ReadAll(r.Body)
809+
require.NoError(t, err)
810+
require.Equal(t, http.StatusCreated, r.StatusCode)
811+
var createdApp client.CreateAppResponse
812+
err = json.Unmarshal(body, &createdApp)
813+
require.NoError(t, err)
814+
require.NotNil(t, createdApp.Id)
815+
defaultAppId := *createdApp.Id
816+
817+
editResp, err := httpClient.EditAppWithResponse(
818+
t.Context(),
819+
defaultAppId,
820+
client.EditRequest{
821+
Default: f.Ptr(true),
822+
},
823+
)
824+
require.NoError(t, err)
825+
require.Equal(t, http.StatusOK, editResp.StatusCode())
826+
827+
resp, err := httpClient.GetAppsWithResponse(t.Context(), &client.GetAppsParams{Filter: f.Ptr("default")})
828+
require.NoError(t, err)
829+
require.Equal(t, http.StatusOK, resp.StatusCode())
830+
require.NotNil(t, resp.JSON200)
831+
require.Equal(t, 1, len(*resp.JSON200.Apps), "The apps list should contain 1 element")
832+
require.Equal(t, true, *(*resp.JSON200.Apps)[0].Default, "The app should be default")
833+
app := (*resp.JSON200.Apps)[0]
834+
require.Equal(t, "HelloWorld-default", *app.Name, "The app name should be 'HelloWorld-default'")
835+
})
836+
}

internal/orchestrator/orchestrator.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -476,10 +476,10 @@ func ListApps(
476476
slog.Error("unable to get running app", slog.String("error", err.Error()))
477477
}
478478

479-
if req.ShowExamples {
479+
if req.ShowExamples || req.ShowOnlyDefault {
480480
pathsToExplore.Add(cfg.ExamplesDir())
481481
}
482-
if req.ShowApps {
482+
if req.ShowApps || req.ShowOnlyDefault {
483483
pathsToExplore.Add(cfg.AppsDir())
484484
// adds app that are on different paths
485485
if req.IncludeNonStandardLocationApps {

0 commit comments

Comments
 (0)