From ccc31d9289807cf1fa730bab8a96bfacc98584f7 Mon Sep 17 00:00:00 2001 From: bigeagle Date: Sun, 8 May 2016 16:26:58 +0800 Subject: [PATCH] refactor(worker): added Type() method to provider --- worker/cmd_provider.go | 4 ++++ worker/provider.go | 4 ++-- worker/provider_test.go | 3 +++ worker/rsync_provider.go | 4 ++++ worker/two_stage_rsync_provider.go | 4 ++++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/worker/cmd_provider.go b/worker/cmd_provider.go index 7a1d413..8ce3d70 100644 --- a/worker/cmd_provider.go +++ b/worker/cmd_provider.go @@ -44,6 +44,10 @@ func newCmdProvider(c cmdConfig) (*cmdProvider, error) { return provider, nil } +func (p *cmdProvider) Type() providerEnum { + return provCommand +} + func (p *cmdProvider) Upstream() string { return p.upstreamURL } diff --git a/worker/provider.go b/worker/provider.go index 2791b56..33100fb 100644 --- a/worker/provider.go +++ b/worker/provider.go @@ -10,8 +10,6 @@ import ( // mirror provider is the wrapper of mirror jobs -type providerType uint8 - const ( _WorkingDirKey = "working_dir" _LogDirKey = "log_dir" @@ -24,6 +22,8 @@ type mirrorProvider interface { Name() string Upstream() string + Type() providerEnum + // run mirror job in background Run() error // run mirror job in background diff --git a/worker/provider_test.go b/worker/provider_test.go index 10fbceb..c157de6 100644 --- a/worker/provider_test.go +++ b/worker/provider_test.go @@ -33,6 +33,7 @@ func TestRsyncProvider(t *testing.T) { provider, err := newRsyncProvider(c) So(err, ShouldBeNil) + So(provider.Type(), ShouldEqual, provRsync) So(provider.Name(), ShouldEqual, c.name) So(provider.WorkingDir(), ShouldEqual, c.workingDir) So(provider.LogDir(), ShouldEqual, c.logDir) @@ -126,6 +127,7 @@ func TestCmdProvider(t *testing.T) { provider, err := newCmdProvider(c) So(err, ShouldBeNil) + So(provider.Type(), ShouldEqual, provCommand) So(provider.Name(), ShouldEqual, c.name) So(provider.WorkingDir(), ShouldEqual, c.workingDir) So(provider.LogDir(), ShouldEqual, c.logDir) @@ -218,6 +220,7 @@ func TestTwoStageRsyncProvider(t *testing.T) { provider, err := newTwoStageRsyncProvider(c) So(err, ShouldBeNil) + So(provider.Type(), ShouldEqual, provTwoStageRsync) So(provider.Name(), ShouldEqual, c.name) So(provider.WorkingDir(), ShouldEqual, c.workingDir) So(provider.LogDir(), ShouldEqual, c.logDir) diff --git a/worker/rsync_provider.go b/worker/rsync_provider.go index c3cdefc..2d70174 100644 --- a/worker/rsync_provider.go +++ b/worker/rsync_provider.go @@ -63,6 +63,10 @@ func newRsyncProvider(c rsyncConfig) (*rsyncProvider, error) { return provider, nil } +func (p *rsyncProvider) Type() providerEnum { + return provRsync +} + func (p *rsyncProvider) Upstream() string { return p.upstreamURL } diff --git a/worker/two_stage_rsync_provider.go b/worker/two_stage_rsync_provider.go index b27cea5..37799b3 100644 --- a/worker/two_stage_rsync_provider.go +++ b/worker/two_stage_rsync_provider.go @@ -70,6 +70,10 @@ func newTwoStageRsyncProvider(c twoStageRsyncConfig) (*twoStageRsyncProvider, er return provider, nil } +func (p *twoStageRsyncProvider) Type() providerEnum { + return provTwoStageRsync +} + func (p *twoStageRsyncProvider) Upstream() string { return p.upstreamURL }