add new test
diff --git a/dockertests/docker_test.go b/dockertests/docker_test.go
index c787115..87eff5d 100644
--- a/dockertests/docker_test.go
+++ b/dockertests/docker_test.go
@@ -106,7 +106,7 @@
 		})
 
 		It("should succesfully download new table from pg", func(done Done) {
-			tableName := "docker_test"
+			tableName := "docker_test_a"
 			targetTablename := "edgex_" + tableName
 			handler := &newTableHandler{
 				targetTablename: targetTablename,
@@ -118,6 +118,18 @@
 
 		}, 1)
 
+		It("should get data according to data scope", func(done Done) {
+			tableName := "docker_test_b"
+			targetTablename := "edgex_" + tableName
+			handler := &newTableHandler{
+				targetTablename: targetTablename,
+				done:            done,
+			}
+
+			apid.Events().Listen(ApigeeSyncEventSelector, handler)
+			createTestTableWithData(tableName)
+
+		}, 1)
 	})
 })
 
@@ -129,6 +141,17 @@
 	Expect(err).Should(Succeed())
 	_, err = tx.Exec("ALTER TABLE edgex." + tableName + " replica identity full;")
 	Expect(err).Should(Succeed())
+	tx.Commit()
+}
+
+func createTestTableWithData(tableName string) {
+	tx, err := pgManager.BeginTransaction()
+	Expect(err).Should(Succeed())
+	defer tx.Rollback()
+	_, err = tx.Exec("CREATE TABLE edgex." + tableName + " (id varchar primary key, val integer, _change_selector varchar);")
+	Expect(err).Should(Succeed())
+	_, err = tx.Exec("ALTER TABLE edgex." + tableName + " replica identity full;")
+	Expect(err).Should(Succeed())
 	_, err = tx.Exec("INSERT INTO edgex." + tableName + " values ('one', 1, 'foo');")
 	Expect(err).Should(Succeed())
 	_, err = tx.Exec("INSERT INTO edgex." + tableName + " values ('two', 2, 'bar');")
@@ -138,22 +161,6 @@
 	tx.Commit()
 }
 
-func verifyTestTable(targetTableName string, sqliteDb apid.DB) bool {
-	rows, err := sqliteDb.Query("SELECT DISTINCT tableName FROM _transicator_tables;")
-	Expect(err).Should(Succeed())
-	defer rows.Close()
-	for rows.Next() {
-		var tableName string
-		err = rows.Scan(&tableName)
-		Expect(err).Should(Succeed())
-
-		if tableName == targetTableName {
-			return true
-		}
-	}
-	return false
-}
-
 func dropTestTable(targetTableName string, sqliteDb apid.DB) {
 	tx, err := pgManager.BeginTransaction()
 	Expect(err).Should(Succeed())
@@ -295,17 +302,60 @@
 
 func (n *newTableHandler) Handle(event apid.Event) {
 	if s, ok := event.(*common.Snapshot); ok {
-		go func() {
-			defer GinkgoRecover()
-			sqliteDb, err := dataService.DBVersion(s.SnapshotInfo)
-			Expect(err).Should(Succeed())
-			Expect(verifyTestTable(n.targetTablename, sqliteDb)).To(BeTrue())
-			apid.Events().StopListening(ApigeeSyncEventSelector, n)
-			close(n.done)
-		}()
+		sqliteDb, err := dataService.DBVersion(s.SnapshotInfo)
+		Expect(err).Should(Succeed())
+		Expect(verifyTestTableExist(n.targetTablename, sqliteDb)).To(BeTrue())
+		apid.Events().StopListening(ApigeeSyncEventSelector, n)
+		close(n.done)
 	}
 }
 
+func verifyTestTableExist(targetTableName string, sqliteDb apid.DB) bool {
+	rows, err := sqliteDb.Query("SELECT DISTINCT tableName FROM _transicator_tables;")
+	Expect(err).Should(Succeed())
+	defer rows.Close()
+	for rows.Next() {
+		var tableName string
+		err = rows.Scan(&tableName)
+		Expect(err).Should(Succeed())
+
+		if tableName == targetTableName {
+			return true
+		}
+	}
+	return false
+}
+
+type newTableScopeHandler struct {
+	targetTablename string
+	done            Done
+}
+
+func (n *newTableScopeHandler) Handle(event apid.Event) {
+	if s, ok := event.(*common.Snapshot); ok {
+		sqliteDb, err := dataService.DBVersion(s.SnapshotInfo)
+		Expect(err).Should(Succeed())
+		verifyTestTableData(n.targetTablename, sqliteDb)
+		apid.Events().StopListening(ApigeeSyncEventSelector, n)
+		close(n.done)
+	}
+}
+
+func verifyTestTableData(targetTableName string, sqliteDb apid.DB) {
+	rows, err := sqliteDb.Query("SELECT id FROM " + targetTableName + ";")
+	Expect(err).Should(Succeed())
+	defer rows.Close()
+	count := 0
+	for rows.Next() {
+		var id string
+		err = rows.Scan(&id)
+		Expect(err).Should(Succeed())
+		Expect(id).To(Equal("three"))
+		count += 1
+	}
+	Expect(count).To(Equal(1))
+}
+
 func TestDockerApigeeSync(t *testing.T) {
 	RegisterFailHandler(Fail)
 	RunSpecs(t, "ApigeeSync Docker Suite")
diff --git a/dockertests/management_pg.go b/dockertests/management_pg.go
index 0a5048f..6c7dfd4 100644
--- a/dockertests/management_pg.go
+++ b/dockertests/management_pg.go
@@ -16,7 +16,6 @@
 
 import (
 	"database/sql"
-	"fmt"
 	_ "github.com/lib/pq"
 )
 
@@ -215,7 +214,6 @@
 	}
 
 	for _, tableName := range tablesToDelete {
-		fmt.Println("Drop table: " + tableName)
 		cleanupSql := "DROP TABLE edgex." + tableName + ";"
 		_, err := m.pg.Exec(cleanupSql)
 		if err != nil {