mirror of https://github.com/docker/buildx.git
localstate: tests
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
e9fb769c60
commit
130e9fe093
|
@ -0,0 +1,99 @@
|
|||
package localstate
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestNew(t *testing.T) {
|
||||
_ = newls(t)
|
||||
}
|
||||
|
||||
func TestReadRef(t *testing.T) {
|
||||
l := newls(t)
|
||||
r, err := l.ReadRef(testBuilderName, testNodeName, testStateRefID)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, testStateRef, *r)
|
||||
}
|
||||
|
||||
func TestReadGroup(t *testing.T) {
|
||||
l := newls(t)
|
||||
g, err := l.ReadGroup(testStateGroupID)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, testStateGroup, *g)
|
||||
}
|
||||
|
||||
func TestRemoveBuilder(t *testing.T) {
|
||||
l := newls(t)
|
||||
require.NoError(t, l.RemoveBuilder(testBuilderName))
|
||||
}
|
||||
|
||||
func TestRemoveBuilderNode(t *testing.T) {
|
||||
l := newls(t)
|
||||
require.NoError(t, l.RemoveBuilderNode(testBuilderName, testNodeName))
|
||||
}
|
||||
|
||||
func newls(t *testing.T) *LocalState {
|
||||
t.Helper()
|
||||
tmpdir := t.TempDir()
|
||||
|
||||
l, err := New(tmpdir)
|
||||
require.NoError(t, err)
|
||||
require.DirExists(t, filepath.Join(tmpdir, refsDir))
|
||||
require.Equal(t, tmpdir, l.root)
|
||||
|
||||
require.NoError(t, l.SaveRef(testBuilderName, testNodeName, testStateRefID, testStateRef))
|
||||
|
||||
require.NoError(t, l.SaveGroup(testStateGroupID, testStateGroup))
|
||||
require.NoError(t, l.SaveRef(testBuilderName, testNodeName, testStateGroupRef1ID, testStateGroupRef1))
|
||||
require.NoError(t, l.SaveRef(testBuilderName, testNodeName, testStateGroupRef2ID, testStateGroupRef2))
|
||||
require.NoError(t, l.SaveRef(testBuilderName, testNodeName, testStateGroupRef3ID, testStateGroupRef3))
|
||||
|
||||
return l
|
||||
}
|
||||
|
||||
var (
|
||||
testBuilderName = "builder"
|
||||
testNodeName = "builder0"
|
||||
|
||||
testStateRefID = "32n3ffqrxjw41ok5zxd2qhume"
|
||||
testStateRef = State{
|
||||
Target: "default",
|
||||
LocalPath: "/home/foo/github.com/docker/docker-bake-action",
|
||||
DockerfilePath: "/home/foo/github.com/docker/docker-bake-action/dev.Dockerfile",
|
||||
}
|
||||
|
||||
testStateGroupID = "kvqs0sgly2rmitz84r25u9qd0"
|
||||
testStateGroup = StateGroup{
|
||||
Definition: []byte(`{"group":{"default":{"targets":["pre-checkin"]},"pre-checkin":{"targets":["vendor-update","format","build"]}},"target":{"build":{"context":".","dockerfile":"dev.Dockerfile","target":"build-update","platforms":["linux/amd64"],"output":["."]},"format":{"context":".","dockerfile":"dev.Dockerfile","target":"format-update","platforms":["linux/amd64"],"output":["."]},"vendor-update":{"context":".","dockerfile":"dev.Dockerfile","target":"vendor-update","platforms":["linux/amd64"],"output":["."]}}}`),
|
||||
Targets: []string{"pre-checkin"},
|
||||
Inputs: []string{"*.platform=linux/amd64"},
|
||||
Refs: []string{"builder/builder0/hx2qf1w11qvz1x3k471c5i8xw", "builder/builder0/968zj0g03jmlx0s8qslnvh6rl", "builder/builder0/naf44f9i1710lf7y12lv5hb1z"},
|
||||
}
|
||||
|
||||
testStateGroupRef1ID = "hx2qf1w11qvz1x3k471c5i8xw"
|
||||
testStateGroupRef1 = State{
|
||||
Target: "format",
|
||||
LocalPath: "/home/foo/github.com/docker/docker-bake-action",
|
||||
DockerfilePath: "/home/foo/github.com/docker/docker-bake-action/dev.Dockerfile",
|
||||
GroupRef: "kvqs0sgly2rmitz84r25u9qd0",
|
||||
}
|
||||
|
||||
testStateGroupRef2ID = "968zj0g03jmlx0s8qslnvh6rl"
|
||||
testStateGroupRef2 = State{
|
||||
Target: "build",
|
||||
LocalPath: "/home/foo/github.com/docker/docker-bake-action",
|
||||
DockerfilePath: "/home/foo/github.com/docker/docker-bake-action/dev.Dockerfile",
|
||||
GroupRef: "kvqs0sgly2rmitz84r25u9qd0",
|
||||
}
|
||||
|
||||
testStateGroupRef3ID = "naf44f9i1710lf7y12lv5hb1z"
|
||||
testStateGroupRef3 = State{
|
||||
Target: "vendor-update",
|
||||
LocalPath: "/home/foo/github.com/docker/docker-bake-action",
|
||||
DockerfilePath: "/home/foo/github.com/docker/docker-bake-action/dev.Dockerfile",
|
||||
GroupRef: "kvqs0sgly2rmitz84r25u9qd0",
|
||||
}
|
||||
)
|
Loading…
Reference in New Issue