feature(manager): worker => workerStatus

This commit is contained in:
walkerning 2016-04-25 21:49:32 +08:00 committed by bigeagle
parent a11fbe2c58
commit 734826fa67
No known key found for this signature in database
GPG Key ID: 9171A4571C27920A
4 changed files with 20 additions and 20 deletions

View File

@ -10,9 +10,9 @@ import (
type dbAdapter interface {
Init() error
ListWorkers() ([]worker, error)
GetWorker(workerID string) (worker, error)
CreateWorker(w worker) (worker, error)
ListWorkers() ([]workerStatus, error)
GetWorker(workerID string) (workerStatus, error)
CreateWorker(w workerStatus) (workerStatus, error)
UpdateMirrorStatus(workerID, mirrorID string, status mirrorStatus) (mirrorStatus, error)
GetMirrorStatus(workerID, mirrorID string) (mirrorStatus, error)
ListMirrorStatus(workerID string) ([]mirrorStatus, error)
@ -61,11 +61,11 @@ func (b *boltAdapter) Init() (err error) {
})
}
func (b *boltAdapter) ListWorkers() (ws []worker, err error) {
func (b *boltAdapter) ListWorkers() (ws []workerStatus, err error) {
err = b.db.View(func(tx *bolt.Tx) error {
bucket := tx.Bucket([]byte(_workerBucketKey))
c := bucket.Cursor()
var w worker
var w workerStatus
for k, v := c.First(); k != nil; k, v = c.Next() {
jsonErr := json.Unmarshal(v, &w)
if jsonErr != nil {
@ -79,7 +79,7 @@ func (b *boltAdapter) ListWorkers() (ws []worker, err error) {
return
}
func (b *boltAdapter) GetWorker(workerID string) (w worker, err error) {
func (b *boltAdapter) GetWorker(workerID string) (w workerStatus, err error) {
err = b.db.View(func(tx *bolt.Tx) error {
bucket := tx.Bucket([]byte(_workerBucketKey))
v := bucket.Get([]byte(workerID))
@ -92,7 +92,7 @@ func (b *boltAdapter) GetWorker(workerID string) (w worker, err error) {
return
}
func (b *boltAdapter) CreateWorker(w worker) (worker, error) {
func (b *boltAdapter) CreateWorker(w workerStatus) (workerStatus, error) {
err := b.db.Update(func(tx *bolt.Tx) error {
bucket := tx.Bucket([]byte(_workerBucketKey))
v, err := json.Marshal(w)

View File

@ -31,7 +31,7 @@ func TestBoltAdapter(t *testing.T) {
testWorkerIDs := []string{"test_worker1", "test_worker2"}
Convey("create worker", func() {
for _, id := range testWorkerIDs {
w := worker{
w := workerStatus{
ID: id,
Token: "token_" + id,
LastOnline: time.Now(),

View File

@ -21,7 +21,7 @@ const (
_infoKey = "message"
)
type worker struct {
type workerStatus struct {
ID string `json:"id"` // worker name
Token string `json:"token"` // session token
LastOnline time.Time `json:"last_online"` // last seen
@ -72,7 +72,7 @@ func (s *managerServer) listWorkers(c *gin.Context) {
// registerWorker register an newly-online worker
func (s *managerServer) registerWorker(c *gin.Context) {
var _worker worker
var _worker workerStatus
c.BindJSON(&_worker)
newWorker, err := s.adapter.CreateWorker(_worker)
if err != nil {

View File

@ -31,8 +31,8 @@ func TestHTTPServer(t *testing.T) {
s := makeHTTPServer(false)
So(s, ShouldNotBeNil)
s.setDBAdapter(&mockDBAdapter{
workerStore: map[string]worker{
_magicBadWorkerID: worker{
workerStore: map[string]workerStatus{
_magicBadWorkerID: workerStatus{
ID: _magicBadWorkerID,
}},
statusStore: make(map[string]mirrorStatus),
@ -67,7 +67,7 @@ func TestHTTPServer(t *testing.T) {
})
Convey("when register a worker", func() {
w := worker{
w := workerStatus{
ID: "test_worker1",
}
resp, err := postJSON(baseURL+"/workers", w)
@ -153,7 +153,7 @@ func TestHTTPServer(t *testing.T) {
}
type mockDBAdapter struct {
workerStore map[string]worker
workerStore map[string]workerStatus
statusStore map[string]mirrorStatus
}
@ -161,8 +161,8 @@ func (b *mockDBAdapter) Init() error {
return nil
}
func (b *mockDBAdapter) ListWorkers() ([]worker, error) {
workers := make([]worker, len(b.workerStore))
func (b *mockDBAdapter) ListWorkers() ([]workerStatus, error) {
workers := make([]workerStatus, len(b.workerStore))
idx := 0
for _, w := range b.workerStore {
workers[idx] = w
@ -171,18 +171,18 @@ func (b *mockDBAdapter) ListWorkers() ([]worker, error) {
return workers, nil
}
func (b *mockDBAdapter) GetWorker(workerID string) (worker, error) {
func (b *mockDBAdapter) GetWorker(workerID string) (workerStatus, error) {
w, ok := b.workerStore[workerID]
if !ok {
return worker{}, fmt.Errorf("invalid workerId")
return workerStatus{}, fmt.Errorf("invalid workerId")
}
return w, nil
}
func (b *mockDBAdapter) CreateWorker(w worker) (worker, error) {
func (b *mockDBAdapter) CreateWorker(w workerStatus) (workerStatus, error) {
// _, ok := b.workerStore[w.ID]
// if ok {
// return worker{}, fmt.Errorf("duplicate worker name")
// return workerStatus{}, fmt.Errorf("duplicate worker name")
// }
b.workerStore[w.ID] = w
return w, nil