Skip to content

Commit

Permalink
more tests
Browse files Browse the repository at this point in the history
Signed-off-by: balteravishay <[email protected]>
  • Loading branch information
balteravishay committed Jan 23, 2025
1 parent a047af7 commit 7765eae
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 3 deletions.
9 changes: 6 additions & 3 deletions probes/memorysafe/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ func init() {
}

func Run(raw *checker.CheckRequest) (found []finding.Finding, probeName string, err error) {
prominentLangs := getRepositoryLanguageChecks(raw.RepoClient)
prominentLangs := getRepositoryLanguageChecks(raw)
findings := []finding.Finding{}

for _, lang := range prominentLangs {
Expand All @@ -83,9 +83,12 @@ func Run(raw *checker.CheckRequest) (found []finding.Finding, probeName string,
return findings, Probe, nil
}

func getRepositoryLanguageChecks(client clients.RepoClient) []languageMemoryCheckConfig {
langs, err := client.ListProgrammingLanguages()
func getRepositoryLanguageChecks(raw *checker.CheckRequest) []languageMemoryCheckConfig {
langs, err := raw.RepoClient.ListProgrammingLanguages()
if err != nil {
raw.Dlogger.Warn(&checker.LogMessage{
Text: fmt.Sprintf("RepoClient retured error for ListProgrammingLanguages: %v", err),
})
return nil
}
if len(langs) == 0 {
Expand Down
61 changes: 61 additions & 0 deletions probes/memorysafe/impl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
package memorysafe

import (
"fmt"
"io"
"os"
"testing"
Expand Down Expand Up @@ -457,3 +458,63 @@ func Test_Run(t *testing.T) {
})
}
}

func Test_Run_Error_ListProgrammingLanguages(t *testing.T) {

Check failure on line 462 in probes/memorysafe/impl_test.go

View workflow job for this annotation

GitHub Actions / check-linter

Function Test_Run_Error_ListProgrammingLanguages missing the call to method parallel (paralleltest)
ctrl := gomock.NewController(t)
raw := &checker.CheckRequest{}
mockRepoClient := mockrepo.NewMockRepoClient(ctrl)
mockRepoClient.EXPECT().ListProgrammingLanguages().DoAndReturn(func() ([]clients.Language, error) {
return nil, fmt.Errorf("error")
}).AnyTimes()
raw.RepoClient = mockRepoClient
raw.Dlogger = checker.NewLogger()
findings, _, err := Run(raw)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if diff := cmp.Diff(findings, []finding.Finding{}, cmpopts.IgnoreUnexported(finding.Finding{})); diff != "" {
t.Error(diff)
}
}

func Test_Run_Error_OnMatchingFileContentDo(t *testing.T) {
t.Parallel()
//nolint:govet
tests := []struct {
name string
repoLanguages []clients.Language
expected_err error

Check failure on line 486 in probes/memorysafe/impl_test.go

View workflow job for this annotation

GitHub Actions / check-linter

ST1003: should not use underscores in Go names; struct field expected_err should be expectedErr (stylecheck)
}{
{
name: "csharp error",
repoLanguages: []clients.Language{{Name: clients.CSharp, NumLines: 0}},
expected_err: fmt.Errorf("error while running function for language Check if C# code uses unsafe blocks: error during ListFiles: error"),
},
{
name: "golang error",
repoLanguages: []clients.Language{{Name: clients.Go, NumLines: 0}},
expected_err: fmt.Errorf("error while running function for language Check if Go code uses the unsafe package: error during ListFiles: error"),
},
}
for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
ctrl := gomock.NewController(t)
raw := &checker.CheckRequest{}
mockRepoClient := mockrepo.NewMockRepoClient(ctrl)
mockRepoClient.EXPECT().ListProgrammingLanguages().DoAndReturn(func() ([]clients.Language, error) {
return tt.repoLanguages, nil
}).AnyTimes()
mockRepoClient.EXPECT().ListFiles(gomock.Any()).DoAndReturn(func(predicate func(string) (bool, error)) ([]string, error) {
return nil, fmt.Errorf("error")
}).AnyTimes()
raw.RepoClient = mockRepoClient
raw.Dlogger = checker.NewLogger()
_, _, err := Run(raw)
if err.Error() != tt.expected_err.Error() {
t.Error(cmp.Diff(err, tt.expected_err, cmpopts.EquateErrors()))
}
})
}
}

0 comments on commit 7765eae

Please sign in to comment.