Skip to content

Commit 8b0cbe5

Browse files
edwardrfedw-defang
andauthored
Fix ai debug panic and wrong end point printed for byoc (#877)
* Fix AI debugger panic * Fix endpoint parameter order --------- Co-authored-by: Edward J <[email protected]>
1 parent 41ee922 commit 8b0cbe5

File tree

3 files changed

+49
-2
lines changed

3 files changed

+49
-2
lines changed

src/pkg/cli/client/byoc/aws/byoc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -823,7 +823,7 @@ func (b *ByocAws) update(ctx context.Context, projectName, delegateDomain string
823823
for _, port := range service.Ports {
824824
hasIngress = hasIngress || port.Mode == compose.Mode_INGRESS
825825
hasHost = hasHost || port.Mode == compose.Mode_HOST
826-
si.Endpoints = append(si.Endpoints, b.getEndpoint(projectName, delegateDomain, fqn, &port))
826+
si.Endpoints = append(si.Endpoints, b.getEndpoint(fqn, projectName, delegateDomain, &port))
827827
mode := defangv1.Mode_INGRESS
828828
if port.Mode == compose.Mode_HOST {
829829
mode = defangv1.Mode_HOST

src/pkg/cli/debug.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ func Debug(ctx context.Context, l client.Loader, c client.FabricClient, p client
7272
Etag: etag,
7373
Files: files,
7474
Services: failedServices,
75+
Project: project.Name,
7576
}
7677
err := p.Query(ctx, &req)
7778
if err != nil {

src/pkg/cli/debug_test.go

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ package cli
22

33
import (
44
"context"
5+
"errors"
56
"testing"
67

8+
"github.com/DefangLabs/defang/src/pkg/cli/client"
79
"github.com/DefangLabs/defang/src/pkg/cli/compose"
810
defangv1 "github.com/DefangLabs/defang/src/protos/io/defang/v1"
911
)
1012

11-
func TestDebug(t *testing.T) {
13+
func TestFindMathingProjectFiles(t *testing.T) {
1214
project, err := compose.NewLoader(compose.WithPath("../../tests/debugproj/compose.yaml")).LoadProject(context.Background())
1315
if err != nil {
1416
t.Fatal(err)
@@ -33,3 +35,47 @@ func TestDebug(t *testing.T) {
3335
}
3436
}
3537
}
38+
39+
type MustHaveProjectNameQueryProvider struct {
40+
client.Provider
41+
}
42+
43+
func (m MustHaveProjectNameQueryProvider) Query(ctx context.Context, req *defangv1.DebugRequest) error {
44+
if req.Project == "" {
45+
return errors.New("project name is missing")
46+
}
47+
return nil
48+
}
49+
50+
type MockDebugFabricClient struct {
51+
client.FabricClient
52+
}
53+
54+
func (m MockDebugFabricClient) Debug(ctx context.Context, req *defangv1.DebugRequest) (*defangv1.DebugResponse, error) {
55+
return &defangv1.DebugResponse{}, nil
56+
}
57+
58+
func TestQueryHasProject(t *testing.T) {
59+
project, err := compose.NewLoader(compose.WithPath("../../tests/debugproj/compose.yaml")).LoadProject(context.Background())
60+
if err != nil {
61+
t.Fatal(err)
62+
}
63+
64+
provider := MustHaveProjectNameQueryProvider{}
65+
fabricClient := MockDebugFabricClient{}
66+
67+
if err := Debug(context.Background(), compose.NewLoader(), fabricClient, provider, "etag", project, []string{"service"}); err != nil {
68+
t.Errorf("expected no error, got %v", err)
69+
}
70+
71+
project.Name = ""
72+
73+
if err := Debug(context.Background(), compose.NewLoader(), fabricClient, provider, "etag", project, []string{"service"}); err == nil {
74+
t.Error("expected error, got nil")
75+
} else {
76+
if err.Error() != "project name is missing" {
77+
t.Errorf("expected error %q, got %q", "project name is missing", err.Error())
78+
}
79+
}
80+
81+
}

0 commit comments

Comments
 (0)