本文整理汇总了Golang中github.com/openshift/origin/pkg/build/generator/test.MockSourceStrategyForImageRepository函数的典型用法代码示例。如果您正苦于以下问题:Golang MockSourceStrategyForImageRepository函数的具体用法?Golang MockSourceStrategyForImageRepository怎么用?Golang MockSourceStrategyForImageRepository使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MockSourceStrategyForImageRepository函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestInstantiateWithLastVersion
func TestInstantiateWithLastVersion(t *testing.T) {
g := mockBuildGenerator()
c := g.Client.(Client)
c.GetBuildConfigFunc = func(ctx kapi.Context, name string) (*buildapi.BuildConfig, error) {
bc := mocks.MockBuildConfig(mocks.MockSource(), mocks.MockSourceStrategyForImageRepository(), mocks.MockOutput())
bc.Status.LastVersion = 1
return bc, nil
}
g.Client = c
// Version not specified
_, err := g.Instantiate(kapi.NewDefaultContext(), &buildapi.BuildRequest{})
if err != nil {
t.Errorf("Unexpected error %v", err)
}
// Version specified and it matches
lastVersion := 1
_, err = g.Instantiate(kapi.NewDefaultContext(), &buildapi.BuildRequest{LastVersion: &lastVersion})
if err != nil {
t.Errorf("Unexpected error %v", err)
}
// Version specified, but doesn't match
lastVersion = 0
_, err = g.Instantiate(kapi.NewDefaultContext(), &buildapi.BuildRequest{LastVersion: &lastVersion})
if err == nil {
t.Errorf("Expected an error and did not get one")
}
}
示例2: TestGetNextBuildName
func TestGetNextBuildName(t *testing.T) {
bc := mocks.MockBuildConfig(mocks.MockSource(), mocks.MockSourceStrategyForImageRepository(), mocks.MockOutput())
if expected, actual := bc.Name+"-1", getNextBuildName(bc); expected != actual {
t.Errorf("Wrong buildName, expected %s, got %s", expected, actual)
}
if expected, actual := 1, bc.Status.LastVersion; expected != actual {
t.Errorf("Wrong version, expected %d, got %d", expected, actual)
}
}
示例3: TestCreateInstantiate
func TestCreateInstantiate(t *testing.T) {
imageStream := mocks.MockImageStream("testImageStream", "registry.com/namespace/imagename", map[string]string{"test": "newImageID123"})
image := mocks.MockImage("[email protected]", "registry.com/namespace/[email protected]")
fakeSecrets := []runtime.Object{}
for _, s := range mocks.MockBuilderSecrets() {
fakeSecrets = append(fakeSecrets, s)
}
rest := InstantiateREST{&generator.BuildGenerator{
Secrets: testclient.NewSimpleFake(fakeSecrets...),
ServiceAccounts: mocks.MockBuilderServiceAccount(mocks.MockBuilderSecrets()),
Client: generator.Client{
GetBuildConfigFunc: func(ctx kapi.Context, name string) (*buildapi.BuildConfig, error) {
return mocks.MockBuildConfig(mocks.MockSource(), mocks.MockSourceStrategyForImageRepository(), mocks.MockOutput()), nil
},
UpdateBuildConfigFunc: func(ctx kapi.Context, buildConfig *buildapi.BuildConfig) error {
return nil
},
CreateBuildFunc: func(ctx kapi.Context, build *buildapi.Build) error {
return nil
},
GetBuildFunc: func(ctx kapi.Context, name string) (*buildapi.Build, error) {
return &buildapi.Build{}, nil
},
GetImageStreamFunc: func(ctx kapi.Context, name string) (*imageapi.ImageStream, error) {
return imageStream, nil
},
GetImageStreamTagFunc: func(ctx kapi.Context, name string) (*imageapi.ImageStreamTag, error) {
return &imageapi.ImageStreamTag{Image: *image}, nil
},
GetImageStreamImageFunc: func(ctx kapi.Context, name string) (*imageapi.ImageStreamImage, error) {
return &imageapi.ImageStreamImage{Image: *image}, nil
},
}}}
_, err := rest.Create(kapi.NewDefaultContext(), &buildapi.BuildRequest{ObjectMeta: kapi.ObjectMeta{Name: "name"}})
if err != nil {
t.Errorf("Unexpected error %v", err)
}
}
示例4: TestInstantiateWithLabelsAndAnnotations
func TestInstantiateWithLabelsAndAnnotations(t *testing.T) {
g := mockBuildGenerator()
c := g.Client.(Client)
c.GetBuildConfigFunc = func(ctx kapi.Context, name string) (*buildapi.BuildConfig, error) {
bc := mocks.MockBuildConfig(mocks.MockSource(), mocks.MockSourceStrategyForImageRepository(), mocks.MockOutput())
bc.Status.LastVersion = 1
return bc, nil
}
g.Client = c
req := &buildapi.BuildRequest{
ObjectMeta: kapi.ObjectMeta{
Annotations: map[string]string{
"a_1": "a_value1",
// build number is set as an annotation on the generated build, so we
// shouldn't be able to ovewrite it here.
buildapi.BuildNumberAnnotation: "bad_annotation",
},
Labels: map[string]string{
"l_1": "l_value1",
// testbclabel is defined as a label on the mockBuildConfig so we shouldn't
// be able to overwrite it here.
"testbclabel": "bad_label",
},
},
}
build, err := g.Instantiate(kapi.NewDefaultContext(), req)
if err != nil {
t.Errorf("Unexpected error %v", err)
}
if build.Annotations["a_1"] != "a_value1" || build.Annotations[buildapi.BuildNumberAnnotation] == "bad_annotation" {
t.Errorf("Build annotations were merged incorrectly: %v", build.Annotations)
}
if build.Labels["l_1"] != "l_value1" || build.Labels[buildapi.BuildLabel] == "bad_label" {
t.Errorf("Build labels were merged incorrectly: %v", build.Labels)
}
}
示例5: TestGenerateBuildWithImageTagForSourceStrategyImageRepository
func TestGenerateBuildWithImageTagForSourceStrategyImageRepository(t *testing.T) {
source := mocks.MockSource()
strategy := mocks.MockSourceStrategyForImageRepository()
output := mocks.MockOutput()
bc := &buildapi.BuildConfig{
ObjectMeta: kapi.ObjectMeta{
Name: "test-build-config",
},
Spec: buildapi.BuildConfigSpec{
BuildSpec: buildapi.BuildSpec{
Source: source,
Revision: &buildapi.SourceRevision{
Git: &buildapi.GitSourceRevision{
Commit: "1234",
},
},
Strategy: strategy,
Output: output,
},
},
}
fakeSecrets := []runtime.Object{}
for _, s := range mocks.MockBuilderSecrets() {
fakeSecrets = append(fakeSecrets, s)
}
generator := BuildGenerator{
Secrets: testclient.NewSimpleFake(fakeSecrets...),
ServiceAccounts: mocks.MockBuilderServiceAccount(mocks.MockBuilderSecrets()),
Client: Client{
GetImageStreamFunc: func(ctx kapi.Context, name string) (*imageapi.ImageStream, error) {
return &imageapi.ImageStream{
ObjectMeta: kapi.ObjectMeta{Name: imageRepoName},
Status: imageapi.ImageStreamStatus{
DockerImageRepository: originalImage,
Tags: map[string]imageapi.TagEventList{
tagName: {
Items: []imageapi.TagEvent{
{
DockerImageReference: fmt.Sprintf("%s:%s", originalImage, newTag),
Image: newTag,
},
},
},
},
},
}, nil
},
GetImageStreamTagFunc: func(ctx kapi.Context, name string) (*imageapi.ImageStreamTag, error) {
return &imageapi.ImageStreamTag{
Image: imageapi.Image{
ObjectMeta: kapi.ObjectMeta{Name: imageRepoName + ":" + newTag},
DockerImageReference: originalImage + ":" + newTag,
},
}, nil
},
GetImageStreamImageFunc: func(ctx kapi.Context, name string) (*imageapi.ImageStreamImage, error) {
return &imageapi.ImageStreamImage{
Image: imageapi.Image{
ObjectMeta: kapi.ObjectMeta{Name: imageRepoName + ":@id"},
DockerImageReference: originalImage + ":" + newTag,
},
}, nil
},
UpdateBuildConfigFunc: func(ctx kapi.Context, buildConfig *buildapi.BuildConfig) error {
return nil
},
}}
build, err := generator.generateBuildFromConfig(kapi.NewContext(), bc, nil, nil)
if err != nil {
t.Fatalf("Unexpected error %v", err)
}
if build.Spec.Strategy.SourceStrategy.From.Name != newImage {
t.Errorf("source-to-image base image value %s does not match expected value %s", build.Spec.Strategy.SourceStrategy.From.Name, newImage)
}
}
示例6: mockBuildGenerator
func mockBuildGenerator() *BuildGenerator {
fakeSecrets := []runtime.Object{}
for _, s := range mocks.MockBuilderSecrets() {
fakeSecrets = append(fakeSecrets, s)
}
return &BuildGenerator{
Secrets: testclient.NewSimpleFake(fakeSecrets...),
ServiceAccounts: mocks.MockBuilderServiceAccount(mocks.MockBuilderSecrets()),
Client: Client{
GetBuildConfigFunc: func(ctx kapi.Context, name string) (*buildapi.BuildConfig, error) {
return mocks.MockBuildConfig(mocks.MockSource(), mocks.MockSourceStrategyForImageRepository(), mocks.MockOutput()), nil
},
UpdateBuildConfigFunc: func(ctx kapi.Context, buildConfig *buildapi.BuildConfig) error {
return nil
},
CreateBuildFunc: func(ctx kapi.Context, build *buildapi.Build) error {
return nil
},
GetBuildFunc: func(ctx kapi.Context, name string) (*buildapi.Build, error) {
return &buildapi.Build{}, nil
},
GetImageStreamFunc: func(ctx kapi.Context, name string) (*imageapi.ImageStream, error) {
if name != imageRepoName {
return &imageapi.ImageStream{}, nil
}
return &imageapi.ImageStream{
ObjectMeta: kapi.ObjectMeta{
Name: imageRepoName,
Namespace: imageRepoNamespace,
},
Status: imageapi.ImageStreamStatus{
DockerImageRepository: "repo/namespace/image",
Tags: map[string]imageapi.TagEventList{
tagName: {
Items: []imageapi.TagEvent{
{DockerImageReference: dockerReference},
},
},
imageapi.DefaultImageTag: {
Items: []imageapi.TagEvent{
{DockerImageReference: latestDockerReference},
},
},
},
},
}, nil
},
GetImageStreamTagFunc: func(ctx kapi.Context, name string) (*imageapi.ImageStreamTag, error) {
return &imageapi.ImageStreamTag{
Image: imageapi.Image{
ObjectMeta: kapi.ObjectMeta{Name: imageRepoName + ":" + newTag},
DockerImageReference: latestDockerReference,
},
}, nil
},
GetImageStreamImageFunc: func(ctx kapi.Context, name string) (*imageapi.ImageStreamImage, error) {
return &imageapi.ImageStreamImage{
Image: imageapi.Image{
ObjectMeta: kapi.ObjectMeta{Name: imageRepoName + ":@id"},
DockerImageReference: latestDockerReference,
},
}, nil
},
}}
}