add more test cases
diff --git a/api.go b/api.go
index 028436e..b0b6402 100644
--- a/api.go
+++ b/api.go
@@ -97,7 +97,7 @@
switch {
case error == sql.ErrNoRows:
- log.Debug("verifyAPIKey: sql.ErrNoRows")
+ log.Error("verifyAPIKey: sql.ErrNoRows")
reason := "ENV Validation Failed"
errorCode := "ENV_VALIDATION_FAILED"
return errorResponse(reason, errorCode)
diff --git a/api_test.go b/api_test.go
index 2dbd431..0432193 100644
--- a/api_test.go
+++ b/api_test.go
@@ -2,6 +2,7 @@
import (
"encoding/json"
+ "github.com/30x/apid-core"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"io/ioutil"
@@ -98,5 +99,55 @@
Expect(respj.Type).Should(Equal("ErrorResult"))
Expect(respj.ErrInfo.ErrorCode).Should(Equal("REQ_ENTRY_NOT_FOUND"))
})
+
+ It("should report error for no scopes", func() {
+ v := url.Values{
+ "key": []string{"credential_x"},
+ "uriPath": []string{"/test"},
+ "scopeuuid": []string{"ABCDE"},
+ "action": []string{"verify"},
+ }
+
+ clearDataScopeTable(getDB())
+ rsp, err := verifyAPIKey(v)
+ Expect(err).ShouldNot(HaveOccurred())
+
+ var respj kmsResponseFail
+ json.Unmarshal(rsp, &respj)
+ Expect(respj.Type).Should(Equal("ErrorResult"))
+ Expect(respj.ErrInfo.ErrorCode).Should(Equal("ENV_VALIDATION_FAILED"))
+
+ })
+
+ It("should report error for invalid requests", func() {
+ v := url.Values{
+ "key": []string{"credential_x"},
+ "uriPath": []string{"/test"},
+ "scopeuuid": []string{"ABCDE"},
+ "action": []string{"verify"},
+ }
+
+ fields := []string{"key", "uriPath", "scopeuuid", "action"}
+ for _, field := range fields {
+ tmp := v.Get(field)
+ v.Del(field)
+
+ rsp, err := verifyAPIKey(v)
+ Expect(err).ShouldNot(HaveOccurred())
+ var respj kmsResponseFail
+ json.Unmarshal(rsp, &respj)
+ Expect(respj.Type).Should(Equal("ErrorResult"))
+ Expect(respj.ErrInfo.ErrorCode).Should(Equal("INCORRECT_USER_INPUT"))
+
+ v.Set(field, tmp)
+ }
+ })
})
})
+
+func clearDataScopeTable(db apid.DB) {
+ txn, _ := db.Begin()
+ txn.Exec("DELETE FROM EDGEX_DATA_SCOPE")
+ log.Info("clear EDGEX_DATA_SCOPE for test")
+ txn.Commit()
+}