Skip to content

Commit 896f270

Browse files
edwardrfedw-defanglionello
authored
Edw/fix put config panic (#864)
* Ensure project name is set in set config call * Add test to make sure project name is set in putconfigrequest * Update src/pkg/cli/configSet_test.go --------- Co-authored-by: Edward J <[email protected]> Co-authored-by: Lio李歐 <[email protected]>
1 parent 5dd40e7 commit 896f270

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

src/pkg/cli/configSet.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ func ConfigSet(ctx context.Context, loader client.Loader, provider client.Provid
1919
return ErrDryRun
2020
}
2121

22-
return provider.PutConfig(ctx, &defangv1.PutConfigRequest{Name: name, Value: value})
22+
return provider.PutConfig(ctx, &defangv1.PutConfigRequest{Project: projectName, Name: name, Value: value})
2323
}

src/pkg/cli/configSet_test.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package cli
2+
3+
import (
4+
"context"
5+
"errors"
6+
"testing"
7+
8+
"github.com/DefangLabs/defang/src/pkg/cli/client"
9+
"github.com/DefangLabs/defang/src/pkg/cli/compose"
10+
defangv1 "github.com/DefangLabs/defang/src/protos/io/defang/v1"
11+
)
12+
13+
func TestConfigSet(t *testing.T) {
14+
ctx := context.Background()
15+
loader := client.MockLoader{Project: &compose.Project{Name: "test"}}
16+
provider := MustHaveProjectNamePutConfigProvider{}
17+
err := ConfigSet(ctx, loader, provider, "test_name", "test_value")
18+
if err != nil {
19+
t.Fatalf("ConfigSet() error = %v", err)
20+
}
21+
}
22+
23+
type MustHaveProjectNamePutConfigProvider struct {
24+
client.Provider
25+
}
26+
27+
func (m MustHaveProjectNamePutConfigProvider) PutConfig(ctx context.Context, req *defangv1.PutConfigRequest) error {
28+
if req.Project == "" {
29+
return errors.New("project name is missing")
30+
}
31+
return nil
32+
}

0 commit comments

Comments
 (0)