Skip to content

Commit

Permalink
refactor after pr reviews
Browse files Browse the repository at this point in the history
  • Loading branch information
devang-gaur committed May 17, 2021
1 parent bc0ae89 commit e45a147
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 145 deletions.
17 changes: 0 additions & 17 deletions pkg/http-server/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ package httpserver

import (
"fmt"
"github.com/accurics/terrascan/pkg/utils"
"github.com/pkg/errors"
"net/http"
)

Expand All @@ -36,18 +34,3 @@ func apiErrorResponse(w http.ResponseWriter, errMsg string, statusCode int) {
w.Header().Set("X-Content-Type-Options", "nosniff")
http.Error(w, errMsg, statusCode)
}

func validateFiles(privateKeyFile, certFile string) error {
e1 := utils.ValidateFileName(privateKeyFile)
e2 := utils.ValidateFileName(certFile)

if e1 != nil && e2 != nil {
return errors.Errorf("error with --key-path flag value: %s, error with --cert-path flag value: %s", e1.Error(), e2.Error())
} else if e1 != nil && e2 == nil {
return errors.Errorf("error with --key-path flag value: %s", e1.Error())
} else if e1 == nil && e2 != nil {
return errors.Errorf("error with --cert-path flag value: %s", e2.Error())
} else {
return nil
}
}
58 changes: 0 additions & 58 deletions pkg/http-server/helpers_test.go

This file was deleted.

22 changes: 11 additions & 11 deletions pkg/http-server/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ package httpserver

import (
"context"
"go.uber.org/zap"
"net/http"
"os"
"os/signal"
Expand All @@ -30,15 +29,7 @@ import (

// Start initializes api routes and starts http server
func Start(port, configFile, certFile, privateKeyFile string) {
logger := logging.GetDefaultLogger() // new logger

if privateKeyFile != "" || certFile != "" {
logger.Debugf("certfile is %s, privateKeyFile is %s", certFile, privateKeyFile)

if err := validateFiles(privateKeyFile, certFile); err != nil {
logger.Fatal(err)
}
}
// create a new API server
server := NewAPIServer()

Expand All @@ -51,19 +42,28 @@ func Start(port, configFile, certFile, privateKeyFile string) {
}

// register routes and start the http server
server.start(routes, logger, port, certFile, privateKeyFile)
server.start(routes, port, certFile, privateKeyFile)
}

// start http server
func (g *APIServer) start(routes []*Route, logger *zap.SugaredLogger, port, certFile, privateKeyFile string) {
func (g *APIServer) start(routes []*Route, port, certFile, privateKeyFile string) {

var (
logger = logging.GetDefaultLogger() // new logger
err error
router = mux.NewRouter() // new router
)

logger.Info("registering routes...")

if privateKeyFile != "" || certFile != "" {
logger.Debugf("certfile is %s, privateKeyFile is %s", certFile, privateKeyFile)

if err := g.validateFiles(privateKeyFile, certFile); err != nil {
logger.Fatal(err)
}
}

// register all routes
for _, v := range routes {
logger.Info("Route ", v.verb, " - ", v.path)
Expand Down
16 changes: 16 additions & 0 deletions pkg/http-server/validate.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package httpserver

import "fmt"

func (g *APIServer) validateFiles(privateKeyFile, certFile string) error {
keylength := len(privateKeyFile)
certlength := len(certFile)

if keylength > 0 && certlength == 0 {
return fmt.Errorf("private key file provided but certficate file missing")
} else if keylength == 0 && certlength > 0 {
return fmt.Errorf("certificate file provided but private key file missing")
}

return nil
}
54 changes: 54 additions & 0 deletions pkg/http-server/validate_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package httpserver

import (
"fmt"
"reflect"
"testing"
)

func TestValidateFiles(t *testing.T) {
server := APIServer{}
table := []struct {
name string
privateKeyFile string
certFile string
wantOutput interface{}
wantErr error
}{
{
name: "normal file names",
privateKeyFile: "key",
certFile: "cert",
wantErr: nil,
},
{
name: "error in both privatekey and certfile filenames",
privateKeyFile: "",
certFile: "server.crt",
wantErr: fmt.Errorf("certificate file provided but private key file missing"),
},
{
name: "error in privatekey filename",
privateKeyFile: "",
certFile: "",
wantErr: nil,
},
{
name: "error in certfile filename",
privateKeyFile: "keyfile",
certFile: "",
wantErr: fmt.Errorf("private key file provided but certficate file missing"),
},
}

for _, tt := range table {
t.Run(tt.name, func(t *testing.T) {
gotErr := server.validateFiles(tt.privateKeyFile, tt.certFile)
if !reflect.DeepEqual(gotErr, tt.wantErr) {
if tt.wantErr != nil && gotErr != nil && tt.wantErr.Error() != gotErr.Error() {
t.Errorf("error got: '%v', want: '%v'", gotErr, tt.wantErr)
}
}
})
}
}
14 changes: 0 additions & 14 deletions pkg/utils/file.go

This file was deleted.

45 changes: 0 additions & 45 deletions pkg/utils/file_test.go

This file was deleted.

0 comments on commit e45a147

Please sign in to comment.