Compelte TCs for Changes.
diff --git a/listener_test.go b/listener_test.go
index aac6225..2a91b90 100644
--- a/listener_test.go
+++ b/listener_test.go
@@ -4,6 +4,7 @@
"encoding/json"
"github.com/30x/apid"
. "github.com/30x/apidApigeeSync" // for direct access to Payload types
+ "github.com/30x/transicator/common"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
@@ -12,69 +13,186 @@
It("should store data from ApigeeSync in the database", func(done Done) {
- var event = ChangeSet{}
- event.Changes = []ChangePayload{
+ var event = common.ChangeList{}
+ /* API Product */
+ srvItems := common.Row{}
+ scv := &common.ColumnVal{
+ Value: "ch_api_product_0",
+ Type: 1,
+ }
+ srvItems["id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "{}",
+ Type: 1,
+ }
+ srvItems["api_resources"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "{Env_0, Env_1}",
+ Type: 1,
+ }
+ srvItems["environments"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "tenant_id_0",
+ Type: 1,
+ }
+ srvItems["tenant_id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "test_org0",
+ Type: 1,
+ }
+ srvItems["_apid_scope"] = scv
+
+ /* DEVELOPER */
+ devItems := common.Row{}
+ scv = &common.ColumnVal{
+ Value: "ch_developer_id_0",
+ Type: 1,
+ }
+ devItems["id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "Active",
+ Type: 1,
+ }
+ devItems["status"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "tenant_id_0",
+ Type: 1,
+ }
+ devItems["tenant_id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "test_org0",
+ Type: 1,
+ }
+ devItems["_apid_scope"] = scv
+
+ /* APP */
+ appItems := common.Row{}
+ scv = &common.ColumnVal{
+ Value: "ch_application_id_0",
+ Type: 1,
+ }
+ appItems["id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "ch_developer_id_0",
+ Type: 1,
+ }
+ appItems["developer_id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "tenant_id_0",
+ Type: 1,
+ }
+ appItems["tenant_id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "Approved",
+ Type: 1,
+ }
+ appItems["status"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "test_org0",
+ Type: 1,
+ }
+ appItems["_apid_scope"] = scv
+
+ /* CRED */
+ credItems := common.Row{}
+ scv = &common.ColumnVal{
+ Value: "ch_app_credential_0",
+ Type: 1,
+ }
+ credItems["id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "ch_application_id_0",
+ Type: 1,
+ }
+ credItems["app_id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "tenant_id_0",
+ Type: 1,
+ }
+ credItems["tenant_id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "Approved",
+ Type: 1,
+ }
+ credItems["status"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "test_org0",
+ Type: 1,
+ }
+ credItems["_apid_scope"] = scv
+
+ /* APP_CRED_APIPRD_MAPPER */
+ mpItems := common.Row{}
+ scv = &common.ColumnVal{
+ Value: "ch_api_product_0",
+ Type: 1,
+ }
+ mpItems["apiprdt_id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "ch_application_id_0",
+ Type: 1,
+ }
+ mpItems["app_id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "ch_app_credential_0",
+ Type: 1,
+ }
+ mpItems["appcred_id"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "Approved",
+ Type: 1,
+ }
+ mpItems["status"] = scv
+
+ scv = &common.ColumnVal{
+ Value: "test_org0",
+ Type: 1,
+ }
+ mpItems["_apid_scope"] = scv
+
+ event.Changes = []common.Change{
{
- Data: DataPayload{
- EntityType: "apiproduct",
- Operation: "create",
- PldCont: Payload{
- Organization: "test_org",
- AppName: "Api_product_sync",
- Resources: []string{"/**", "/test"},
- Environments: []string{"Env_0", "Env_1"},
- },
- },
+ Table: "public.api_product",
+ NewRow: srvItems,
+ Operation: 1,
},
{
- Data: DataPayload{
- EntityType: "developer",
- Operation: "create",
- EntityIdentifier: "developer_id_sync",
- PldCont: Payload{
- Organization: "test_org",
- Email: "person_sync@apigee.com",
- Status: "Active",
- UserName: "user_sync",
- FirstName: "user_first_name_sync",
- LastName: "user_last_name_sync",
- },
- },
+ Table: "public.developer",
+ NewRow: devItems,
+ Operation: 1,
},
{
- Data: DataPayload{
- EntityType: "app",
- Operation: "create",
- EntityIdentifier: "application_id_sync",
- PldCont: Payload{
- Organization: "test_org",
- Email: "person_sync@apigee.com",
- Status: "Approved",
- AppName: "application_id_sync",
- DeveloperId: "developer_id_sync",
- CallbackUrl: "call_back_url",
- },
- },
+ Table: "public.app",
+ NewRow: appItems,
+ Operation: 1,
},
{
- Data: DataPayload{
- EntityType: "credential",
- Operation: "create",
- EntityIdentifier: "credential_sync",
- PldCont: Payload{
- Organization: "test_org",
- AppId: "application_id_sync",
- Status: "Approved",
- ConsumerSecret: "consumer_secret_sync",
- IssuedAt: 349583485,
- ApiProducts: []Apip{
- {
- ApiProduct: "Api_product_sync",
- Status: "Approved",
- },
- },
- },
- },
+ Table: "public.app_credential",
+ NewRow: credItems,
+ Operation: 1,
+ },
+ {
+ Table: "public.app_credential_apiproduct_mapper",
+ NewRow: mpItems,
+ Operation: 1,
},
}
@@ -83,26 +201,26 @@
func(e apid.Event) {
// ignore the first event, let standard listener process it
- changeSet := e.(*ChangeSet)
+ changeSet := e.(*common.ChangeList)
if len(changeSet.Changes) > 0 {
return
}
-
- rsp, err := verifyAPIKey("credential_sync", "/test", "Env_0", "test_org", "verify")
+ processChange(changeSet)
+ rsp, err := verifyAPIKey("ch_app_credential_0", "/test", "Env_0", "test_org0", "verify")
Expect(err).ShouldNot(HaveOccurred())
var respj kmsResponseSuccess
json.Unmarshal(rsp, &respj)
Expect(respj.Type).Should(Equal("APIKeyContext"))
- Expect(respj.RspInfo.Key).Should(Equal("credential_sync"))
+ Expect(respj.RspInfo.Key).Should(Equal("ch_app_credential_0"))
close(done)
},
}
apid.Events().Listen(ApigeeSyncEventSelector, h)
- apid.Events().Emit(ApigeeSyncEventSelector, &event) // for standard listener
- apid.Events().Emit(ApigeeSyncEventSelector, &ChangeSet{}) // for test listener
+ apid.Events().Emit(ApigeeSyncEventSelector, &event) // for standard listener
+ apid.Events().Emit(ApigeeSyncEventSelector, &common.ChangeList{}) // for test listener
})
})
diff --git a/validate_path.go b/validate_path.go
index ac107cb..cd6e021 100644
--- a/validate_path.go
+++ b/validate_path.go
@@ -39,7 +39,6 @@
* FIXME: SINGLE_FORWARD_SLASH_PATTERN not supported yet
*/
}
-
/* if the i/p resource is empty, no checks need to be made */
- return len(fs) == 0
+ return s == ""
}
diff --git a/validate_path_test.go b/validate_path_test.go
index 56e4d50..a5e5e63 100644
--- a/validate_path_test.go
+++ b/validate_path_test.go
@@ -20,11 +20,11 @@
Expect(s).Should(BeTrue())
})
It("validation4", func() {
- s := validatePath("{\"/**\"}", "/foo")
+ s := validatePath("{/**}", "/foo")
Expect(s).Should(BeTrue())
})
It("validation5", func() {
- s := validatePath("{\"/**\"}", "foo")
+ s := validatePath("{/**}", "foo")
Expect(s).Should(BeFalse())
})
It("validation6", func() {