Skip to content

Commit

Permalink
Use require in api and utils/password packages (ava-labs#1471)
Browse files Browse the repository at this point in the history
  • Loading branch information
dhrubabasu committed May 6, 2023
1 parent 1b64bbe commit 755ad40
Show file tree
Hide file tree
Showing 15 changed files with 373 additions and 514 deletions.
97 changes: 34 additions & 63 deletions api/admin/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,140 +76,114 @@ func (mc *mockClient) SendRequest(_ context.Context, _ string, _ interface{}, re
}

func TestStartCPUProfiler(t *testing.T) {
require := require.New(t)

tests := GetSuccessResponseTests()

for _, test := range tests {
mockClient := client{requester: NewMockClient(&api.EmptyReply{}, test.Err)}
err := mockClient.StartCPUProfiler(context.Background())
// if there is error as expected, the test passes
if err != nil && test.Err != nil {
continue
}
if err != nil {
t.Fatalf("Unexpected error: %s", err)
}
require.ErrorIs(err, test.Err)
}
}

func TestStopCPUProfiler(t *testing.T) {
require := require.New(t)

tests := GetSuccessResponseTests()

for _, test := range tests {
mockClient := client{requester: NewMockClient(&api.EmptyReply{}, test.Err)}
err := mockClient.StopCPUProfiler(context.Background())
// if there is error as expected, the test passes
if err != nil && test.Err != nil {
continue
}
if err != nil {
t.Fatalf("Unexpected error: %s", err)
}
require.ErrorIs(err, test.Err)
}
}

func TestMemoryProfile(t *testing.T) {
require := require.New(t)

tests := GetSuccessResponseTests()

for _, test := range tests {
mockClient := client{requester: NewMockClient(&api.EmptyReply{}, test.Err)}
err := mockClient.MemoryProfile(context.Background())
// if there is error as expected, the test passes
if err != nil && test.Err != nil {
continue
}
if err != nil {
t.Fatalf("Unexpected error: %s", err)
}
require.ErrorIs(err, test.Err)
}
}

func TestLockProfile(t *testing.T) {
require := require.New(t)

tests := GetSuccessResponseTests()

for _, test := range tests {
mockClient := client{requester: NewMockClient(&api.EmptyReply{}, test.Err)}
err := mockClient.LockProfile(context.Background())
// if there is error as expected, the test passes
if err != nil && test.Err != nil {
continue
}
if err != nil {
t.Fatalf("Unexpected error: %s", err)
}
require.ErrorIs(err, test.Err)
}
}

func TestAlias(t *testing.T) {
require := require.New(t)

tests := GetSuccessResponseTests()

for _, test := range tests {
mockClient := client{requester: NewMockClient(&api.EmptyReply{}, test.Err)}
err := mockClient.Alias(context.Background(), "alias", "alias2")
// if there is error as expected, the test passes
if err != nil && test.Err != nil {
continue
}
if err != nil {
t.Fatalf("Unexpected error: %s", err)
}
require.ErrorIs(err, test.Err)
}
}

func TestAliasChain(t *testing.T) {
require := require.New(t)

tests := GetSuccessResponseTests()

for _, test := range tests {
mockClient := client{requester: NewMockClient(&api.EmptyReply{}, test.Err)}
err := mockClient.AliasChain(context.Background(), "chain", "chain-alias")
// if there is error as expected, the test passes
if err != nil && test.Err != nil {
continue
}
if err != nil {
t.Fatalf("Unexpected error: %s", err)
}
require.ErrorIs(err, test.Err)
}
}

func TestGetChainAliases(t *testing.T) {
t.Run("successful", func(t *testing.T) {
require := require.New(t)

expectedReply := []string{"alias1", "alias2"}
mockClient := client{requester: NewMockClient(&GetChainAliasesReply{
Aliases: expectedReply,
}, nil)}

reply, err := mockClient.GetChainAliases(context.Background(), "chain")
require.NoError(t, err)
require.ElementsMatch(t, expectedReply, reply)
require.NoError(err)
require.Equal(expectedReply, reply)
})

t.Run("failure", func(t *testing.T) {
mockClient := client{requester: NewMockClient(&GetChainAliasesReply{}, errTest)}

_, err := mockClient.GetChainAliases(context.Background(), "chain")

require.ErrorIs(t, err, errTest)
})
}

func TestStacktrace(t *testing.T) {
require := require.New(t)

tests := GetSuccessResponseTests()

for _, test := range tests {
mockClient := client{requester: NewMockClient(&api.EmptyReply{}, test.Err)}
err := mockClient.Stacktrace(context.Background())
// if there is error as expected, the test passes
if err != nil && test.Err != nil {
continue
}
if err != nil {
t.Fatalf("Unexpected error: %s", err)
}
require.ErrorIs(err, test.Err)
}
}

func TestReloadInstalledVMs(t *testing.T) {
t.Run("successful", func(t *testing.T) {
require := require.New(t)

expectedNewVMs := map[ids.ID][]string{
ids.GenerateTestID(): {"foo"},
ids.GenerateTestID(): {"bar"},
Expand All @@ -224,16 +198,14 @@ func TestReloadInstalledVMs(t *testing.T) {
}, nil)}

loadedVMs, failedVMs, err := mockClient.LoadVMs(context.Background())
require.NoError(t, err)
require.Equal(t, expectedNewVMs, loadedVMs)
require.Equal(t, expectedFailedVMs, failedVMs)
require.NoError(err)
require.Equal(expectedNewVMs, loadedVMs)
require.Equal(expectedFailedVMs, failedVMs)
})

t.Run("failure", func(t *testing.T) {
mockClient := client{requester: NewMockClient(&LoadVMsReply{}, errTest)}

_, _, err := mockClient.LoadVMs(context.Background())

require.ErrorIs(t, err, errTest)
})
}
Expand Down Expand Up @@ -278,8 +250,6 @@ func TestSetLoggerLevel(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
require := require.New(t)

c := client{
requester: NewMockClient(&api.EmptyReply{}, tt.serviceErr),
}
Expand All @@ -289,7 +259,7 @@ func TestSetLoggerLevel(t *testing.T) {
tt.logLevel,
tt.displayLevel,
)
require.ErrorIs(err, tt.clientErr)
require.ErrorIs(t, err, tt.clientErr)
})
}
}
Expand Down Expand Up @@ -376,9 +346,10 @@ func TestGetConfig(t *testing.T) {
}
res, err := c.GetConfig(context.Background())
require.ErrorIs(err, tt.clientErr)
if tt.clientErr == nil {
require.Equal(resp, res)
if tt.clientErr != nil {
return
}
require.Equal(resp, res)
})
}
}
14 changes: 10 additions & 4 deletions api/admin/service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ func initLoadVMsTest(t *testing.T) *loadVMsTest {

// Tests behavior for LoadVMs if everything succeeds.
func TestLoadVMsSuccess(t *testing.T) {
require := require.New(t)

resources := initLoadVMsTest(t)
defer resources.ctrl.Finish()

Expand Down Expand Up @@ -75,12 +77,14 @@ func TestLoadVMsSuccess(t *testing.T) {
reply := LoadVMsReply{}
err := resources.admin.LoadVMs(&http.Request{}, nil, &reply)

require.Equal(t, expectedVMRegistry, reply.NewVMs)
require.NoError(t, err)
require.Equal(expectedVMRegistry, reply.NewVMs)
require.NoError(err)
}

// Tests behavior for LoadVMs if we fail to reload vms.
func TestLoadVMsReloadFails(t *testing.T) {
require := require.New(t)

resources := initLoadVMsTest(t)
defer resources.ctrl.Finish()

Expand All @@ -90,11 +94,13 @@ func TestLoadVMsReloadFails(t *testing.T) {

reply := LoadVMsReply{}
err := resources.admin.LoadVMs(&http.Request{}, nil, &reply)
require.ErrorIs(t, err, errTest)
require.ErrorIs(err, errTest)
}

// Tests behavior for LoadVMs if we fail to fetch our aliases
func TestLoadVMsGetAliasesFails(t *testing.T) {
require := require.New(t)

resources := initLoadVMsTest(t)
defer resources.ctrl.Finish()

Expand All @@ -114,5 +120,5 @@ func TestLoadVMsGetAliasesFails(t *testing.T) {

reply := LoadVMsReply{}
err := resources.admin.LoadVMs(&http.Request{}, nil, &reply)
require.ErrorIs(t, err, errTest)
require.ErrorIs(err, errTest)
}

0 comments on commit 755ad40

Please sign in to comment.