Skip to content

Commit

Permalink
fix things up
Browse files Browse the repository at this point in the history
  • Loading branch information
matt2e committed Oct 10, 2024
1 parent e77b4a5 commit 50c033e
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 10 deletions.
7 changes: 4 additions & 3 deletions backend/controller/admin/admin_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"github.com/alecthomas/types/optional"

ftlv1 "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1"
"github.com/TBD54566975/ftl/internal/bind"
"github.com/TBD54566975/ftl/internal/configuration"
"github.com/TBD54566975/ftl/internal/configuration/manager"
"github.com/TBD54566975/ftl/internal/configuration/providers"
Expand All @@ -35,7 +36,7 @@ func TestAdminService(t *testing.T) {
providers.Inline[configuration.Secrets]{},
})
assert.NoError(t, err)
admin := NewAdminService(cm, sm, &diskSchemaRetriever{})
admin := NewAdminService(cm, sm, &diskSchemaRetriever{}, optional.None[*bind.BindAllocator]())
assert.NotZero(t, admin)

expectedEnvarValue, err := json.MarshalIndent(map[string]string{"bar": "barfoo"}, "", " ")
Expand Down Expand Up @@ -199,7 +200,7 @@ var testSchema = schema.MustValidate(&schema.Schema{
type mockSchemaRetriever struct {
}

func (d *mockSchemaRetriever) GetActiveSchema(ctx context.Context) (*schema.Schema, error) {
func (d *mockSchemaRetriever) GetActiveSchema(ctx context.Context, bindAllocator optional.Option[*bind.BindAllocator]) (*schema.Schema, error) {
return testSchema, nil
}

Expand All @@ -217,7 +218,7 @@ func TestAdminValidation(t *testing.T) {
providers.Inline[configuration.Secrets]{},
})
assert.NoError(t, err)
admin := NewAdminService(cm, sm, &mockSchemaRetriever{})
admin := NewAdminService(cm, sm, &mockSchemaRetriever{}, optional.None[*bind.BindAllocator]())
assert.NotZero(t, admin)

testSetConfig(t, ctx, admin, "batmobile", "color", "Black", "")
Expand Down
9 changes: 5 additions & 4 deletions backend/controller/admin/local_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"github.com/alecthomas/assert/v2"
"github.com/alecthomas/types/optional"

"github.com/TBD54566975/ftl/internal/bind"
cf "github.com/TBD54566975/ftl/internal/configuration"
"github.com/TBD54566975/ftl/internal/configuration/manager"
"github.com/TBD54566975/ftl/internal/configuration/providers"
Expand All @@ -25,7 +26,7 @@ func TestDiskSchemaRetrieverWithBuildArtefact(t *testing.T) {
in.Build("dischema"),
func(t testing.TB, ic in.TestContext) {
dsr := &diskSchemaRetriever{deployRoot: optional.Some[string](ic.WorkingDir())}
sch, err := dsr.GetActiveSchema(ic.Context)
sch, err := dsr.GetActiveSchema(ic.Context, optional.None[*bind.BindAllocator]())
assert.NoError(t, err)

module, ok := sch.Module("dischema").Get()
Expand All @@ -42,7 +43,7 @@ func TestDiskSchemaRetrieverWithNoSchema(t *testing.T) {
in.CopyModule("dischema"),
func(t testing.TB, ic in.TestContext) {
dsr := &diskSchemaRetriever{}
_, err := dsr.GetActiveSchema(ic.Context)
_, err := dsr.GetActiveSchema(ic.Context, optional.None[*bind.BindAllocator]())
assert.Error(t, err)
},
)
Expand All @@ -64,10 +65,10 @@ func TestAdminNoValidationWithNoSchema(t *testing.T) {
assert.NoError(t, err)

dsr := &diskSchemaRetriever{deployRoot: optional.Some(string(t.TempDir()))}
_, err = dsr.GetActiveSchema(ctx)
_, err = dsr.GetActiveSchema(ctx, optional.None[*bind.BindAllocator]())
assert.Error(t, err)

admin := NewAdminService(cm, sm, dsr)
admin := NewAdminService(cm, sm, dsr, optional.None[*bind.BindAllocator]())
testSetConfig(t, ctx, admin, "batmobile", "color", "Red", "")
testSetSecret(t, ctx, admin, "batmobile", "owner", 99, "")
}
12 changes: 9 additions & 3 deletions frontend/cli/cmd_new.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"
"fmt"
"go/token"
"net/url"
"os"
"path/filepath"
"reflect"
Expand Down Expand Up @@ -40,6 +41,7 @@ func prepareNewCmd(ctx context.Context, k *kong.Kong, args []string) (optionalPl
} else if args[0] != "new" {
return optionalPlugin, nil
}

language := args[1]
// Default to `new` command handler if no language is provided, or option is specified on `new` command.
if len(language) == 0 || language[0] == '-' {
Expand All @@ -53,13 +55,17 @@ func prepareNewCmd(ctx context.Context, k *kong.Kong, args []string) (optionalPl
return optionalPlugin, fmt.Errorf("could not find new command")
}

// use the cli endpoint to create the bind allocator, but leave the first port unused as it is meant to be reserved by a controller
// Too early to use any kong args here so we can't use cli.Endpoint.
// Hardcoding the default bind URL for now.
pluginBind, err := url.Parse("http://127.0.0.1:8893")
if err != nil {
return optionalPlugin, fmt.Errorf("could not parse default bind URL: %w", err)
}
var bindAllocator *bind.BindAllocator
bindAllocator, err = bind.NewBindAllocator(cli.Endpoint)
bindAllocator, err = bind.NewBindAllocator(pluginBind)
if err != nil {
return optionalPlugin, fmt.Errorf("could not create bind allocator: %w", err)
}
_ = bindAllocator.Next()

plugin, err := languageplugin.New(ctx, bindAllocator, language)
if err != nil {
Expand Down

0 comments on commit 50c033e

Please sign in to comment.