Tests to detect completion of processing change.
diff --git a/apigee_sync_test.go b/apigee_sync_test.go
index 5a7d191..f853c93 100644
--- a/apigee_sync_test.go
+++ b/apigee_sync_test.go
@@ -17,20 +17,11 @@
 var _ = Describe("api", func() {
 
 	var server *httptest.Server
+	scope := "bootstrap"
+	phase := 0
+	var h1 *test_handler
 
 	BeforeSuite(func() {
-		apid.Initialize(factory.DefaultServicesFactory())
-	})
-
-	AfterSuite(func() {
-		apid.Events().Close()
-		server.Close()
-	})
-
-	It("perform sync round-trip", func(done Done) {
-		scount := 0
-		phase := 0
-		scope := "bootstrap"
 		key := "XXXXXXX"
 		secret := "YYYYYYY"
 
@@ -54,7 +45,7 @@
 				return
 			}
 
-			// next requests are for changes
+			// next requests are for snapshot
 			if req.URL.Path == "/snapshots" {
 				Expect(req.Method).To(Equal("GET"))
 				q := req.URL.Query()
@@ -191,6 +182,7 @@
 			Fail("should not reach")
 		}))
 
+		apid.Initialize(factory.DefaultServicesFactory())
 		config = apid.Config()
 		config.Set(configProxyServerBaseURI, server.URL)
 		config.Set(configSnapServerBaseURI, server.URL)
@@ -210,8 +202,17 @@
 
 		// start process -  plugin will automatically start polling
 		apid.InitializePlugins()
+	})
 
-		h := &test_handler{
+	AfterSuite(func() {
+		apid.Events().Close()
+		server.Close()
+	})
+
+	It("perform sync round-trip", func(done Done) {
+		scount := 0
+		phase = 0
+		h1 = &test_handler{
 			"sync data",
 			func(event apid.Event) {
 				_, ok := event.(*common.Snapshot)
@@ -244,8 +245,18 @@
 			},
 		}
 
-		apid.Events().Listen(ApigeeSyncEventSelector, h)
+		donehandler := func(e apid.Event) {
+			if rsp, ok := e.(apid.EventDeliveryEvent); ok {
+				Expect(rsp.Description).Should(Equal("event complete"))
+			} else {
+				Fail("Unexpected event")
+			}
+		}
+		apid.Events().Listen(ApigeeSyncEventSelector, h1)
+		events.ListenFunc(apid.EventDeliveredSelector, donehandler)
+
 	})
+
 })
 
 type test_handler struct {