mirror of
https://github.com/securego/gosec.git
synced 2024-12-25 12:05:52 +00:00
46e55b908d
Add some test to validate the Sonarqube formatter. Signed-off-by: Cosmin Cojocar <cosmin.cojocar@gmx.ch>
76 lines
2.3 KiB
Go
76 lines
2.3 KiB
Go
package gosec_test
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"regexp"
|
|
|
|
. "github.com/onsi/ginkgo"
|
|
. "github.com/onsi/gomega"
|
|
"github.com/securego/gosec"
|
|
)
|
|
|
|
var _ = Describe("Helpers", func() {
|
|
Context("when listing pacakge paths", func() {
|
|
var dir string
|
|
JustBeforeEach(func() {
|
|
var err error
|
|
dir, err = ioutil.TempDir("", "gosec")
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
_, err = ioutil.TempFile(dir, "test*.go")
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
})
|
|
AfterEach(func() {
|
|
err := os.RemoveAll(dir)
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
})
|
|
It("should return the root directory as package path", func() {
|
|
paths, err := gosec.PackagePaths(dir, nil)
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
Expect(paths).Should(Equal([]string{dir}))
|
|
})
|
|
It("should return the package package path", func() {
|
|
paths, err := gosec.PackagePaths(dir+"/...", nil)
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
Expect(paths).Should(Equal([]string{dir}))
|
|
})
|
|
It("should exclude folder", func() {
|
|
nested := dir + "/vendor"
|
|
err := os.Mkdir(nested, 0755)
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
_, err = os.Create(nested + "/test.go")
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
exclude, err := regexp.Compile(`([\\/])?vendor([\\/])?`)
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
paths, err := gosec.PackagePaths(dir+"/...", exclude)
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
Expect(paths).Should(Equal([]string{dir}))
|
|
})
|
|
It("should be empty when folder does not exist", func() {
|
|
nested := dir + "/test"
|
|
paths, err := gosec.PackagePaths(nested+"/...", nil)
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
Expect(paths).Should(BeEmpty())
|
|
})
|
|
})
|
|
|
|
Context("when getting the root path", func() {
|
|
It("should return the absolute path from relative path", func() {
|
|
base := "test"
|
|
cwd, err := os.Getwd()
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
root, err := gosec.RootPath(base)
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
Expect(root).Should(Equal(filepath.Join(cwd, base)))
|
|
})
|
|
It("should retrun the absolute path from ellipsis path", func() {
|
|
base := "test"
|
|
cwd, err := os.Getwd()
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
root, err := gosec.RootPath(filepath.Join(base, "..."))
|
|
Expect(err).ShouldNot(HaveOccurred())
|
|
Expect(root).Should(Equal(filepath.Join(cwd, base)))
|
|
})
|
|
})
|
|
})
|