fix token_test.go
diff --git a/data.go b/data.go index 4f63058..aeb0203 100644 --- a/data.go +++ b/data.go
@@ -474,7 +474,6 @@ } else { // first start - no row, generate a UUID and store it err = nil - newInstanceID = true info.InstanceID = GenerateUUID() log.Debugf("Inserting new apid instance id %s", info.InstanceID) @@ -484,7 +483,6 @@ } else if savedClusterId != info.ClusterID { log.Debug("Detected apid cluster id change in config. Apid will start clean") err = nil - newInstanceID = true info.InstanceID = GenerateUUID() db.Exec("REPLACE INTO APID (instance_id, apid_cluster_id, last_snapshot_info) VALUES (?,?,?)",
diff --git a/init.go b/init.go index e4be5aa..3ad221e 100644 --- a/init.go +++ b/init.go
@@ -49,7 +49,6 @@ dataService apid.DataService events apid.EventsService apidInfo apidInstanceInfo - newInstanceID bool apidTokenManager TokenManagerInterface apidChangeManager changeManagerInterface apidSnapshotManager snapShotManagerInterface
diff --git a/token.go b/token.go index f10fff8..991463c 100644 --- a/token.go +++ b/token.go
@@ -66,6 +66,7 @@ returnTokenChan chan *OauthToken invalidateDone chan bool dbm dbManagerInterface + notNewInstanceId bool } func (t *tokenManager) start() { @@ -167,7 +168,7 @@ req.Header.Set("status", "ONLINE") req.Header.Set("plugin_details", apidPluginDetails) - if newInstanceID { + if !t.notNewInstanceId { req.Header.Set("created_at_apid", time.Now().Format(time.RFC3339)) } else { req.Header.Set("updated_at_apid", time.Now().Format(time.RFC3339)) @@ -208,8 +209,8 @@ log.Debugf("Got new token: %#v", token) - if newInstanceID { - newInstanceID = false + if !t.notNewInstanceId { + t.notNewInstanceId = true err = t.dbm.updateApidInstanceInfo() if err != nil { log.Errorf("unable to unmarshal update apid instance info : %v", string(body), err)
diff --git a/token_test.go b/token_test.go index 66cd189..4a0c3e6 100644 --- a/token_test.go +++ b/token_test.go
@@ -25,6 +25,9 @@ "encoding/json" + "database/sql" + "github.com/30x/apid-core" + "github.com/apigee-labs/transicator/common" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) @@ -94,7 +97,7 @@ w.Write(body) })) config.Set(configProxyServerBaseURI, ts.URL) - testedTokenManager := createTokenManager() + testedTokenManager := createTokenManager(&dummyDbMan{}) testedTokenManager.start() token := testedTokenManager.getToken() @@ -123,7 +126,7 @@ })) config.Set(configProxyServerBaseURI, ts.URL) - testedTokenManager := createTokenManager() + testedTokenManager := createTokenManager(&dummyDbMan{}) testedTokenManager.start() token := testedTokenManager.getToken() Expect(token.AccessToken).ToNot(BeEmpty()) @@ -163,7 +166,7 @@ })) config.Set(configProxyServerBaseURI, ts.URL) - testedTokenManager := createTokenManager() + testedTokenManager := createTokenManager(&dummyDbMan{}) testedTokenManager.start() testedTokenManager.getToken() @@ -179,17 +182,13 @@ finished := make(chan bool, 1) count := 0 - newInstanceID = true - ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { count++ if count == 1 { - Expect(newInstanceID).To(BeTrue()) Expect(r.Header.Get("created_at_apid")).NotTo(BeEmpty()) Expect(r.Header.Get("updated_at_apid")).To(BeEmpty()) } else { - Expect(newInstanceID).To(BeFalse()) Expect(r.Header.Get("created_at_apid")).To(BeEmpty()) Expect(r.Header.Get("updated_at_apid")).NotTo(BeEmpty()) finished <- true @@ -204,7 +203,7 @@ })) config.Set(configProxyServerBaseURI, ts.URL) - testedTokenManager := createTokenManager() + testedTokenManager := createTokenManager(&dummyDbMan{}) testedTokenManager.start() testedTokenManager.getToken() testedTokenManager.invalidateToken() @@ -216,3 +215,43 @@ }, 3) }) }) + +type dummyDbMan struct{} + +func (d *dummyDbMan) initDefaultDb() error { + return nil +} +func (d *dummyDbMan) setDb(apid.DB) {} +func (d *dummyDbMan) getDb() apid.DB { + return nil +} +func (d *dummyDbMan) insert(tableName string, rows []common.Row, txn *sql.Tx) bool { + return true +} +func (d *dummyDbMan) deleteRowsFromTable(tableName string, rows []common.Row, txn *sql.Tx) bool { + return true +} +func (d *dummyDbMan) update(tableName string, oldRows, newRows []common.Row, txn *sql.Tx) bool { + return true +} +func (d *dummyDbMan) getPkeysForTable(tableName string) ([]string, error) { + return nil, nil +} +func (d *dummyDbMan) findScopesForId(configId string) []string { + return nil +} +func (d *dummyDbMan) getDefaultDb() (apid.DB, error) { + return nil, nil +} +func (d *dummyDbMan) updateApidInstanceInfo() error { + return nil +} +func (d *dummyDbMan) getApidInstanceInfo() (info apidInstanceInfo, err error) { + return +} +func (d *dummyDbMan) getLastSequence() string { + return "" +} +func (d *dummyDbMan) updateLastSequence(lastSequence string) error { + return nil +}