package analysis import ( "testing" osgraph "github.com/openshift/origin/pkg/api/graph" osgraphtest "github.com/openshift/origin/pkg/api/graph/test" buildedges "github.com/openshift/origin/pkg/build/graph" deployedges "github.com/openshift/origin/pkg/deploy/graph" imageedges "github.com/openshift/origin/pkg/image/graph" ) func TestMissingImageStreamTag(t *testing.T) { g, _, err := osgraphtest.BuildGraph("../../../api/graph/test/missing-istag.yaml") if err != nil { t.Fatalf("unexpected error: %v", err) } buildedges.AddAllInputOutputEdges(g) deployedges.AddAllTriggerEdges(g) imageedges.AddAllImageStreamRefEdges(g) imageedges.AddAllImageStreamImageRefEdges(g) markers := FindDeploymentConfigTriggerErrors(g, osgraph.DefaultNamer) if e, a := 1, len(markers); e != a { t.Fatalf("expected %v, got %v", e, a) } if got, expected := markers[0].Key, MissingImageStreamTagWarning; got != expected { t.Fatalf("expected marker key %q, got %q", expected, got) } } func TestMissingImageStream(t *testing.T) { g, _, err := osgraphtest.BuildGraph("../../../api/graph/test/unpushable-build-2.yaml") if err != nil { t.Fatalf("unexpected error: %v", err) } buildedges.AddAllInputOutputEdges(g) deployedges.AddAllTriggerEdges(g) imageedges.AddAllImageStreamRefEdges(g) imageedges.AddAllImageStreamImageRefEdges(g) markers := FindDeploymentConfigTriggerErrors(g, osgraph.DefaultNamer) if e, a := 1, len(markers); e != a { t.Fatalf("expected %v, got %v", e, a) } if got, expected := markers[0].Key, MissingImageStreamErr; got != expected { t.Fatalf("expected marker key %q, got %q", expected, got) } } func TestMissingReadinessProbe(t *testing.T) { g, _, err := osgraphtest.BuildGraph("../../../api/graph/test/unpushable-build-2.yaml") if err != nil { t.Fatalf("unexpected error: %v", err) } buildedges.AddAllInputOutputEdges(g) deployedges.AddAllTriggerEdges(g) imageedges.AddAllImageStreamRefEdges(g) markers := FindDeploymentConfigReadinessWarnings(g, osgraph.DefaultNamer, "command probe") if e, a := 1, len(markers); e != a { t.Fatalf("expected %v, got %v", e, a) } if got, expected := markers[0].Key, MissingReadinessProbeWarning; got != expected { t.Fatalf("expected marker key %q, got %q", expected, got) } } func TestSingleHostVolumeError(t *testing.T) { g, _, err := osgraphtest.BuildGraph("../../../api/graph/test/dc-with-claim.yaml") if err != nil { t.Fatalf("unexpected error: %v", err) } deployedges.AddAllVolumeClaimEdges(g) markers := FindPersistentVolumeClaimWarnings(g, osgraph.DefaultNamer) if e, a := 1, len(markers); e != a { t.Fatalf("expected %v, got %v", e, a) } if got, expected := markers[0].Key, SingleHostVolumeWarning; got != expected { t.Fatalf("expected marker key %q, got %q", expected, got) } }