本文整理汇总了Golang中github.com/openshift/origin/pkg/client/testclient.NewSimpleFake函数的典型用法代码示例。如果您正苦于以下问题:Golang NewSimpleFake函数的具体用法?Golang NewSimpleFake怎么用?Golang NewSimpleFake使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewSimpleFake函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestStatusBackoffOnConflict
func TestStatusBackoffOnConflict(t *testing.T) {
now := nowFn()
nowFn = func() unversioned.Time { return now }
touched := unversioned.Time{Time: now.Add(-time.Minute)}
p := &fakePlugin{}
c := testclient.NewSimpleFake(&(errors.NewConflict(kapi.Resource("Route"), "route1", nil).ErrStatus))
admitter := NewStatusAdmitter(p, c, "test")
err := admitter.HandleRoute(watch.Added, &routeapi.Route{
ObjectMeta: kapi.ObjectMeta{Name: "route1", Namespace: "default", UID: types.UID("uid1")},
Spec: routeapi.RouteSpec{Host: "route1.test.local"},
Status: routeapi.RouteStatus{
Ingress: []routeapi.RouteIngress{
{
Host: "route2.test.local",
RouterName: "test",
Conditions: []routeapi.RouteIngressCondition{
{
Type: routeapi.RouteAdmitted,
Status: kapi.ConditionFalse,
LastTransitionTime: &touched,
},
},
},
},
},
})
checkResult(t, err, c, admitter, "route1.test.local", now, nil, 0, 0)
}
开发者ID:dcbw,项目名称:origin,代码行数:28,代码来源:status_test.go
示例2: TestHandle_configAlreadyDeployed
// TestHandle_configAlreadyDeployed ensures that an attempt to create a
// deployment for an updated config for which the deployment was already
// created results in a no-op.
func TestHandle_configAlreadyDeployed(t *testing.T) {
deploymentConfig := deploytest.OkDeploymentConfig(0)
controller := &DeploymentConfigController{
makeDeployment: func(config *deployapi.DeploymentConfig) (*kapi.ReplicationController, error) {
return deployutil.MakeDeployment(config, api.Codec)
},
deploymentClient: &deploymentClientImpl{
createDeploymentFunc: func(namespace string, deployment *kapi.ReplicationController) (*kapi.ReplicationController, error) {
t.Fatalf("unexpected call to to create deployment: %v", deployment)
return nil, nil
},
listDeploymentsForConfigFunc: func(namespace, configName string) (*kapi.ReplicationControllerList, error) {
existingDeployments := []kapi.ReplicationController{}
deployment, _ := deployutil.MakeDeployment(deploymentConfig, kapi.Codec)
existingDeployments = append(existingDeployments, *deployment)
return &kapi.ReplicationControllerList{Items: existingDeployments}, nil
},
updateDeploymentFunc: func(namespace string, deployment *kapi.ReplicationController) (*kapi.ReplicationController, error) {
t.Fatalf("unexpected update call with deployment %v", deployment)
return nil, nil
},
},
osClient: testclient.NewSimpleFake(deploymentConfig),
}
err := controller.Handle(deploymentConfig)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
}
开发者ID:hloganathan,项目名称:origin,代码行数:35,代码来源:controller_test.go
示例3: TestOriginQuotaAdmissionIsErrorQuotaExceeded
// TestOriginQuotaAdmissionIsErrorQuotaExceeded verifies that if a resource exceeds allowed usage, the
// admission will return error we can recognize.
func TestOriginQuotaAdmissionIsErrorQuotaExceeded(t *testing.T) {
resourceQuota := &kapi.ResourceQuota{
ObjectMeta: kapi.ObjectMeta{Name: "quota", Namespace: "test", ResourceVersion: "124"},
Status: kapi.ResourceQuotaStatus{
Hard: kapi.ResourceList{
imageapi.ResourceImageStreams: resource.MustParse("0"),
},
Used: kapi.ResourceList{
imageapi.ResourceImageStreams: resource.MustParse("0"),
},
},
}
kubeClient := kfake.NewSimpleClientset(resourceQuota)
osClient := testclient.NewSimpleFake(&imageapi.ImageStream{})
plugin := NewOriginResourceQuota(kubeClient).(*originQuotaAdmission)
plugin.SetOriginQuotaRegistry(quota.NewOriginQuotaRegistry(osClient))
if err := plugin.Validate(); err != nil {
t.Fatalf("unexpected error: %v", err)
}
newIS := &imageapi.ImageStream{
ObjectMeta: kapi.ObjectMeta{
Namespace: "test",
Name: "is",
},
}
err := plugin.Admit(admission.NewAttributesRecord(newIS, nil, imageapi.Kind("ImageStream").WithVersion("version"), newIS.Namespace, newIS.Name, kapi.Resource("imageStreams").WithVersion("version"), "", admission.Create, nil))
if err == nil {
t.Fatalf("Expected an error exceeding quota")
}
if !quotautil.IsErrorQuotaExceeded(err) {
t.Fatalf("Expected error %q to be matched by IsErrorQuotaExceeded()", err.Error())
}
}
开发者ID:Xmagicer,项目名称:origin,代码行数:37,代码来源:admission_test.go
示例4: buildRouteClient
func buildRouteClient(routes []*routeapi.Route) saOAuthClientAdapter {
objects := []runtime.Object{}
for _, route := range routes {
objects = append(objects, route)
}
return saOAuthClientAdapter{routeClient: ostestclient.NewSimpleFake(objects...)}
}
开发者ID:LalatenduMohanty,项目名称:origin,代码行数:7,代码来源:oauthclientregistry_test.go
示例5: TestImagePruneNamespaced
func TestImagePruneNamespaced(t *testing.T) {
kFake := fake.NewSimpleClientset()
osFake := testclient.NewSimpleFake()
opts := &PruneImagesOptions{
Namespace: "foo",
OSClient: osFake,
KClient: kFake,
Out: ioutil.Discard,
}
if err := opts.Run(); err != nil {
t.Errorf("Unexpected error: %v", err)
}
if len(osFake.Actions()) == 0 || len(kFake.Actions()) == 0 {
t.Errorf("Missing get images actions")
}
for _, a := range osFake.Actions() {
// images are non-namespaced
if a.GetResource().Resource == "images" {
continue
}
if a.GetNamespace() != "foo" {
t.Errorf("Unexpected namespace while pruning %s: %s", a.GetResource(), a.GetNamespace())
}
}
for _, a := range kFake.Actions() {
if a.GetNamespace() != "foo" {
t.Errorf("Unexpected namespace while pruning %s: %s", a.GetResource(), a.GetNamespace())
}
}
}
开发者ID:xgwang-zte,项目名称:origin,代码行数:33,代码来源:images_test.go
示例6: mockREST
// mockREST mocks a DeploymentLog REST
func mockREST(version, desired int, endStatus api.DeploymentStatus) *REST {
// Fake deploymentConfig
config := deploytest.OkDeploymentConfig(version)
fakeDn := testclient.NewSimpleFake(config)
fakeDn.PrependReactor("get", "deploymentconfigs", func(action ktestclient.Action) (handled bool, ret runtime.Object, err error) {
return true, config, nil
})
// Fake deployments
fakeDeployments := makeDeploymentList(version)
fakeRn := ktestclient.NewSimpleFake(fakeDeployments)
fakeRn.PrependReactor("get", "replicationcontrollers", func(action ktestclient.Action) (handled bool, ret runtime.Object, err error) {
return true, &fakeDeployments.Items[desired-1], nil
})
// Fake watcher for deployments
fakeWatch := watch.NewFake()
fakeRn.PrependWatchReactor("replicationcontrollers", ktestclient.DefaultWatchReactor(fakeWatch, nil))
// Everything is fake
connectionInfo := &kclient.HTTPKubeletClient{Config: &kclient.KubeletConfig{EnableHttps: true, Port: 12345}, Client: &http.Client{}}
obj := &fakeDeployments.Items[desired-1]
obj.Annotations[api.DeploymentStatusAnnotation] = string(endStatus)
go fakeWatch.Add(obj)
return &REST{
ConfigGetter: fakeDn,
DeploymentGetter: fakeRn,
PodGetter: &deployerPodGetter{},
ConnectionInfo: connectionInfo,
Timeout: defaultTimeout,
}
}
开发者ID:johnmccawley,项目名称:origin,代码行数:32,代码来源:rest_test.go
示例7: TestHandle_fatalError
// TestHandle_fatalError ensures that in internal (not API) failure to make a
// deployment from an updated config results in a fatal error.
func TestHandle_fatalError(t *testing.T) {
configController := &DeploymentConfigController{
makeDeployment: func(config *deployapi.DeploymentConfig) (*kapi.ReplicationController, error) {
return nil, fmt.Errorf("couldn't make deployment")
},
deploymentClient: &deploymentClientImpl{
createDeploymentFunc: func(namespace string, deployment *kapi.ReplicationController) (*kapi.ReplicationController, error) {
t.Fatalf("unexpected call to create")
return nil, kerrors.NewInternalError(fmt.Errorf("test error"))
},
listDeploymentsForConfigFunc: func(namespace, configName string) (*kapi.ReplicationControllerList, error) {
return &kapi.ReplicationControllerList{}, nil
},
updateDeploymentFunc: func(namespace string, deployment *kapi.ReplicationController) (*kapi.ReplicationController, error) {
t.Fatalf("unexpected update call with deployment %v", deployment)
return nil, nil
},
},
osClient: testclient.NewSimpleFake(deploytest.OkDeploymentConfig(1)),
}
err := configController.Handle(deploytest.OkDeploymentConfig(1))
if err == nil {
t.Fatalf("expected error")
}
if _, isFatal := err.(fatalError); !isFatal {
t.Fatalf("expected a fatal error, got: %v", err)
}
}
开发者ID:hloganathan,项目名称:origin,代码行数:31,代码来源:controller_test.go
示例8: TestHandle_initialOk
// TestHandle_initialOk ensures that an initial config (version 0) doesn't result
// in a new deployment.
func TestHandle_initialOk(t *testing.T) {
controller := &DeploymentConfigController{
makeDeployment: func(config *deployapi.DeploymentConfig) (*kapi.ReplicationController, error) {
return deployutil.MakeDeployment(config, api.Codec)
},
deploymentClient: &deploymentClientImpl{
createDeploymentFunc: func(namespace string, deployment *kapi.ReplicationController) (*kapi.ReplicationController, error) {
t.Fatalf("unexpected call with deployment %v", deployment)
return nil, nil
},
listDeploymentsForConfigFunc: func(namespace, configName string) (*kapi.ReplicationControllerList, error) {
return &kapi.ReplicationControllerList{}, nil
},
updateDeploymentFunc: func(namespace string, deployment *kapi.ReplicationController) (*kapi.ReplicationController, error) {
t.Fatalf("unexpected update call with deployment %v", deployment)
return nil, nil
},
},
osClient: testclient.NewSimpleFake(deploytest.OkDeploymentConfig(0)),
}
err := controller.Handle(deploytest.OkDeploymentConfig(0))
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
}
开发者ID:hloganathan,项目名称:origin,代码行数:29,代码来源:controller_test.go
示例9: TestDeploymentPruneNamespaced
func TestDeploymentPruneNamespaced(t *testing.T) {
kFake := ktestclient.NewSimpleFake()
osFake := testclient.NewSimpleFake()
opts := &PruneDeploymentsOptions{
Namespace: "foo",
OSClient: osFake,
KClient: kFake,
Out: ioutil.Discard,
}
if err := opts.Run(); err != nil {
t.Errorf("Unexpected error: %v", err)
}
if len(osFake.Actions()) == 0 || len(kFake.Actions()) == 0 {
t.Errorf("Missing get deployments actions")
}
for _, a := range osFake.Actions() {
if a.GetNamespace() != "foo" {
t.Errorf("Unexpected namespace while pruning %s: %s", a.GetResource(), a.GetNamespace())
}
}
for _, a := range kFake.Actions() {
if a.GetNamespace() != "foo" {
t.Errorf("Unexpected namespace while pruning %s: %s", a.GetResource(), a.GetNamespace())
}
}
}
开发者ID:juanluisvaladas,项目名称:origin,代码行数:29,代码来源:deployments_test.go
示例10: TestStatusRecordRejection
func TestStatusRecordRejection(t *testing.T) {
now := nowFn()
nowFn = func() unversioned.Time { return now }
p := &fakePlugin{}
c := testclient.NewSimpleFake(&routeapi.Route{})
admitter := NewStatusAdmitter(p, c, "test")
admitter.RecordRouteRejection(&routeapi.Route{
ObjectMeta: kapi.ObjectMeta{Name: "route1", Namespace: "default", UID: types.UID("uid1")},
Spec: routeapi.RouteSpec{Host: "route1.test.local"},
}, "Failed", "generic error")
if len(c.Actions()) != 1 {
t.Fatalf("unexpected actions: %#v", c.Actions())
}
action := c.Actions()[0]
if action.GetVerb() != "update" || action.GetResource() != "routes" || action.GetSubresource() != "status" {
t.Fatalf("unexpected action: %#v", action)
}
obj := c.Actions()[0].(ktestclient.UpdateAction).GetObject().(*routeapi.Route)
if len(obj.Status.Ingress) != 1 || obj.Status.Ingress[0].Host != "route1.test.local" {
t.Fatalf("expected route reset: %#v", obj)
}
condition := obj.Status.Ingress[0].Conditions[0]
if condition.LastTransitionTime == nil || *condition.LastTransitionTime != now || condition.Status != kapi.ConditionFalse || condition.Reason != "Failed" || condition.Message != "generic error" {
t.Fatalf("unexpected condition: %#v", condition)
}
if v, ok := admitter.expected.Peek(types.UID("uid1")); !ok || !reflect.DeepEqual(v, now.Time) {
t.Fatalf("expected empty time: %#v", v)
}
}
开发者ID:carriercomm,项目名称:origin,代码行数:30,代码来源:status_test.go
示例11: TestStatusNoOp
func TestStatusNoOp(t *testing.T) {
now := unversioned.Now()
touched := unversioned.Time{Time: now.Add(-time.Minute)}
p := &fakePlugin{}
c := testclient.NewSimpleFake()
admitter := NewStatusAdmitter(p, c, "test")
err := admitter.HandleRoute(watch.Added, &routeapi.Route{
ObjectMeta: kapi.ObjectMeta{Name: "route1", Namespace: "default", UID: types.UID("uid1")},
Spec: routeapi.RouteSpec{Host: "route1.test.local"},
Status: routeapi.RouteStatus{
Ingress: []routeapi.RouteIngress{
{
Host: "route1.test.local",
RouterName: "test",
Conditions: []routeapi.RouteIngressCondition{
{
Type: routeapi.RouteAdmitted,
Status: kapi.ConditionTrue,
LastTransitionTime: &touched,
},
},
},
},
},
})
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if len(c.Actions()) > 0 {
t.Fatalf("unexpected actions: %#v", c.Actions())
}
}
开发者ID:enoodle,项目名称:origin,代码行数:32,代码来源:status_test.go
示例12: TestStatusBackoffOnConflict
func TestStatusBackoffOnConflict(t *testing.T) {
now := nowFn()
nowFn = func() unversioned.Time { return now }
touched := unversioned.Time{Time: now.Add(-time.Minute)}
p := &fakePlugin{}
c := testclient.NewSimpleFake(&routeapi.Route{ObjectMeta: kapi.ObjectMeta{Name: "route1", Namespace: "default", UID: types.UID("uid1")}})
c.PrependReactor("update", "routes", func(action core.Action) (handled bool, ret runtime.Object, err error) {
if action.GetSubresource() != "status" {
return false, nil, nil
}
return true, nil, errors.NewConflict(kapi.Resource("Route"), "route1", nil)
})
admitter := NewStatusAdmitter(p, c, "test")
err := admitter.HandleRoute(watch.Added, &routeapi.Route{
ObjectMeta: kapi.ObjectMeta{Name: "route1", Namespace: "default", UID: types.UID("uid1")},
Spec: routeapi.RouteSpec{Host: "route1.test.local"},
Status: routeapi.RouteStatus{
Ingress: []routeapi.RouteIngress{
{
Host: "route2.test.local",
RouterName: "test",
Conditions: []routeapi.RouteIngressCondition{
{
Type: routeapi.RouteAdmitted,
Status: kapi.ConditionFalse,
LastTransitionTime: &touched,
},
},
},
},
},
})
checkResult(t, err, c, admitter, "route1.test.local", now, nil, 0, 0)
}
开发者ID:xgwang-zte,项目名称:origin,代码行数:34,代码来源:status_test.go
示例13: TestHandle_nonfatalLookupError
// TestHandle_nonfatalLookupError ensures that an API failure to look up the
// existing deployment for an updated config results in a nonfatal error.
func TestHandle_nonfatalLookupError(t *testing.T) {
configController := &DeploymentConfigController{
makeDeployment: func(config *deployapi.DeploymentConfig) (*kapi.ReplicationController, error) {
return deployutil.MakeDeployment(config, api.Codec)
},
deploymentClient: &deploymentClientImpl{
createDeploymentFunc: func(namespace string, deployment *kapi.ReplicationController) (*kapi.ReplicationController, error) {
t.Fatalf("unexpected call with deployment %v", deployment)
return nil, nil
},
listDeploymentsForConfigFunc: func(namespace, configName string) (*kapi.ReplicationControllerList, error) {
return nil, kerrors.NewInternalError(fmt.Errorf("fatal test error"))
},
updateDeploymentFunc: func(namespace string, deployment *kapi.ReplicationController) (*kapi.ReplicationController, error) {
t.Fatalf("unexpected update call with deployment %v", deployment)
return nil, nil
},
},
osClient: testclient.NewSimpleFake(),
}
err := configController.Handle(deploytest.OkDeploymentConfig(1))
if err == nil {
t.Fatalf("expected error")
}
if _, isFatal := err.(fatalError); isFatal {
t.Fatalf("expected a retryable error, got a fatal error: %v", err)
}
}
开发者ID:hloganathan,项目名称:origin,代码行数:31,代码来源:controller_test.go
示例14: fakeMasterConfig
// fakeMasterConfig creates a new fake master config with an empty kubelet config and dummy storage.
func fakeMasterConfig() *MasterConfig {
informerFactory := shared.NewInformerFactory(testclient.NewSimpleFake(), otestclient.NewSimpleFake(), shared.DefaultListerWatcherOverrides{}, 1*time.Second)
return &MasterConfig{
KubeletClientConfig: &kubeletclient.KubeletClientConfig{},
RESTOptionsGetter: restoptions.NewSimpleGetter(&storagebackend.Config{ServerList: []string{"localhost"}}),
Informers: informerFactory,
ClusterQuotaMappingController: clusterquotamapping.NewClusterQuotaMappingController(informerFactory.Namespaces(), informerFactory.ClusterResourceQuotas()),
}
}
开发者ID:juanluisvaladas,项目名称:origin,代码行数:10,代码来源:reststorage_validation_test.go
示例15: TestGetRepositoryBuildConfigs
func TestGetRepositoryBuildConfigs(t *testing.T) {
tests := []struct {
name string
bcs []runtime.Object
searchFor string
shouldContain []string
shouldNotContain []string
}{
{
name: "find a named build config",
bcs: []runtime.Object{bc("bc1", ""), bc("bc2", ""), bc("bc3", "")},
searchFor: "bc2",
shouldContain: []string{"bc2"},
shouldNotContain: []string{"bc1", "bc3"},
},
{
name: "find no match",
bcs: []runtime.Object{bc("bc1", ""), bc("bc2", "")},
searchFor: "bc3",
shouldContain: []string{},
shouldNotContain: []string{"bc1", "bc2"},
},
{
name: "multiple matches",
bcs: []runtime.Object{bc("bc1", ""), bc("bc2", ""), bc("bc3", "bc2")},
searchFor: "bc2",
shouldContain: []string{"bc2", "bc3"},
shouldNotContain: []string{"bc1"},
},
{
name: "match on annotation",
bcs: []runtime.Object{bc("bc1", "a1"), bc("bc2", ""), bc("bc3", "")},
searchFor: "a1",
shouldContain: []string{"bc1"},
shouldNotContain: []string{"bc2", "bc3"},
},
}
for _, test := range tests {
client := testclient.NewSimpleFake(test.bcs...)
output := &bytes.Buffer{}
GetRepositoryBuildConfigs(client, test.searchFor, output)
for _, c := range test.shouldContain {
if !strings.Contains(output.String(), c) {
t.Errorf("%s: output should contain %q. Output: %q", test.name, c, output.String())
}
}
for _, c := range test.shouldNotContain {
if strings.Contains(output.String(), c) {
t.Errorf("%s: output should not contain %q. Output: %q", test.name, c, output.String())
}
}
}
}
开发者ID:juanluisvaladas,项目名称:origin,代码行数:54,代码来源:getbuildconfigs_test.go
示例16: TestMaxProjectByRequester
func TestMaxProjectByRequester(t *testing.T) {
tests := []struct {
userLabels map[string]string
expectUnlimited bool
expectedLimit int
}{
{
userLabels: map[string]string{"platinum": "yes"},
expectUnlimited: true,
},
{
userLabels: map[string]string{"gold": "yes"},
expectedLimit: 10,
},
{
userLabels: map[string]string{"silver": "yes", "bronze": "yes"},
expectedLimit: 3,
},
{
userLabels: map[string]string{"unknown": "yes"},
expectedLimit: 1,
},
}
for _, tc := range tests {
reqLimit, err := NewProjectRequestLimit(multiLevelConfig())
if err != nil {
t.Fatalf("Unexpected error: %v", err)
}
user := fakeUser("testuser", tc.userLabels)
client := testclient.NewSimpleFake(user)
reqLimit.(oadmission.WantsOpenshiftClient).SetOpenshiftClient(client)
maxProjects, hasLimit, err := reqLimit.(*projectRequestLimit).maxProjectsByRequester("testuser")
if err != nil {
t.Errorf("Unexpected error: %v", err)
}
if tc.expectUnlimited {
if hasLimit {
t.Errorf("Expected no limit, but got limit for labels %v", tc.userLabels)
}
continue
}
if !tc.expectUnlimited && !hasLimit {
t.Errorf("Did not expect unlimited for labels %v", tc.userLabels)
continue
}
if maxProjects != tc.expectedLimit {
t.Errorf("Did not get expected limit for labels %v. Got: %d. Expected: %d", tc.userLabels, maxProjects, tc.expectedLimit)
}
}
}
开发者ID:Xmagicer,项目名称:origin,代码行数:54,代码来源:admission_test.go
示例17: TestStatusFightBetweenReplicas
func TestStatusFightBetweenReplicas(t *testing.T) {
p := &fakePlugin{}
// the initial pre-population
now1 := unversioned.Now()
nowFn = func() unversioned.Time { return now1 }
c1 := testclient.NewSimpleFake(&routeapi.Route{})
admitter1 := NewStatusAdmitter(p, c1, "test")
err := admitter1.HandleRoute(watch.Added, &routeapi.Route{
ObjectMeta: kapi.ObjectMeta{Name: "route1", Namespace: "default", UID: types.UID("uid1")},
Spec: routeapi.RouteSpec{Host: "route1.test.local"},
Status: routeapi.RouteStatus{},
})
outObj1 := checkResult(t, err, c1, admitter1, "route1.test.local", now1, &now1.Time, 0, 0)
// the new deployment's replica
now2 := unversioned.Time{Time: now1.Time.Add(time.Minute)}
nowFn = func() unversioned.Time { return now2 }
c2 := testclient.NewSimpleFake(&routeapi.Route{})
admitter2 := NewStatusAdmitter(p, c2, "test")
outObj1.Spec.Host = "route1.test-new.local"
err = admitter2.HandleRoute(watch.Added, outObj1)
outObj2 := checkResult(t, err, c2, admitter2, "route1.test-new.local", now2, &now2.Time, 0, 0)
now3 := unversioned.Time{Time: now1.Time.Add(time.Minute)}
nowFn = func() unversioned.Time { return now3 }
outObj2.Spec.Host = "route1.test.local"
err = admitter1.HandleRoute(watch.Modified, outObj2)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
// expect the last HandleRoute not to have performed any actions
if len(c1.Actions()) != 1 {
t.Fatalf("unexpected actions: %#v", c1.Actions())
}
}
开发者ID:dcbw,项目名称:origin,代码行数:41,代码来源:status_test.go
示例18: makePass
func makePass(t *testing.T, host string, admitter *StatusAdmitter, srcObj *routeapi.Route, expectUpdate bool, conflict bool) *routeapi.Route {
// initialize a new client
var c *testclient.Fake
if conflict {
c = testclient.NewSimpleFake(&(errors.NewConflict(kapi.Resource("Route"), "route1", nil).ErrStatus))
} else {
c = testclient.NewSimpleFake(&routeapi.Route{})
}
admitter.client = c
inputObjRaw, err := kapi.Scheme.DeepCopy(srcObj)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
inputObj := inputObjRaw.(*routeapi.Route)
inputObj.Spec.Host = host
err = admitter.HandleRoute(watch.Modified, inputObj)
if expectUpdate {
now := nowFn()
var nowTime *time.Time
if !conflict {
nowTime = &now.Time
}
return checkResult(t, err, c, admitter, inputObj.Spec.Host, now, nowTime, 0, 0)
} else {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
// expect the last HandleRoute not to have performed any actions
if len(c.Actions()) != 0 {
t.Fatalf("unexpected actions: %#v", c)
}
return nil
}
}
开发者ID:dcbw,项目名称:origin,代码行数:41,代码来源:status_test.go
示例19: fakeMasterConfig
// fakeMasterConfig creates a new fake master config with an empty kubelet config and dummy storage.
func fakeMasterConfig() *MasterConfig {
etcdHelper := etcdstorage.NewEtcdStorage(nil, api.Codecs.LegacyCodec(), "", false, genericapiserveroptions.DefaultDeserializationCacheSize)
informerFactory := shared.NewInformerFactory(testclient.NewSimpleFake(), otestclient.NewSimpleFake(), shared.DefaultListerWatcherOverrides{}, 1*time.Second)
return &MasterConfig{
KubeletClientConfig: &kubeletclient.KubeletClientConfig{},
RESTOptionsGetter: restoptions.NewSimpleGetter(etcdHelper),
EtcdHelper: etcdHelper,
Informers: informerFactory,
ClusterQuotaMappingController: clusterquotamapping.NewClusterQuotaMappingController(informerFactory.Namespaces(), informerFactory.ClusterResourceQuotas()),
}
}
开发者ID:Xmagicer,项目名称:origin,代码行数:13,代码来源:reststorage_validation_test.go
示例20: TestRunTag_AddAccrossNamespaces
func TestRunTag_AddAccrossNamespaces(t *testing.T) {
streams := testData()
client := testclient.NewSimpleFake(streams[2], streams[0])
client.PrependReactor("create", "imagestreamtags", func(action ktc.Action) (handled bool, ret runtime.Object, err error) {
return true, nil, kapierrors.NewMethodNotSupported(imageapi.Resource("imagestreamtags"), "create")
})
client.PrependReactor("update", "imagestreamtags", func(action ktc.Action) (handled bool, ret runtime.Object, err error) {
return true, nil, kapierrors.NewMethodNotSupported(imageapi.Resource("imagestreamtags"), "update")
})
test := struct {
opts *TagOptions
expectedActions []testAction
expectedErr error
}{
opts: &TagOptions{
out: os.Stdout,
osClient: client,
ref: imageapi.DockerImageReference{
Namespace: "openshift",
Name: "ruby",
Tag: "latest",
},
namespace: "myproject2",
sourceKind: "ImageStreamTag",
destNamespace: []string{"yourproject"},
destNameAndTag: []string{"rails:tip"},
},
expectedActions: []testAction{
{verb: "update", resource: "imagestreamtags"},
{verb: "create", resource: "imagestreamtags"},
{verb: "get", resource: "imagestreams"},
{verb: "update", resource: "imagestreams"},
},
expectedErr: nil,
}
if err := test.opts.RunTag(); err != test.expectedErr {
t.Fatalf("error mismatch: expected %v, got %v", test.expectedErr, err)
}
got := client.Actions()
if len(test.expectedActions) != len(got) {
t.Fatalf("action length mismatch: expectedc %d, got %d", len(test.expectedActions), len(got))
}
for i, action := range test.expectedActions {
if !got[i].Matches(action.verb, action.resource) {
t.Errorf("action mismatch: expected %s %s, got %s %s", action.verb, action.resource, got[i].GetVerb(), got[i].GetResource())
}
}
}
开发者ID:juanluisvaladas,项目名称:origin,代码行数:52,代码来源:tag_test.go
注:本文中的github.com/openshift/origin/pkg/client/testclient.NewSimpleFake函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论