Add WorkerChange interface
authorLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Tue, 24 Oct 2017 09:11:34 +0000 (11:11 +0200)
committerLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Fri, 27 Apr 2018 15:14:51 +0000 (17:14 +0200)
WorkerChange interface defines API for implementation to be informed
about changes in workers.

The mock implementation of interface is provided in workers package.
It is generated using mockgen command:

mockgen -package workers \
-destination=workers/workerchange_mock_test.go \
-write_package_comment=false \
git.tizen.org/tools/boruta/workers WorkerChange

Change-Id: Ia17aefd747057868bf2b4b57332397a591ac038a
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
workers/workerchange.go [new file with mode: 0644]
workers/workerchange_mock_test.go [new file with mode: 0644]

diff --git a/workers/workerchange.go b/workers/workerchange.go
new file mode 100644 (file)
index 0000000..c75a040
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ *  Copyright (c) 2017-2018 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License
+ */
+
+// File workers/workerchange.go defines WorkerChange interface with API
+// for notification about changes in workers' states.
+
+package workers
+
+import (
+       . "git.tizen.org/tools/boruta"
+)
+
+// WorkerChange defines API for implementation to be informed about
+// changes in workers.
+type WorkerChange interface {
+       // OnWorkerIdle notifies about available idle worker.
+       OnWorkerIdle(WorkerUUID)
+       // OnWorkerFail notifies about breaking execution of job by a running worker and
+       // putting it into FAIL or MAINTENANCE state.
+       OnWorkerFail(WorkerUUID)
+}
diff --git a/workers/workerchange_mock_test.go b/workers/workerchange_mock_test.go
new file mode 100644 (file)
index 0000000..e15f5a7
--- /dev/null
@@ -0,0 +1,53 @@
+// Code generated by MockGen. DO NOT EDIT.
+// Source: git.tizen.org/tools/boruta/workers (interfaces: WorkerChange)
+
+package workers
+
+import (
+       boruta "git.tizen.org/tools/boruta"
+       gomock "github.com/golang/mock/gomock"
+       reflect "reflect"
+)
+
+// MockWorkerChange is a mock of WorkerChange interface
+type MockWorkerChange struct {
+       ctrl     *gomock.Controller
+       recorder *MockWorkerChangeMockRecorder
+}
+
+// MockWorkerChangeMockRecorder is the mock recorder for MockWorkerChange
+type MockWorkerChangeMockRecorder struct {
+       mock *MockWorkerChange
+}
+
+// NewMockWorkerChange creates a new mock instance
+func NewMockWorkerChange(ctrl *gomock.Controller) *MockWorkerChange {
+       mock := &MockWorkerChange{ctrl: ctrl}
+       mock.recorder = &MockWorkerChangeMockRecorder{mock}
+       return mock
+}
+
+// EXPECT returns an object that allows the caller to indicate expected use
+func (m *MockWorkerChange) EXPECT() *MockWorkerChangeMockRecorder {
+       return m.recorder
+}
+
+// OnWorkerFail mocks base method
+func (m *MockWorkerChange) OnWorkerFail(arg0 boruta.WorkerUUID) {
+       m.ctrl.Call(m, "OnWorkerFail", arg0)
+}
+
+// OnWorkerFail indicates an expected call of OnWorkerFail
+func (mr *MockWorkerChangeMockRecorder) OnWorkerFail(arg0 interface{}) *gomock.Call {
+       return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnWorkerFail", reflect.TypeOf((*MockWorkerChange)(nil).OnWorkerFail), arg0)
+}
+
+// OnWorkerIdle mocks base method
+func (m *MockWorkerChange) OnWorkerIdle(arg0 boruta.WorkerUUID) {
+       m.ctrl.Call(m, "OnWorkerIdle", arg0)
+}
+
+// OnWorkerIdle indicates an expected call of OnWorkerIdle
+func (mr *MockWorkerChangeMockRecorder) OnWorkerIdle(arg0 interface{}) *gomock.Call {
+       return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnWorkerIdle", reflect.TypeOf((*MockWorkerChange)(nil).OnWorkerIdle), arg0)
+}