cloudapi/v2: Use manifest-id-only job

job dependencies:
depsolve -> manifest -> osbuild

This allows the compose handler to return the osbuild job id
immediately.
This commit is contained in:
sanne 2021-11-15 10:58:52 +01:00 committed by Tom Gundersen
parent df73b835c3
commit 992e442ba7
2 changed files with 95 additions and 60 deletions

View file

@ -15,6 +15,7 @@ import (
"github.com/osbuild/osbuild-composer/internal/distro/test_distro"
distro_mock "github.com/osbuild/osbuild-composer/internal/mocks/distro"
rpmmd_mock "github.com/osbuild/osbuild-composer/internal/mocks/rpmmd"
"github.com/osbuild/osbuild-composer/internal/rpmmd"
"github.com/osbuild/osbuild-composer/internal/test"
"github.com/osbuild/osbuild-composer/internal/worker"
)
@ -39,9 +40,12 @@ func newV2Server(t *testing.T, dir string) (*v2.Server, *worker.Server, context.
if err != nil {
continue
}
rawMsg, err := json.Marshal(&worker.DepsolveJobResult{PackageSpecs: nil, Error: "", ErrorType: worker.ErrorType("")})
rawMsg, err := json.Marshal(&worker.DepsolveJobResult{PackageSpecs: map[string][]rpmmd.PackageSpec{"build": []rpmmd.PackageSpec{rpmmd.PackageSpec{Name: "pkg1"}}}, Error: "", ErrorType: worker.ErrorType("")})
require.NoError(t, err)
require.NoError(t, rpmFixture.Workers.FinishJob(token, rawMsg))
err = rpmFixture.Workers.FinishJob(token, rawMsg)
if err != nil {
return
}
select {
case <-depsolveContext.Done():
@ -284,7 +288,6 @@ func TestComposeStatusSuccess(t *testing.T) {
"image_status": {"status": "building"}
}`, jobId, jobId))
// todo make it an osbuildjobresult
res, err := json.Marshal(&worker.OSBuildJobResult{
Success: true,
})
@ -308,7 +311,6 @@ func TestComposeStatusSuccess(t *testing.T) {
"code": "IMAGE-BUILDER-COMPOSER-1012",
"reason": "OSBuildJobResult does not have expected fields set"
}`, "operation_id")
}
func TestComposeStatusFailure(t *testing.T) {