Skip to content

Commit b467657

Browse files
authored
move internal package to types (#23)
1 parent b2f15f6 commit b467657

File tree

13 files changed

+99
-33
lines changed

13 files changed

+99
-33
lines changed

engine/actions/trigger/template_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,20 @@ func TestTemplate(t *testing.T) {
4343
}`)
4444
assert.Equal(t, expected, buf.String(), "json")
4545
}
46+
47+
func TestTemplateWithOrigin(t *testing.T) {
48+
temp, e := template.New("test").Parse(`{{.Origin.Ref}}`)
49+
assert.NoError(t, e, "should not error")
50+
msg := message{
51+
Time: time.Now(),
52+
Number: 1,
53+
Title: "title1",
54+
State: "open",
55+
Owner: "my",
56+
Repo: "repo",
57+
Origin: types.Origin{User: "self", Ref: "test"}}
58+
var buf bytes.Buffer
59+
temp.Execute(&buf, msg)
60+
expected := "test"
61+
assert.Equal(t, expected, buf.String(), "json")
62+
}

runner/hook_listener.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ import (
44
"net/http"
55

66
"github.com/bivas/rivi/config/client"
7-
"github.com/bivas/rivi/runner/internal"
7+
"github.com/bivas/rivi/runner/types"
88
"github.com/bivas/rivi/types/builder"
99
"github.com/bivas/rivi/util/log"
1010
"github.com/spf13/viper"
1111
)
1212

1313
type hookListener struct {
1414
conf client.ClientConfig
15-
queue internal.HookListenerQueue
15+
queue types.HookListenerQueue
1616

1717
logger log.Logger
1818
}
@@ -22,21 +22,25 @@ func (h *hookListener) HandleEvent(r *http.Request) *HandledEventResult {
2222
if !ok {
2323
return &HandledEventResult{Message: "Skipping hook processing"}
2424
}
25-
h.queue.Enqueue(internal.NewMessage(h.conf, data))
25+
h.queue.Enqueue(types.NewMessage(h.conf, data))
2626
return &HandledEventResult{Message: "Processing " + data.GetShortName()}
2727
}
2828

2929
func NewHookListener(clientConfiguration string) (Runner, error) {
30-
logger := runnerLog.Get("hook.listener")
3130
var conf client.ClientConfig
3231
if clientConfiguration == "" {
3332
conf = client.NewClientConfig(viper.New())
3433
} else {
3534
conf = client.NewClientConfigFromFile(clientConfiguration)
3635
}
36+
return NewHookListenerWithClientConfig(conf), nil
37+
}
38+
39+
func NewHookListenerWithClientConfig(config client.ClientConfig) Runner {
40+
logger := runnerLog.Get("hook.listener")
3741
return &hookListener{
38-
conf: conf,
42+
conf: config,
3943
queue: CreateHookListenerQueue(),
4044
logger: logger,
41-
}, nil
45+
}
4246
}

runner/hook_listener_queue.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package runner
22

33
import (
4-
"github.com/bivas/rivi/runner/internal"
54
"github.com/bivas/rivi/runner/local"
5+
"github.com/bivas/rivi/runner/types"
66
)
77

8-
var defaultHookListenerQueueProvider internal.HookListenerQueueProvider = local.CreateHookListenerQueue
8+
var defaultHookListenerQueueProvider types.HookListenerQueueProvider = local.CreateHookListenerQueue
99

10-
func SetHookListenerQueueProvider(fn internal.HookListenerQueueProvider) {
10+
func SetHookListenerQueueProvider(fn types.HookListenerQueueProvider) {
1111
defaultHookListenerQueueProvider = fn
1212
}
1313

14-
func CreateHookListenerQueue() internal.HookListenerQueue {
14+
func CreateHookListenerQueue() types.HookListenerQueue {
1515
return defaultHookListenerQueueProvider()
1616
}

runner/hook_listener_queue_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package runner
2+
3+
import (
4+
"testing"
5+
6+
"github.com/bivas/rivi/runner/types"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
type testHookListenerQueue struct {
11+
Created bool
12+
}
13+
14+
func (*testHookListenerQueue) Enqueue(*types.Message) {
15+
panic("implement me")
16+
}
17+
18+
func TestSetHookListenerQueueProvider(t *testing.T) {
19+
queue := &testHookListenerQueue{false}
20+
SetHookListenerQueueProvider(func() types.HookListenerQueue {
21+
queue.Created = true
22+
return queue
23+
})
24+
assert.False(t, queue.Created, "created should be false")
25+
result := CreateHookListenerQueue()
26+
assert.NotNil(t, result, "test result")
27+
_, ok := result.(*testHookListenerQueue)
28+
assert.True(t, ok, "same type")
29+
assert.True(t, queue.Created, "created")
30+
}

runner/hook_listener_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package runner
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/assert"
7+
)
8+
9+
func TestNewHookListener(t *testing.T) {
10+
result, err := NewHookListener("")
11+
assert.NoError(t, err, "new failed")
12+
assert.NotNil(t, result, "nil runner")
13+
_, ok := result.(*hookListener)
14+
assert.True(t, ok, "must be of type hook lisetner")
15+
}

runner/local/hook_handler.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ package local
33
import (
44
"time"
55

6-
"github.com/bivas/rivi/runner/internal"
6+
"github.com/bivas/rivi/runner/types"
77
"github.com/bivas/rivi/util/log"
88

99
"github.com/patrickmn/go-cache"
1010
)
1111

1212
type channelHookHandler struct {
13-
incoming <-chan *internal.Message
13+
incoming <-chan *types.Message
1414
logger log.Logger
1515

1616
processingCache *cache.Cache
@@ -38,14 +38,14 @@ func (h *channelHookHandler) Run() {
3838
log.MetaFields{
3939
log.F("issue", key),
4040
}, "Sending data to job handler")
41-
c.(internal.JobHandler).Send(msg)
41+
c.(types.JobHandler).Send(msg)
4242
}
4343
}
4444

45-
func NewChannelHookHandler(incoming <-chan *internal.Message) internal.HookHandler {
45+
func NewChannelHookHandler(incoming <-chan *types.Message) types.HookHandler {
4646
processingCache := cache.New(time.Minute, 2*time.Minute)
4747
processingCache.OnEvicted(func(key string, value interface{}) {
48-
value.(internal.JobHandler).Send(nil)
48+
value.(types.JobHandler).Send(nil)
4949
})
5050
return &channelHookHandler{
5151
incoming: incoming,
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
package local
22

33
import (
4-
"github.com/bivas/rivi/runner/internal"
4+
"github.com/bivas/rivi/runner/types"
55
"github.com/bivas/rivi/util/log"
66
)
77

88
type channelHookListenerQueue struct {
9-
incoming chan *internal.Message
9+
incoming chan *types.Message
1010
}
1111

12-
func (c *channelHookListenerQueue) Enqueue(data *internal.Message) {
12+
func (c *channelHookListenerQueue) Enqueue(data *types.Message) {
1313
if data == nil {
1414
close(c.incoming)
1515
return
1616
}
1717
c.incoming <- data
1818
}
1919

20-
func channelHookListenerQueueProvider() internal.HookListenerQueue {
20+
func channelHookListenerQueueProvider() types.HookListenerQueue {
2121
log.Get("hook.listener.queue").DebugWith(
2222
log.MetaFields{
2323
log.F("type", "channel")}, "Creating hook listener queue provider")
24-
incomingHooks := make(chan *internal.Message)
24+
incomingHooks := make(chan *types.Message)
2525
handler := NewChannelHookHandler(incomingHooks)
2626
go handler.Run()
2727
return &channelHookListenerQueue{incomingHooks}
2828
}
2929

30-
func CreateHookListenerQueue() internal.HookListenerQueue {
30+
func CreateHookListenerQueue() types.HookListenerQueue {
3131
return channelHookListenerQueueProvider()
3232
}

runner/local/job_handler.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
package local
22

33
import (
4-
"github.com/bivas/rivi/runner/internal"
4+
"github.com/bivas/rivi/runner/types"
55
"github.com/bivas/rivi/util/log"
66
)
77

88
type jobHandler struct {
9-
channel chan *internal.Message
9+
channel chan *types.Message
1010
work *workUnit
1111

1212
logger log.Logger
1313
}
1414

15-
func (h *jobHandler) Send(data *internal.Message) {
15+
func (h *jobHandler) Send(data *types.Message) {
1616
if data == nil {
1717
h.logger.Debug("Closing channel")
1818
close(h.channel)
@@ -25,8 +25,8 @@ func (h *jobHandler) Start() {
2525
go h.work.Handle()
2626
}
2727

28-
func NewJobHandler() internal.JobHandler {
29-
c := make(chan *internal.Message)
28+
func NewJobHandler() types.JobHandler {
29+
c := make(chan *types.Message)
3030
h := &jobHandler{
3131
channel: c,
3232
work: &workUnit{

runner/local/work_unit.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ import (
66
"github.com/bivas/rivi/config"
77
"github.com/bivas/rivi/engine"
88
"github.com/bivas/rivi/runner/env"
9-
"github.com/bivas/rivi/runner/internal"
9+
"github.com/bivas/rivi/runner/types"
1010
"github.com/bivas/rivi/types/builder"
1111
"github.com/bivas/rivi/util/log"
1212
"github.com/bivas/rivi/util/state"
1313
)
1414

1515
type workUnit struct {
16-
incoming <-chan *internal.Message
16+
incoming <-chan *types.Message
1717
logger log.Logger
1818
}
1919

20-
func (w *workUnit) internalHandle(msg *internal.Message) error {
20+
func (w *workUnit) internalHandle(msg *types.Message) error {
2121
environment, err := env.GetEnvironment()
2222
if err != nil {
2323
w.logger.ErrorWith(

runner/internal/hook_handler.go renamed to runner/types/hook_handler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package internal
1+
package types
22

33
type HookHandler interface {
44
Run()

0 commit comments

Comments
 (0)