add pg
diff --git a/dockertests/const.go b/dockertests/const.go
new file mode 100644
index 0000000..4f4266f
--- /dev/null
+++ b/dockertests/const.go
@@ -0,0 +1,15 @@
+package dockertests
+
+
+const (
+	dockerCsPort              string = "9000"
+	dockerSsPort              string = "9001"
+	pluginName                       = "apigeeSyncDockerTest"
+	configProxyServerBaseURI         = "apigeesync_proxy_server_base"
+	configSnapServerBaseURI          = "apigeesync_snapshot_server_base"
+	configChangeServerBaseURI        = "apigeesync_change_server_base"
+	configConsumerKey                = "apigeesync_consumer_key"
+	configConsumerSecret             = "apigeesync_consumer_secret"
+	configName                       = "apigeesync_instance_name"
+	ApigeeSyncEventSelector          = "ApigeeSync"
+)
diff --git a/dockertests/dockerTest.sh b/dockertests/dockerTest.sh
index 5c5a0cd..84d3ceb 100755
--- a/dockertests/dockerTest.sh
+++ b/dockertests/dockerTest.sh
@@ -11,6 +11,7 @@
 TEST_PG_URL=postgres://postgres:changeme@$DOCKER_IP:5432/edgex
 echo ${TEST_PG_URL}
 
+export APIGEE_SYNC_DOCKER_PG_URL=${TEST_PG_URL}
 export APIGEE_SYNC_DOCKER_IP=${DOCKER_IP}
 
 pgnum=$(docker images --filter "reference=apigeelabs/transicator-postgres" | wc -l)
@@ -54,3 +55,16 @@
 docker run --name ${ssname} -d -p 9001:9001 apigeelabs/transicator-snapshot -p 9001 -u ${TEST_PG_URL}
 docker run --name ${csname} -d -p 9000:9000 apigeelabs/transicator-changeserver -p 9000 -u ${TEST_PG_URL} -s testslot
 
+apid_config=`cat <<EOF
+apigeesync_instance_name: SQLLITAPID
+apigeesync_snapshot_server_base: http://${DOCKER_IP}:9001/
+apigeesync_change_server_base: http://${DOCKER_IP}:9000/
+apigeesync_snapshot_proto: sqlite
+log_level: Debug
+apigeesync_consumer_key: 33f39JNLosF1mDOXJoCfbauchVzPrGrl
+apigeesync_consumer_secret: LAolGShAx6H3vfNF
+apigeesync_cluster_id: 4c6bb536-0d64-43ca-abae-17c08f1a7e58
+EOF
+`
+rm -f ${WORK_DIR}/dockertests/apid_config.yaml
+echo "$apid_config" >> ${WORK_DIR}/dockertests/apid_config.yaml
\ No newline at end of file
diff --git a/dockertests/docker_test.go b/dockertests/docker_test.go
index 7092e1a..2980483 100644
--- a/dockertests/docker_test.go
+++ b/dockertests/docker_test.go
@@ -1,57 +1,37 @@
 package dockertests
 
 import (
-	_ "github.com/30x/apidApigeeSync"
 	"github.com/30x/apid-core"
+	"github.com/30x/apid-core/factory"
+	_ "github.com/30x/apidApigeeSync"
 	. "github.com/onsi/ginkgo"
 	. "github.com/onsi/gomega"
-	"os"
-	"github.com/30x/apid-core/factory"
-	"testing"
-	"fmt"
-	"time"
 	"net/http/httptest"
+	"os"
+	"testing"
+	"time"
 )
 
-const (
-	dockerCsPort string = "9000"
-	dockerSsPort string = "9001"
-	dockerPgPort string = "5432"
-	pluginName = "apigeeSyncDockerTest"
-	configLogLevel            = "log_level"
-	configProxyServerBaseURI  = "apigeesync_proxy_server_base"
-	configSnapServerBaseURI   = "apigeesync_snapshot_server_base"
-	configChangeServerBaseURI = "apigeesync_change_server_base"
-	configConsumerKey         = "apigeesync_consumer_key"
-	configConsumerSecret      = "apigeesync_consumer_secret"
-	configApidClusterId       = "apigeesync_cluster_id"
-	configSnapshotProtocol    = "apigeesync_snapshot_proto"
-	configName                = "apigeesync_instance_name"
-	ApigeeSyncEventSelector   = "ApigeeSync"
-
-	// special value - set by ApigeeSync, not taken from configuration
-	configApidInstanceID = "apigeesync_apid_instance_id"
-	// This will not be needed once we have plugin handling tokens.
-	configBearerToken = "apigeesync_bearer_token"
-)
 
 
 var (
-	services            apid.Services
-	log                 apid.LogService
-	data                apid.DataService
-	config apid.ConfigService
+	services apid.Services
+	log      apid.LogService
+	data     apid.DataService
+	config   apid.ConfigService
+	pgUrl    string
+	pgManager *ManagementPg
 )
+
 /*
  * This test suite acts like a dummy plugin. It listens to events emitted by
  * apidApigeeSync and runs tests.
  */
 var _ = BeforeSuite(func() {
-	hostname := os.Getenv("APIGEE_SYNC_DOCKER_IP")
+	hostname := "http://" + os.Getenv("APIGEE_SYNC_DOCKER_IP")
+	pgUrl = os.Getenv("APIGEE_SYNC_DOCKER_PG_URL")
 	os.Setenv("APID_CONFIG_FILE", "./apid_config.yaml")
 
-	fmt.Println("Run BeforeSuite")
-
 	apid.Initialize(factory.DefaultServicesFactory())
 	config = apid.Config()
 
@@ -59,17 +39,22 @@
 	config.Set(configName, "dockerIT")
 	config.Set(configConsumerKey, "dummyKey")
 	config.Set(configConsumerSecret, "dummySecret")
-	config.Set(configApidClusterId, "testClusterId")
-	//testServer := initDummyAuthServer()
+	//config.Set(configApidClusterId, "testClusterId")
+	testServer := initDummyAuthServer()
 
 	// Setup dependencies
-	config.Set(configChangeServerBaseURI, hostname+":"+dockerCsPort)
-	config.Set(configSnapServerBaseURI, hostname+":"+dockerSsPort)
-	//config.Set(configProxyServerBaseURI, testServer.URL)
+	config.Set(configChangeServerBaseURI, hostname+":"+dockerCsPort+"/")
+	config.Set(configSnapServerBaseURI, hostname+":"+dockerSsPort+"/")
+	config.Set(configProxyServerBaseURI, testServer.URL)
 
 	// init plugin
 	apid.RegisterPlugin(initPlugin)
 	apid.InitializePlugins("dockerTest")
+
+	// init pg driver
+	var err error
+	pgManager, err = InitDb(pgUrl)
+	Expect(err).Should(Succeed())
 })
 
 var _ = Describe("dockerIT", func() {
@@ -84,6 +69,22 @@
 			log.Debug("SS: " + config.GetString(configSnapServerBaseURI))
 			log.Debug("Auth: " + config.GetString(configProxyServerBaseURI))
 
+			cluster := &apidCluster{
+				id: "fed02735-0589-4998-bf00-e4d0df7af45b",
+				name: "apidcA",
+				description: "desc",
+				appName: "UOA",
+				created: time.Now(),
+				createdBy: "userA",
+				updated: time.Now(),
+				updatedBy: "userA",
+				changeSelector: "fed02735-0589-4998-bf00-e4d0df7af45b",
+			}
+
+			tx, err := pgManager.BeginTransaction()
+			Expect(err).Should(Succeed())
+			pgManager.InsertApidCluster(tx, cluster)
+
 			time.Sleep(5 * time.Second)
 			Expect(1).To(Equal(1))
 		}, 30)
@@ -103,7 +104,7 @@
 	log = services.Log().ForModule(pluginName)
 	data = services.Data()
 
-	var pluginData = apid.PluginData {
+	var pluginData = apid.PluginData{
 		Name:    pluginName,
 		Version: "0.0.1",
 		ExtraData: map[string]interface{}{
@@ -111,7 +112,6 @@
 		},
 	}
 
-
 	log.Info(pluginName + " initialized.")
 	return pluginData, nil
 }
@@ -119,4 +119,4 @@
 func TestDockerApigeeSync(t *testing.T) {
 	RegisterFailHandler(Fail)
 	RunSpecs(t, "ApigeeSync Docker Suite")
-}
\ No newline at end of file
+}
diff --git a/dockertests/management_pg.go b/dockertests/management_pg.go
new file mode 100644
index 0000000..bacd9cc
--- /dev/null
+++ b/dockertests/management_pg.go
@@ -0,0 +1,74 @@
+package dockertests
+
+import (
+	"database/sql"
+	_ "github.com/lib/pq"
+	"time"
+)
+
+type ManagementPg struct {
+	url string
+	pg  *sql.DB
+}
+
+type apidCluster struct {
+	id          string
+	name        string
+	description string
+	appName     string
+	created     time.Time
+	createdBy   string
+	updated     time.Time
+	updatedBy   string
+	changeSelector string
+}
+
+func InitDb(dbUrl string) (*ManagementPg, error) {
+	db, err := sql.Open("postgres", dbUrl)
+	if err != nil {
+		return nil, err
+	}
+
+	return &ManagementPg{
+		url: dbUrl,
+		pg:  db,
+	}, nil
+}
+
+func (m *ManagementPg) InsertApidCluster(tx *sql.Tx, cluster *apidCluster) error {
+	stmt, err := tx.Prepare(`INSERT INTO edgex.apid_cluster(
+			id,
+			name,
+			description,
+			umbrella_org_app_name,
+			created,
+			created_by,
+			updated,
+			updated_by,
+			_change_selector
+			)
+			VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9)`)
+	if err != nil {
+		return err
+	}
+
+	_, err = stmt.Exec(
+		cluster.id,
+		cluster.name,
+		cluster.description,
+		cluster.appName,
+		cluster.created,
+		cluster.createdBy,
+		cluster.updated,
+		cluster.updatedBy,
+		cluster.changeSelector,
+	)
+
+	return err
+}
+
+func (m *ManagementPg) BeginTransaction() (*sql.Tx, error) {
+	tx, err := m.pg.Begin()
+	return tx, err
+}
+
diff --git a/dockertests/mockAuthServer.go b/dockertests/mockAuthServer.go
index 9d79fd6..2f43737 100644
--- a/dockertests/mockAuthServer.go
+++ b/dockertests/mockAuthServer.go
@@ -1,20 +1,18 @@
 package dockertests
 
-
 import (
-	"github.com/30x/apidApigeeSync"
-	"github.com/30x/apid-core"
 	"encoding/json"
+	"github.com/30x/apid-core"
+	"github.com/30x/apidApigeeSync"
 	"net/http"
 )
 
 const oauthExpiresIn = 2 * 60
 
 type MockAuthServer struct {
-
 }
 
-func (m *MockAuthServer) sendToken (w http.ResponseWriter, req *http.Request) {
+func (m *MockAuthServer) sendToken(w http.ResponseWriter, req *http.Request) {
 	oauthToken := apidApigeeSync.GenerateUUID()
 	res := apidApigeeSync.OauthToken{
 		AccessToken: oauthToken,
@@ -27,7 +25,6 @@
 	w.Write(body)
 }
 
-func (m *MockAuthServer) Start (router apid.Router) {
+func (m *MockAuthServer) Start(router apid.Router) {
 	router.HandleFunc("/accesstoken", m.sendToken).Methods("POST")
 }
-