Browse Source

fix initial map allocation

0xdcarns 2 years ago
parent
commit
9078608bd1
3 changed files with 21 additions and 5 deletions
  1. 7 1
      controllers/enrollmentkeys.go
  2. 4 4
      logic/enrollmentkey.go
  3. 10 0
      logic/enrollmentkey_test.go

+ 7 - 1
controllers/enrollmentkeys.go

@@ -40,7 +40,7 @@ func getEnrollmentKeys(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 	for i := range currentKeys {
-		if err = logic.Tokenize(currentKeys[i], servercfg.GetServer()); err != nil {
+		if err = logic.Tokenize(&currentKeys[i], servercfg.GetServer()); err != nil {
 			logger.Log(0, r.Header.Get("user"), "failed to get token values for keys:", err.Error())
 			logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
 			return
@@ -109,6 +109,12 @@ func createEnrollmentKey(w http.ResponseWriter, r *http.Request) {
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
 		return
 	}
+
+	if err = logic.Tokenize(newEnrollmentKey, servercfg.GetServer()); err != nil {
+		logger.Log(0, r.Header.Get("user"), "failed to create enrollment key:", err.Error())
+		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
+		return
+	}
 	logger.Log(2, r.Header.Get("user"), "created enrollment key")
 	w.WriteHeader(http.StatusOK)
 	json.NewEncoder(w).Encode(newEnrollmentKey)

+ 4 - 4
logic/enrollmentkey.go

@@ -65,14 +65,14 @@ func CreateEnrollmentKey(uses int, expiration time.Time, networks, tags []string
 }
 
 // GetAllEnrollmentKeys - fetches all enrollment keys from DB
-func GetAllEnrollmentKeys() ([]*models.EnrollmentKey, error) {
+func GetAllEnrollmentKeys() ([]models.EnrollmentKey, error) {
 	currentKeys, err := getEnrollmentKeysMap()
 	if err != nil {
 		return nil, err
 	}
-	var currentKeysList = make([]*models.EnrollmentKey, len(currentKeys))
+	var currentKeysList = make([]models.EnrollmentKey, 0)
 	for k := range currentKeys {
-		currentKeysList = append(currentKeysList, currentKeys[k])
+		currentKeysList = append(currentKeysList, *currentKeys[k])
 	}
 	return currentKeysList, nil
 }
@@ -208,7 +208,7 @@ func getEnrollmentKeysMap() (map[string]*models.EnrollmentKey, error) {
 	if records == nil {
 		records = make(map[string]string)
 	}
-	currentKeys := make(map[string]*models.EnrollmentKey)
+	currentKeys := make(map[string]*models.EnrollmentKey, 0)
 	if len(records) > 0 {
 		for k := range records {
 			var currentKey models.EnrollmentKey

+ 10 - 0
logic/enrollmentkey_test.go

@@ -5,6 +5,7 @@ import (
 	"time"
 
 	"github.com/gravitl/netmaker/database"
+	"github.com/gravitl/netmaker/models"
 	"github.com/stretchr/testify/assert"
 )
 
@@ -45,6 +46,15 @@ func TestCreateEnrollmentKey(t *testing.T) {
 		assert.True(t, newKey.IsValid())
 		assert.True(t, len(newKey.Tags) == 2)
 	})
+
+	t.Run("Can_Get_List_of_Keys", func(t *testing.T) {
+		keys, err := GetAllEnrollmentKeys()
+		assert.Nil(t, err)
+		assert.True(t, len(keys) > 0)
+		for i := range keys {
+			assert.Equal(t, len(keys[i].Value), models.EnrollmentKeyLength)
+		}
+	})
 	removeAllEnrollments()
 }