Skip to content

Commit

Permalink
versionfmt: convert to using constant over literal
Browse files Browse the repository at this point in the history
  • Loading branch information
jzelinskie committed Jan 3, 2017
1 parent ebd0170 commit 8d29bf8
Show file tree
Hide file tree
Showing 28 changed files with 142 additions and 169 deletions.
6 changes: 2 additions & 4 deletions database/pgsql/complex_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,9 @@ import (
"github.com/stretchr/testify/assert"

"github.com/coreos/clair/database"
"github.com/coreos/clair/ext/versionfmt/dpkg"
"github.com/coreos/clair/utils"
"github.com/coreos/clair/utils/types"

// dpkg versioning is used to parse test packages.
_ "github.com/coreos/clair/ext/versionfmt/dpkg"
)

const (
Expand All @@ -51,7 +49,7 @@ func TestRaceAffects(t *testing.T) {
feature := database.Feature{
Namespace: database.Namespace{
Name: "TestRaceAffectsFeatureNamespace1",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestRaceAffecturesFeature1",
}
Expand Down
4 changes: 1 addition & 3 deletions database/pgsql/feature.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ package pgsql

import (
"database/sql"
"fmt"
"strings"
"time"

Expand Down Expand Up @@ -66,7 +65,6 @@ func (pgSQL *pgSQL) insertFeature(feature database.Feature) (int, error) {
func (pgSQL *pgSQL) insertFeatureVersion(fv database.FeatureVersion) (id int, err error) {
err = versionfmt.Valid(fv.Feature.Namespace.VersionFormat, fv.Version)
if err != nil {
fmt.Println(err)
return 0, cerrors.NewBadRequestError("could not find/insert invalid FeatureVersion")
}

Expand Down Expand Up @@ -205,7 +203,7 @@ func linkFeatureVersionToVulnerabilities(tx *sql.Tx, featureVersion database.Fea
// TODO(Quentin-M): LIMIT
rows, err := tx.Query(searchVulnerabilityFixedInFeature, featureVersion.Feature.ID)
if err != nil {
return handleError("searchVulnerabilityFixedInFeature", err)
return err
}
defer rows.Close()

Expand Down
12 changes: 5 additions & 7 deletions database/pgsql/feature_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@ import (
"github.com/stretchr/testify/assert"

"github.com/coreos/clair/database"

// dpkg versioning is used to parse test packages.
_ "github.com/coreos/clair/ext/versionfmt/dpkg"
"github.com/coreos/clair/ext/versionfmt/dpkg"
)

func TestInsertFeature(t *testing.T) {
Expand All @@ -49,7 +47,7 @@ func TestInsertFeature(t *testing.T) {
feature := database.Feature{
Namespace: database.Namespace{
Name: "TestInsertFeatureNamespace1",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertFeature1",
}
Expand All @@ -76,7 +74,7 @@ func TestInsertFeature(t *testing.T) {
Feature: database.Feature{
Namespace: database.Namespace{
Name: "TestInsertFeatureNamespace2",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertFeature2",
},
Expand All @@ -86,7 +84,7 @@ func TestInsertFeature(t *testing.T) {
Feature: database.Feature{
Namespace: database.Namespace{
Name: "TestInsertFeatureNamespace2",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertFeature2",
},
Expand All @@ -103,7 +101,7 @@ func TestInsertFeature(t *testing.T) {
Feature: database.Feature{
Namespace: database.Namespace{
Name: "TestInsertFeatureNamespace1",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertFeature1",
},
Expand Down
26 changes: 12 additions & 14 deletions database/pgsql/layer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,9 @@ import (
"github.com/stretchr/testify/assert"

"github.com/coreos/clair/database"
"github.com/coreos/clair/ext/versionfmt/dpkg"
cerrors "github.com/coreos/clair/utils/errors"
"github.com/coreos/clair/utils/types"

// dpkg versioning is used to parse test packages.
_ "github.com/coreos/clair/ext/versionfmt/dpkg"
)

func TestFindLayer(t *testing.T) {
Expand Down Expand Up @@ -144,7 +142,7 @@ func testInsertLayerTree(t *testing.T, datastore database.Datastore) {
Feature: database.Feature{
Namespace: database.Namespace{
Name: "TestInsertLayerNamespace2",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertLayerFeature1",
},
Expand All @@ -154,7 +152,7 @@ func testInsertLayerTree(t *testing.T, datastore database.Datastore) {
Feature: database.Feature{
Namespace: database.Namespace{
Name: "TestInsertLayerNamespace2",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertLayerFeature2",
},
Expand All @@ -164,7 +162,7 @@ func testInsertLayerTree(t *testing.T, datastore database.Datastore) {
Feature: database.Feature{
Namespace: database.Namespace{
Name: "TestInsertLayerNamespace2",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertLayerFeature3",
},
Expand All @@ -174,7 +172,7 @@ func testInsertLayerTree(t *testing.T, datastore database.Datastore) {
Feature: database.Feature{
Namespace: database.Namespace{
Name: "TestInsertLayerNamespace3",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertLayerFeature2",
},
Expand All @@ -184,7 +182,7 @@ func testInsertLayerTree(t *testing.T, datastore database.Datastore) {
Feature: database.Feature{
Namespace: database.Namespace{
Name: "TestInsertLayerNamespace3",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertLayerFeature3",
},
Expand All @@ -194,7 +192,7 @@ func testInsertLayerTree(t *testing.T, datastore database.Datastore) {
Feature: database.Feature{
Namespace: database.Namespace{
Name: "TestInsertLayerNamespace3",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertLayerFeature4",
},
Expand All @@ -210,7 +208,7 @@ func testInsertLayerTree(t *testing.T, datastore database.Datastore) {
Parent: &database.Layer{Name: "TestInsertLayer1"},
Namespace: &database.Namespace{
Name: "TestInsertLayerNamespace1",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
},
// This layer changes the namespace and adds Features.
Expand All @@ -219,7 +217,7 @@ func testInsertLayerTree(t *testing.T, datastore database.Datastore) {
Parent: &database.Layer{Name: "TestInsertLayer2"},
Namespace: &database.Namespace{
Name: "TestInsertLayerNamespace2",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Features: []database.FeatureVersion{f1, f2, f3},
},
Expand All @@ -237,7 +235,7 @@ func testInsertLayerTree(t *testing.T, datastore database.Datastore) {
Parent: &database.Layer{Name: "TestInsertLayer3"},
Namespace: &database.Namespace{
Name: "TestInsertLayerNamespace3",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Features: []database.FeatureVersion{
// Deletes TestInsertLayerFeature1.
Expand Down Expand Up @@ -295,7 +293,7 @@ func testInsertLayerUpdate(t *testing.T, datastore database.Datastore) {
Feature: database.Feature{
Namespace: database.Namespace{
Name: "TestInsertLayerNamespace3",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Name: "TestInsertLayerFeature7",
},
Expand All @@ -308,7 +306,7 @@ func testInsertLayerUpdate(t *testing.T, datastore database.Datastore) {
Parent: l3.Parent,
Namespace: &database.Namespace{
Name: "TestInsertLayerNamespaceUpdated1",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Features: []database.FeatureVersion{f7},
}
Expand Down
8 changes: 3 additions & 5 deletions database/pgsql/namespace_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@ import (
"github.com/stretchr/testify/assert"

"github.com/coreos/clair/database"

// dpkg versioning is used to parse test packages.
_ "github.com/coreos/clair/ext/versionfmt/dpkg"
"github.com/coreos/clair/ext/versionfmt/dpkg"
)

func TestInsertNamespace(t *testing.T) {
Expand All @@ -42,12 +40,12 @@ func TestInsertNamespace(t *testing.T) {
// Insert Namespace and ensure we can find it.
id1, err := datastore.insertNamespace(database.Namespace{
Name: "TestInsertNamespace1",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
})
assert.Nil(t, err)
id2, err := datastore.insertNamespace(database.Namespace{
Name: "TestInsertNamespace1",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
})
assert.Nil(t, err)
assert.Equal(t, id1, id2)
Expand Down
8 changes: 3 additions & 5 deletions database/pgsql/notification_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,9 @@ import (

"github.com/coreos/clair/database"
"github.com/coreos/clair/ext/versionfmt"
"github.com/coreos/clair/ext/versionfmt/dpkg"
cerrors "github.com/coreos/clair/utils/errors"
"github.com/coreos/clair/utils/types"

// dpkg versioning is used to parse test packages.
_ "github.com/coreos/clair/ext/versionfmt/dpkg"
)

func TestNotification(t *testing.T) {
Expand All @@ -46,15 +44,15 @@ func TestNotification(t *testing.T) {
Name: "TestNotificationFeature1",
Namespace: database.Namespace{
Name: "TestNotificationNamespace1",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
}

f2 := database.Feature{
Name: "TestNotificationFeature2",
Namespace: database.Namespace{
Name: "TestNotificationNamespace1",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
}

Expand Down
12 changes: 5 additions & 7 deletions database/pgsql/vulnerability_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,9 @@ import (

"github.com/coreos/clair/database"
"github.com/coreos/clair/ext/versionfmt"
"github.com/coreos/clair/ext/versionfmt/dpkg"
cerrors "github.com/coreos/clair/utils/errors"
"github.com/coreos/clair/utils/types"

// dpkg versioning is used to parse test packages.
_ "github.com/coreos/clair/ext/versionfmt/dpkg"
)

func TestFindVulnerability(t *testing.T) {
Expand All @@ -49,7 +47,7 @@ func TestFindVulnerability(t *testing.T) {
Severity: types.High,
Namespace: database.Namespace{
Name: "debian:7",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
FixedIn: []database.FeatureVersion{
{
Expand All @@ -74,7 +72,7 @@ func TestFindVulnerability(t *testing.T) {
Description: "A vulnerability affecting nothing",
Namespace: database.Namespace{
Name: "debian:7",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
},
Severity: types.Unknown,
}
Expand Down Expand Up @@ -118,11 +116,11 @@ func TestInsertVulnerability(t *testing.T) {
// Create some data.
n1 := database.Namespace{
Name: "TestInsertVulnerabilityNamespace1",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
}
n2 := database.Namespace{
Name: "TestInsertVulnerabilityNamespace2",
VersionFormat: "dpkg",
VersionFormat: dpkg.ParserName,
}

f1 := database.FeatureVersion{
Expand Down
5 changes: 4 additions & 1 deletion ext/versionfmt/dpkg/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ import (
"github.com/coreos/clair/ext/versionfmt"
)

// ParserName is the name by which the dpkg parser is registered.
const ParserName = "dpkg"

type version struct {
epoch int
version string
Expand Down Expand Up @@ -278,5 +281,5 @@ func signum(a int) int {
}

func init() {
versionfmt.RegisterParser("dpkg", parser{})
versionfmt.RegisterParser(ParserName, parser{})
}
2 changes: 1 addition & 1 deletion ext/versionfmt/driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ const (
// MinVersion is a special package version which is always sorted first.
MinVersion = "#MINV#"

// MaxVersion is a special package version which is always sorted last
// MaxVersion is a special package version which is always sorted last.
MaxVersion = "#MAXV#"
)

Expand Down
5 changes: 4 additions & 1 deletion ext/versionfmt/rpm/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ import (
"github.com/coreos/clair/ext/versionfmt"
)

// ParserName is the name by which the rpm parser is registered.
const ParserName = "rpm"

var (
// alphanumPattern is a regular expression to match all sequences of numeric
// characters or alphanumeric characters.
Expand Down Expand Up @@ -273,5 +276,5 @@ func containsRune(s []rune, e rune) bool {
}

func init() {
versionfmt.RegisterParser("rpm", parser{})
versionfmt.RegisterParser(ParserName, parser{})
}

0 comments on commit 8d29bf8

Please sign in to comment.