Skip to content

Commit bcac7f3

Browse files
Merge pull request #19686 from mfojtik/apps-01-fix-fixture-name
apps: use api calls when creating dc in extended tests
2 parents 6b35064 + 0dc7870 commit bcac7f3

21 files changed

+543
-505
lines changed

test/extended/deployments/deployments.go

+167-117
Large diffs are not rendered by default.

test/extended/deployments/util.go

+19-34
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,19 @@ import (
1111
"time"
1212

1313
"github.com/davecgh/go-spew/spew"
14-
"github.com/ghodss/yaml"
15-
1614
g "github.com/onsi/ginkgo"
1715
o "github.com/onsi/gomega"
1816

1917
corev1 "k8s.io/api/core/v1"
2018
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2119
"k8s.io/apimachinery/pkg/fields"
20+
"k8s.io/apimachinery/pkg/labels"
21+
"k8s.io/apimachinery/pkg/runtime"
22+
"k8s.io/apimachinery/pkg/runtime/serializer"
23+
"k8s.io/apimachinery/pkg/selection"
2224
"k8s.io/apimachinery/pkg/util/sets"
2325
"k8s.io/apimachinery/pkg/util/wait"
26+
kyaml "k8s.io/apimachinery/pkg/util/yaml"
2427
"k8s.io/apimachinery/pkg/watch"
2528
"k8s.io/client-go/kubernetes"
2629
"k8s.io/client-go/util/retry"
@@ -33,8 +36,6 @@ import (
3336
appstypedclientset "github.com/openshift/origin/pkg/apps/generated/internalclientset/typed/apps/internalversion"
3437
appsutil "github.com/openshift/origin/pkg/apps/util"
3538
exutil "github.com/openshift/origin/test/extended/util"
36-
"k8s.io/apimachinery/pkg/labels"
37-
"k8s.io/apimachinery/pkg/selection"
3839
)
3940

4041
type updateConfigFunc func(d *appsapi.DeploymentConfig)
@@ -489,30 +490,18 @@ func waitForDCModification(oc *exutil.CLI, namespace string, name string, timeou
489490
return event.Object.(*appsapi.DeploymentConfig), nil
490491
}
491492

492-
// createFixture will create the provided fixture and return the resource and the
493-
// name separately.
494-
// TODO: Probably move to a more general location like test/extended/util/cli.go
495-
func createFixture(oc *exutil.CLI, fixture string) (string, string, error) {
496-
resource, err := oc.Run("create").Args("-f", fixture, "-o", "name").Output()
493+
func createDeploymentConfig(oc *exutil.CLI, fixture string) (*appsapi.DeploymentConfig, error) {
494+
dcFixture, err := readDCFixture(fixture)
497495
if err != nil {
498-
return "", "", err
499-
}
500-
parts := strings.Split(resource, "/")
501-
if len(parts) != 2 {
502-
return "", "", fmt.Errorf("expected type/name syntax, got: %s", resource)
496+
return nil, err
503497
}
504-
return resource, parts[1], nil
505-
}
506-
507-
func createDeploymentConfig(oc *exutil.CLI, fixture string) (*appsapi.DeploymentConfig, error) {
508-
_, name, err := createFixture(oc, fixture)
498+
dc, err := oc.AppsClient().Apps().DeploymentConfigs(oc.Namespace()).Create(dcFixture)
509499
if err != nil {
510500
return nil, err
511501
}
512502
var pollErr error
513-
var dc *appsapi.DeploymentConfig
514503
err = wait.PollImmediate(1*time.Second, 1*time.Minute, func() (bool, error) {
515-
dc, err = oc.AppsClient().Apps().DeploymentConfigs(oc.Namespace()).Get(name, metav1.GetOptions{})
504+
dc, err = oc.AppsClient().Apps().DeploymentConfigs(oc.Namespace()).Get(dc.Name, metav1.GetOptions{})
516505
if err != nil {
517506
pollErr = err
518507
return false, nil
@@ -625,24 +614,20 @@ func readDCFixture(path string) (*appsapi.DeploymentConfig, error) {
625614
if err != nil {
626615
return nil, err
627616
}
628-
629-
dcv1 := new(appsapiv1.DeploymentConfig)
630-
err = yaml.Unmarshal(data, dcv1)
617+
content, err := kyaml.ToJSON(data)
631618
if err != nil {
632619
return nil, err
633620
}
634-
635-
dc := new(appsapi.DeploymentConfig)
636-
err = legacyscheme.Scheme.Convert(dcv1, dc, nil)
637-
return dc, err
638-
}
639-
640-
func readDCFixtureOrDie(path string) *appsapi.DeploymentConfig {
641-
data, err := readDCFixture(path)
621+
appsScheme := runtime.NewScheme()
622+
appsCodecs := serializer.NewCodecFactory(appsScheme)
623+
appsapiv1.AddToScheme(appsScheme)
624+
obj, err := runtime.Decode(appsCodecs.UniversalDecoder(appsapiv1.SchemeGroupVersion), content)
642625
if err != nil {
643-
panic(err)
626+
return nil, err
644627
}
645-
return data
628+
var dc appsapi.DeploymentConfig
629+
err = legacyscheme.Scheme.Convert(obj, &dc, nil)
630+
return &dc, err
646631
}
647632

648633
type deployerPodInvariantChecker struct {

0 commit comments

Comments
 (0)