syft/imgbom/cataloger/python/parse_requirements_test.go
Alfredo Deza f8a2b7a626 tests: verify requirements.txt captures versions
Signed-off-by: Alfredo Deza <adeza@anchore.com>
2020-07-21 15:49:19 -04:00

40 lines
785 B
Go

package python
import (
"os"
"testing"
"github.com/anchore/imgbom/imgbom/pkg"
)
func TestParseRequirementsTxt(t *testing.T) {
expected := map[string]pkg.Package{
"foo": {
Name: "foo",
Version: "1.0.0",
Language: pkg.Python,
Type: pkg.PythonRequirementsPkg,
Licenses: []string{},
},
"flask": {
Name: "flask",
Version: "4.0.0",
Language: pkg.Python,
Type: pkg.PythonRequirementsPkg,
Licenses: []string{},
},
}
fixture, err := os.Open("test-fixtures/requires/requirements.txt")
if err != nil {
t.Fatalf("failed to open fixture: %+v", err)
}
actual, err := parseRequirementsTxt(fixture.Name(), fixture)
if err != nil {
t.Fatalf("failed to parse requirements: %+v", err)
}
assertPkgsEqual(t, actual, expected)
}