Skip to content

Commit

Permalink
move constants to base component
Browse files Browse the repository at this point in the history
  • Loading branch information
northdpole committed Jun 4, 2024
1 parent 39bae1e commit 468b655
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 34 deletions.
10 changes: 10 additions & 0 deletions components/component.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package components

const (
// EnvDraconStartTime Start Time of Dracon Scan in RFC3339.
EnvDraconStartTime = "DRACON_SCAN_TIME"
// EnvDraconScanID the ID of the dracon scan.
EnvDraconScanID = "DRACON_SCAN_ID"
// EnvDraconScanTags the tags of the dracon scan.
EnvDraconScanTags = "DRACON_SCAN_TAGS"
)
17 changes: 3 additions & 14 deletions components/consumers/consumer.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,12 @@ import (
"os"

apiv1 "github.com/ocurity/dracon/api/proto/v1"
"github.com/ocurity/dracon/components"

draconLogger "github.com/ocurity/dracon/pkg/log"
"github.com/ocurity/dracon/pkg/putil"
)

const (
// EnvDraconStartTime Start Time of Dracon Scan in RFC3339.
EnvDraconStartTime = "DRACON_SCAN_TIME"
// EnvDraconScanID the ID of the dracon scan.
EnvDraconScanID = "DRACON_SCAN_ID"
// EnvDraconScanTags the tags of the dracon scan.
EnvDraconScanTags = "DRACON_SCAN_TAGS"
)

var (
inResults string
// Raw represents if the non-enriched results should be used.
Expand All @@ -35,18 +27,15 @@ func init() {
flag.StringVar(&inResults, "in", "", "the directory where dracon producer/enricher outputs are")
flag.BoolVar(&Raw, "raw", false, "if the non-enriched results should be used")
flag.BoolVar(&Debug, "debug", false, "turn on debug logging")

}

// ParseFlags will parse the input flags for the consumer and perform simple validation.
func ParseFlags() error {
flag.Parse()
draconLogger.SetDefault(slog.LevelInfo, os.Getenv(components.EnvDraconScanID), true)
if Debug {
draconLogger.SetDefault(slog.LevelDebug, os.Getenv(EnvDraconScanID), true)
} else {
draconLogger.SetDefault(slog.LevelInfo, os.Getenv(EnvDraconScanID), true)
draconLogger.SetDefault(slog.LevelDebug, os.Getenv(components.EnvDraconScanID), true)
}

if len(inResults) < 1 {
return fmt.Errorf("in is undefined")
}
Expand Down
7 changes: 4 additions & 3 deletions components/consumers/consumer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"time"

v1 "github.com/ocurity/dracon/api/proto/v1"
"github.com/ocurity/dracon/components"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
Expand Down Expand Up @@ -39,9 +40,9 @@ func TestLoadToolResponse(t *testing.T) {
scanTags, err := json.Marshal(tags)
assert.NoError(t, err)

require.NoError(t, os.Setenv(EnvDraconStartTime, timestamp))
require.NoError(t, os.Setenv(EnvDraconScanID, scanID))
require.NoError(t, os.Setenv(EnvDraconScanTags, string(scanTags)))
require.NoError(t, os.Setenv(components.EnvDraconStartTime, timestamp))
require.NoError(t, os.Setenv(components.EnvDraconScanID, scanID))
require.NoError(t, os.Setenv(components.EnvDraconScanTags, string(scanTags)))

resultTempDir := tmpFile.Name()
resultFile := "test-tool"
Expand Down
19 changes: 6 additions & 13 deletions components/producers/producer.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
"time"

v1 "github.com/ocurity/dracon/api/proto/v1"
"github.com/ocurity/dracon/components"

draconLogger "github.com/ocurity/dracon/pkg/log"
"github.com/ocurity/dracon/pkg/putil"
Expand All @@ -36,13 +37,6 @@ var (

const (
sourceDir = "/workspace/output"

// EnvDraconStartTime Start Time of Dracon Scan in RFC3339.
EnvDraconStartTime = "DRACON_SCAN_TIME"
// EnvDraconScanID the ID of the dracon scan.
EnvDraconScanID = "DRACON_SCAN_ID"
// EnvDraconScanTags the tags of the dracon scan.
EnvDraconScanTags = "DRACON_SCAN_TAGS"
)

// ParseFlags will parse the input flags for the producer and perform simple validation.
Expand All @@ -53,10 +47,9 @@ func ParseFlags() error {
flag.BoolVar(&Append, "append", false, "Append to output file instead of overwriting it")

flag.Parse()
draconLogger.SetDefault(slog.LevelInfo, os.Getenv(components.EnvDraconScanID), true)
if Debug {
draconLogger.SetDefault(slog.LevelDebug, os.Getenv(EnvDraconScanID), true)
} else {
draconLogger.SetDefault(slog.LevelInfo, os.Getenv(EnvDraconScanID), true)
draconLogger.SetDefault(slog.LevelDebug, os.Getenv(components.EnvDraconScanID), true)
}
if InResults == "" {
return fmt.Errorf("in is undefined")
Expand Down Expand Up @@ -135,12 +128,12 @@ func WriteDraconOut(
cleanIssues = append(cleanIssues, iss)
log.Printf("found issue: %+v\n", iss)
}
scanStartTime := strings.TrimSpace(os.Getenv(EnvDraconStartTime))
scanStartTime := strings.TrimSpace(os.Getenv(components.EnvDraconStartTime))
if scanStartTime == "" {
scanStartTime = time.Now().UTC().Format(time.RFC3339)
}
scanUUUID := strings.TrimSpace(os.Getenv(EnvDraconScanID))
scanTagsStr := strings.TrimSpace(os.Getenv(EnvDraconScanTags))
scanUUUID := strings.TrimSpace(os.Getenv(components.EnvDraconScanID))
scanTagsStr := strings.TrimSpace(os.Getenv(components.EnvDraconScanTags))
scanTags := map[string]string{}
err := json.Unmarshal([]byte(scanTagsStr), &scanTags)
if err != nil {
Expand Down
9 changes: 5 additions & 4 deletions components/producers/producer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"time"

v1 "github.com/ocurity/dracon/api/proto/v1"
"github.com/ocurity/dracon/components"

"github.com/mitchellh/mapstructure"
"github.com/stretchr/testify/assert"
Expand All @@ -25,8 +26,8 @@ func TestWriteDraconOut(t *testing.T) {

baseTime := time.Now().UTC()
timestamp := baseTime.Format(time.RFC3339)
require.NoError(t, os.Setenv(EnvDraconStartTime, timestamp))
require.NoError(t, os.Setenv(EnvDraconScanID, "ab3d3290-cd9f-482c-97dc-ec48bdfcc4de"))
require.NoError(t, os.Setenv(components.EnvDraconStartTime, timestamp))
require.NoError(t, os.Setenv(components.EnvDraconScanID, "ab3d3290-cd9f-482c-97dc-ec48bdfcc4de"))

OutFile = tmpFile.Name()
Append = false
Expand Down Expand Up @@ -66,8 +67,8 @@ func TestWriteDraconOutAppend(t *testing.T) {

baseTime := time.Now().UTC()
timestamp := baseTime.Format(time.RFC3339)
require.NoError(t, os.Setenv(EnvDraconStartTime, timestamp))
require.NoError(t, os.Setenv(EnvDraconScanID, "ab3d3290-cd9f-482c-97dc-ec48bdfcc4de"))
require.NoError(t, os.Setenv(components.EnvDraconStartTime, timestamp))
require.NoError(t, os.Setenv(components.EnvDraconScanID, "ab3d3290-cd9f-482c-97dc-ec48bdfcc4de"))

OutFile = tmpFile.Name()
Append = true
Expand Down

0 comments on commit 468b655

Please sign in to comment.