fsjobqueue_test contained tests that are generically testing the JobQueue interface. Split those out into its own package `jobqueuetest`. These tests will be useful when implementing a new package that conforms to the JobQueue interface.
36 lines
806 B
Go
36 lines
806 B
Go
package fsjobqueue_test
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/osbuild/osbuild-composer/internal/jobqueue"
|
|
"github.com/osbuild/osbuild-composer/internal/jobqueue/fsjobqueue"
|
|
"github.com/osbuild/osbuild-composer/internal/jobqueue/jobqueuetest"
|
|
)
|
|
|
|
func TestJobQueueInterface(t *testing.T) {
|
|
jobqueuetest.TestJobQueue(t, func() (jobqueue.JobQueue, func(), error) {
|
|
dir, err := ioutil.TempDir("", "jobqueue-test-")
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
q, err := fsjobqueue.New(dir)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
stop := func() {
|
|
_ = os.RemoveAll(dir)
|
|
}
|
|
return q, stop, nil
|
|
})
|
|
}
|
|
|
|
func TestNonExistant(t *testing.T) {
|
|
q, err := fsjobqueue.New("/non-existant-directory")
|
|
require.Error(t, err)
|
|
require.Nil(t, q)
|
|
}
|