refactor(worker): added Type() method to provider

This commit is contained in:
bigeagle 2016-05-08 16:26:58 +08:00
parent c25e508a00
commit ccc31d9289
No known key found for this signature in database
GPG Key ID: 9171A4571C27920A
5 changed files with 17 additions and 2 deletions

View File

@ -44,6 +44,10 @@ func newCmdProvider(c cmdConfig) (*cmdProvider, error) {
return provider, nil return provider, nil
} }
func (p *cmdProvider) Type() providerEnum {
return provCommand
}
func (p *cmdProvider) Upstream() string { func (p *cmdProvider) Upstream() string {
return p.upstreamURL return p.upstreamURL
} }

View File

@ -10,8 +10,6 @@ import (
// mirror provider is the wrapper of mirror jobs // mirror provider is the wrapper of mirror jobs
type providerType uint8
const ( const (
_WorkingDirKey = "working_dir" _WorkingDirKey = "working_dir"
_LogDirKey = "log_dir" _LogDirKey = "log_dir"
@ -24,6 +22,8 @@ type mirrorProvider interface {
Name() string Name() string
Upstream() string Upstream() string
Type() providerEnum
// run mirror job in background // run mirror job in background
Run() error Run() error
// run mirror job in background // run mirror job in background

View File

@ -33,6 +33,7 @@ func TestRsyncProvider(t *testing.T) {
provider, err := newRsyncProvider(c) provider, err := newRsyncProvider(c)
So(err, ShouldBeNil) So(err, ShouldBeNil)
So(provider.Type(), ShouldEqual, provRsync)
So(provider.Name(), ShouldEqual, c.name) So(provider.Name(), ShouldEqual, c.name)
So(provider.WorkingDir(), ShouldEqual, c.workingDir) So(provider.WorkingDir(), ShouldEqual, c.workingDir)
So(provider.LogDir(), ShouldEqual, c.logDir) So(provider.LogDir(), ShouldEqual, c.logDir)
@ -126,6 +127,7 @@ func TestCmdProvider(t *testing.T) {
provider, err := newCmdProvider(c) provider, err := newCmdProvider(c)
So(err, ShouldBeNil) So(err, ShouldBeNil)
So(provider.Type(), ShouldEqual, provCommand)
So(provider.Name(), ShouldEqual, c.name) So(provider.Name(), ShouldEqual, c.name)
So(provider.WorkingDir(), ShouldEqual, c.workingDir) So(provider.WorkingDir(), ShouldEqual, c.workingDir)
So(provider.LogDir(), ShouldEqual, c.logDir) So(provider.LogDir(), ShouldEqual, c.logDir)
@ -218,6 +220,7 @@ func TestTwoStageRsyncProvider(t *testing.T) {
provider, err := newTwoStageRsyncProvider(c) provider, err := newTwoStageRsyncProvider(c)
So(err, ShouldBeNil) So(err, ShouldBeNil)
So(provider.Type(), ShouldEqual, provTwoStageRsync)
So(provider.Name(), ShouldEqual, c.name) So(provider.Name(), ShouldEqual, c.name)
So(provider.WorkingDir(), ShouldEqual, c.workingDir) So(provider.WorkingDir(), ShouldEqual, c.workingDir)
So(provider.LogDir(), ShouldEqual, c.logDir) So(provider.LogDir(), ShouldEqual, c.logDir)

View File

@ -63,6 +63,10 @@ func newRsyncProvider(c rsyncConfig) (*rsyncProvider, error) {
return provider, nil return provider, nil
} }
func (p *rsyncProvider) Type() providerEnum {
return provRsync
}
func (p *rsyncProvider) Upstream() string { func (p *rsyncProvider) Upstream() string {
return p.upstreamURL return p.upstreamURL
} }

View File

@ -70,6 +70,10 @@ func newTwoStageRsyncProvider(c twoStageRsyncConfig) (*twoStageRsyncProvider, er
return provider, nil return provider, nil
} }
func (p *twoStageRsyncProvider) Type() providerEnum {
return provTwoStageRsync
}
func (p *twoStageRsyncProvider) Upstream() string { func (p *twoStageRsyncProvider) Upstream() string {
return p.upstreamURL return p.upstreamURL
} }