debian-forge-composer/internal/jobqueue/fsjobqueue/fsjobqueue_test.go
Lars Karlitski 30492bfc60 jobqueue: move fsjobqueue's generic tests into new package
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.
2021-07-28 21:52:31 +01:00

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)
}