
For unit tests, this mocks the runners Execute method with a customizable function that operates on the request, streams and exit channel to simulate a real execution. End-to-end tests are moved to the tests/e2e_tests folder. The tests folder allows us to have shared helper functions for all tests in a separate package (tests) that is not included in the non-test build. This also adds one second of delay before each end-to-end test case by using the TestSetup method of suite. By slowing down test execution, this gives Nomad time to create new allocations when a test requested a runner. Another solution could be to increase the scale of the job to have enough allocations for all end-to-end tests. Co-authored-by: Maximilian Paß <maximilian.pass@student.hpi.uni-potsdam.de>
95 lines
2.3 KiB
Go
95 lines
2.3 KiB
Go
// Code generated by mockery v0.0.0-dev. DO NOT EDIT.
|
|
|
|
package runner
|
|
|
|
import (
|
|
context "context"
|
|
io "io"
|
|
|
|
dto "gitlab.hpi.de/codeocean/codemoon/poseidon/api/dto"
|
|
|
|
mock "github.com/stretchr/testify/mock"
|
|
)
|
|
|
|
// RunnerMock is an autogenerated mock type for the Runner type
|
|
type RunnerMock struct {
|
|
mock.Mock
|
|
}
|
|
|
|
// Add provides a mock function with given fields: id, executionRequest
|
|
func (_m *RunnerMock) Add(id ExecutionId, executionRequest *dto.ExecutionRequest) {
|
|
_m.Called(id, executionRequest)
|
|
}
|
|
|
|
// Copy provides a mock function with given fields: _a0
|
|
func (_m *RunnerMock) Copy(_a0 dto.FileCreation) {
|
|
_m.Called(_a0)
|
|
}
|
|
|
|
// Delete provides a mock function with given fields: id
|
|
func (_m *RunnerMock) Delete(id ExecutionId) {
|
|
_m.Called(id)
|
|
}
|
|
|
|
// Execute provides a mock function with given fields: request, stdin, stdout, stderr
|
|
func (_m *RunnerMock) Execute(request *dto.ExecutionRequest, stdin io.Reader, stdout io.Writer, stderr io.Writer) (<-chan ExitInfo, context.CancelFunc) {
|
|
ret := _m.Called(request, stdin, stdout, stderr)
|
|
|
|
var r0 <-chan ExitInfo
|
|
if rf, ok := ret.Get(0).(func(*dto.ExecutionRequest, io.Reader, io.Writer, io.Writer) <-chan ExitInfo); ok {
|
|
r0 = rf(request, stdin, stdout, stderr)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(<-chan ExitInfo)
|
|
}
|
|
}
|
|
|
|
var r1 context.CancelFunc
|
|
if rf, ok := ret.Get(1).(func(*dto.ExecutionRequest, io.Reader, io.Writer, io.Writer) context.CancelFunc); ok {
|
|
r1 = rf(request, stdin, stdout, stderr)
|
|
} else {
|
|
if ret.Get(1) != nil {
|
|
r1 = ret.Get(1).(context.CancelFunc)
|
|
}
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Get provides a mock function with given fields: id
|
|
func (_m *RunnerMock) Get(id ExecutionId) (*dto.ExecutionRequest, bool) {
|
|
ret := _m.Called(id)
|
|
|
|
var r0 *dto.ExecutionRequest
|
|
if rf, ok := ret.Get(0).(func(ExecutionId) *dto.ExecutionRequest); ok {
|
|
r0 = rf(id)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*dto.ExecutionRequest)
|
|
}
|
|
}
|
|
|
|
var r1 bool
|
|
if rf, ok := ret.Get(1).(func(ExecutionId) bool); ok {
|
|
r1 = rf(id)
|
|
} else {
|
|
r1 = ret.Get(1).(bool)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Id provides a mock function with given fields:
|
|
func (_m *RunnerMock) Id() string {
|
|
ret := _m.Called()
|
|
|
|
var r0 string
|
|
if rf, ok := ret.Get(0).(func() string); ok {
|
|
r0 = rf()
|
|
} else {
|
|
r0 = ret.Get(0).(string)
|
|
}
|
|
|
|
return r0
|
|
}
|