Skip to content

Commit ff119d5

Browse files
authored
chore: update release_test and publish_test to not use mocks (#3394)
Instead use the fakeLanguage flow for tests. Fixes #3380
1 parent 348c193 commit ff119d5

File tree

3 files changed

+17
-80
lines changed

3 files changed

+17
-80
lines changed

internal/librarian/publish.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ import (
2727
"github.com/urfave/cli/v3"
2828
)
2929

30-
var (
31-
rustPublishCrates = sidekickrust.PublishCrates
32-
rustCargoPreFlight = sidekickrust.CargoPreFlight
33-
)
34-
3530
func publishCommand() *cli.Command {
3631
return &cli.Command{
3732
Name: "publish",
@@ -82,7 +77,7 @@ func publish(ctx context.Context, cfg *config.Config, dryRun bool, skipSemverChe
8277
case languageFake:
8378
return fakePublish()
8479
case languageRust:
85-
return rustPublishCrates(ctx, rust.ToSidekickReleaseConfig(cfg.Release), dryRun, skipSemverChecks, lastTag, files)
80+
return sidekickrust.PublishCrates(ctx, rust.ToSidekickReleaseConfig(cfg.Release), dryRun, skipSemverChecks, lastTag, files)
8681
default:
8782
return fmt.Errorf("publish not implemented for %q", cfg.Language)
8883
}
@@ -104,7 +99,7 @@ func verifyRequiredTools(ctx context.Context, language string, cfg *config.Relea
10499
case languageFake:
105100
return nil
106101
case languageRust:
107-
if err := rustCargoPreFlight(ctx, rust.ToSidekickReleaseConfig(cfg)); err != nil {
102+
if err := sidekickrust.CargoPreFlight(ctx, rust.ToSidekickReleaseConfig(cfg)); err != nil {
108103
return err
109104
}
110105
default:

internal/librarian/release.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,6 @@ var (
3333
errReleaseConfigEmpty = errors.New("librarian Release.Config field empty")
3434
)
3535

36-
var (
37-
rustReleaseLibrary = rust.ReleaseLibrary
38-
librarianGenerateLibrary = runGenerate
39-
)
40-
4136
func releaseCommand() *cli.Command {
4237
return &cli.Command{
4338
Name: "release",
@@ -147,10 +142,10 @@ func releaseLibrary(ctx context.Context, cfg *config.Config, libConfig *config.L
147142
case languageFake:
148143
return fakeReleaseLibrary(libConfig)
149144
case languageRust:
150-
if err := rustReleaseLibrary(libConfig, srcPath); err != nil {
145+
if err := rust.ReleaseLibrary(libConfig, srcPath); err != nil {
151146
return err
152147
}
153-
if err := librarianGenerateLibrary(ctx, false, libConfig.Name); err != nil {
148+
if err := runGenerate(ctx, false, libConfig.Name); err != nil {
154149
return err
155150
}
156151
return nil

internal/librarian/release_test.go

Lines changed: 13 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
package librarian
1616

1717
import (
18-
"context"
1918
"errors"
2019
"path/filepath"
2120
"testing"
@@ -224,52 +223,24 @@ func TestLibraryByName(t *testing.T) {
224223
}
225224
}
226225

227-
func TestReleaseRust(t *testing.T) {
228-
origRustReleaseLibrary := rustReleaseLibrary
229-
origLibrarianGenerateLibrary := librarianGenerateLibrary
230-
231-
defer func() {
232-
rustReleaseLibrary = origRustReleaseLibrary
233-
librarianGenerateLibrary = origLibrarianGenerateLibrary
234-
}()
226+
func TestRelease(t *testing.T) {
235227

236228
tests := []struct {
237-
name string
238-
srcPath string
239-
releaseError error
240-
generateError error
241-
wantReleaseCalled bool
242-
wantGenerateCalled bool
243-
wantErr bool
229+
name string
230+
srcPath string
231+
version string
244232
}{
245233
{
246-
name: "library released",
247-
srcPath: "src/storage",
248-
wantReleaseCalled: true,
249-
wantGenerateCalled: true,
250-
},
251-
{
252-
name: "generate error",
253-
srcPath: "src/storage",
254-
wantReleaseCalled: true,
255-
wantGenerateCalled: true,
256-
generateError: errors.New("generate error"),
257-
wantErr: true,
258-
},
259-
{
260-
name: "rust release error",
261-
srcPath: "src/storage",
262-
wantReleaseCalled: true,
263-
wantGenerateCalled: false,
264-
releaseError: errors.New("release error"),
265-
wantErr: true,
234+
name: "library released",
235+
srcPath: "src/storage",
236+
version: "1.2.3",
266237
},
267238
}
268239
testhelper.RequireCommand(t, "git")
269-
remoteDir := testhelper.SetupRepoWithChange(t, "v1.0.0")
240+
remoteDir := testhelper.SetupRepoWithChange(t, "v1.2.2")
270241
testhelper.CloneRepository(t, remoteDir)
271242
cfg := &config.Config{
272-
Language: languageRust,
243+
Language: languageFake,
273244
Release: &config.Release{
274245
Remote: "origin",
275246
Branch: "main",
@@ -278,37 +249,13 @@ func TestReleaseRust(t *testing.T) {
278249

279250
for _, test := range tests {
280251
t.Run(test.name, func(t *testing.T) {
281-
var (
282-
generateCalled bool
283-
releaseCalled bool
284-
)
285-
rustReleaseLibrary = func(library *config.Library, srcPath string) error {
286-
releaseCalled = true
287-
return test.releaseError
288-
}
289-
librarianGenerateLibrary = func(ctx context.Context, all bool, libraryName string) error {
290-
generateCalled = true
291-
return test.generateError
292-
}
293252
libConfg := &config.Library{}
294253
err := releaseLibrary(t.Context(), cfg, libConfg, test.srcPath)
295-
296-
if (err != nil) != test.wantErr {
297-
t.Fatalf("releaseLibrary() error = %v, wantErr %v", err, test.wantErr)
298-
}
299-
if releaseCalled != test.wantReleaseCalled {
300-
t.Errorf("releaseCalled = %v, want %v", releaseCalled, test.wantReleaseCalled)
301-
}
302-
if generateCalled != test.wantGenerateCalled {
303-
t.Errorf("generateCalled = %v, want %v", generateCalled, test.wantGenerateCalled)
304-
}
305-
if test.releaseError != nil && test.releaseError != err {
306-
t.Errorf("releaseError= %v, want %v", err, test.releaseError)
307-
254+
if err != nil {
255+
t.Fatalf("releaseLibrary() error = %v", err)
308256
}
309-
if test.generateError != nil && test.generateError != err {
310-
t.Errorf("generateError= %v, want %v", err, test.generateError)
311-
257+
if libConfg.Version != test.version {
258+
t.Errorf("library %q version mismatch: want %q, got %q", libConfg.Name, test.version, libConfg.Version)
312259
}
313260
})
314261

0 commit comments

Comments
 (0)