Browse code

Refactor 8

Clayton Coleman authored on 2015/03/20 00:10:20
Showing 9 changed files
... ...
@@ -447,7 +447,7 @@ func TestHandlePod(t *testing.T) {
447 447
 		if tc.startTimestamp != nil && build.StartTimestamp == nil {
448 448
 			t.Errorf("(%d) nil start timestamp!", i)
449 449
 		}
450
-		if tc.startTimestamp != nil && !tc.startTimestamp.Before(build.StartTimestamp.Time) && tc.startTimestamp.Time != build.StartTimestamp.Time {
450
+		if tc.startTimestamp != nil && !tc.startTimestamp.Before(*build.StartTimestamp) && tc.startTimestamp.Time != build.StartTimestamp.Time {
451 451
 			t.Errorf("(%d) Expected build start timestamp %v to be equal to or later than %v!", i, build.StartTimestamp, tc.startTimestamp)
452 452
 		}
453 453
 
... ...
@@ -457,7 +457,7 @@ func TestHandlePod(t *testing.T) {
457 457
 		if tc.completionTimestamp != nil && build.CompletionTimestamp == nil {
458 458
 			t.Errorf("(%d) nil completion timestamp!", i)
459 459
 		}
460
-		if tc.completionTimestamp != nil && !tc.completionTimestamp.Before(build.CompletionTimestamp.Time) && tc.completionTimestamp.Time != build.CompletionTimestamp.Time {
460
+		if tc.completionTimestamp != nil && !tc.completionTimestamp.Before(*build.CompletionTimestamp) && tc.completionTimestamp.Time != build.CompletionTimestamp.Time {
461 461
 			t.Errorf("(%d) Expected build completion timestamp %v to be equal to or later than %v!", i, build.CompletionTimestamp, tc.completionTimestamp)
462 462
 		}
463 463
 	}
... ...
@@ -570,7 +570,7 @@ func TestCancelBuild(t *testing.T) {
570 570
 		if tc.startTimestamp != nil && build.StartTimestamp == nil {
571 571
 			t.Errorf("(%d) nil start timestamp!", i)
572 572
 		}
573
-		if tc.startTimestamp != nil && !tc.startTimestamp.Before(build.StartTimestamp.Time) && tc.startTimestamp.Time != build.StartTimestamp.Time {
573
+		if tc.startTimestamp != nil && !tc.startTimestamp.Before(*build.StartTimestamp) && tc.startTimestamp.Time != build.StartTimestamp.Time {
574 574
 			t.Errorf("(%d) Expected build start timestamp %v to be equal to or later than %v!", i, build.StartTimestamp, tc.startTimestamp)
575 575
 		}
576 576
 
... ...
@@ -580,7 +580,7 @@ func TestCancelBuild(t *testing.T) {
580 580
 		if tc.completionTimestamp != nil && build.CompletionTimestamp == nil {
581 581
 			t.Errorf("(%d) nil start timestamp!", i)
582 582
 		}
583
-		if tc.completionTimestamp != nil && !tc.completionTimestamp.Before(build.CompletionTimestamp.Time) && tc.completionTimestamp.Time != build.CompletionTimestamp.Time {
583
+		if tc.completionTimestamp != nil && !tc.completionTimestamp.Before(*build.CompletionTimestamp) && tc.completionTimestamp.Time != build.CompletionTimestamp.Time {
584 584
 			t.Errorf("(%d) Expected build completion timestamp %v to be equal to or later than %v!", i, build.CompletionTimestamp, tc.completionTimestamp)
585 585
 		}
586 586
 
... ...
@@ -102,7 +102,7 @@ func NewCmdProcess(fullName string, f *clientcmd.Factory, out io.Writer) *cobra.
102 102
 					ok   bool
103 103
 					data []byte
104 104
 				)
105
-				mapping, _, _, data, err := cmdutil.ResourceFromFile(filename, typer, mapper, schema, cfg.Version)
105
+				mapping, _, _, data, err = cmdutil.ResourceFromFile(filename, typer, mapper, schema, cfg.Version)
106 106
 				checkErr(err)
107 107
 				obj, err := mapping.Codec.Decode(data)
108 108
 				checkErr(err)
... ...
@@ -282,8 +282,8 @@ func (c *MasterConfig) InstallProtectedAPI(container *restful.Container) []strin
282 282
 
283 283
 		Mapper: latest.RESTMapper,
284 284
 
285
-		Creater: api.Scheme,
286
-		Typer:   api.Scheme,
285
+		Creater: kapi.Scheme,
286
+		Typer:   kapi.Scheme,
287 287
 		Linker:  latest.SelfLinker,
288 288
 
289 289
 		Admit:   admissionControl,
... ...
@@ -215,7 +215,25 @@ func NewTestBuildOpenshift(t *testing.T) *testBuildOpenshift {
215 215
 		"imageRepositories/status": imageRepositoryStatus,
216 216
 	}
217 217
 
218
-	apiserver.NewAPIGroupVersion(storage, latest.Codec, "/osapi", "v1beta1", interfaces.MetadataAccessor, admit.NewAlwaysAdmit(), kapi.NewRequestContextMapper(), latest.RESTMapper).InstallREST(handlerContainer, "/osapi", "v1beta1")
218
+	version := &apiserver.APIGroupVersion{
219
+		Root:    "/osapi",
220
+		Version: "v1beta1",
221
+
222
+		Storage: storage,
223
+		Codec:   latest.Codec,
224
+
225
+		Mapper: latest.RESTMapper,
226
+
227
+		Creater: kapi.Scheme,
228
+		Typer:   kapi.Scheme,
229
+		Linker:  interfaces.MetadataAccessor,
230
+
231
+		Admit:   admit.NewAlwaysAdmit(),
232
+		Context: kapi.NewRequestContextMapper(),
233
+	}
234
+	if err := version.InstallREST(handlerContainer); err != nil {
235
+		t.Fatalf("unable to install REST: %v", err)
236
+	}
219 237
 
220 238
 	openshift.whPrefix = "/osapi/v1beta1/buildConfigHooks/"
221 239
 	osMux.Handle(openshift.whPrefix, http.StripPrefix(openshift.whPrefix,
... ...
@@ -413,7 +413,25 @@ func NewTestOpenshift(t *testing.T) *testOpenshift {
413 413
 		"buildConfigs":              buildconfigregistry.NewREST(buildEtcd),
414 414
 	}
415 415
 
416
-	apiserver.NewAPIGroupVersion(storage, v1beta1.Codec, "/osapi", "v1beta1", interfaces.MetadataAccessor, admit.NewAlwaysAdmit(), kapi.NewRequestContextMapper(), latest.RESTMapper).InstallREST(handlerContainer, "/osapi", "v1beta1")
416
+	version := &apiserver.APIGroupVersion{
417
+		Root:    "/osapi",
418
+		Version: "v1beta1",
419
+
420
+		Storage: storage,
421
+		Codec:   latest.Codec,
422
+
423
+		Mapper: latest.RESTMapper,
424
+
425
+		Creater: kapi.Scheme,
426
+		Typer:   kapi.Scheme,
427
+		Linker:  interfaces.MetadataAccessor,
428
+
429
+		Admit:   admit.NewAlwaysAdmit(),
430
+		Context: kapi.NewRequestContextMapper(),
431
+	}
432
+	if err := version.InstallREST(handlerContainer); err != nil {
433
+		t.Fatalf("unable to install REST: %v", err)
434
+	}
417 435
 
418 436
 	dccFactory := deployconfigcontroller.DeploymentConfigControllerFactory{
419 437
 		Client:     osClient,
... ...
@@ -309,7 +309,24 @@ func NewTestImageOpenShift(t *testing.T) *testImageOpenshift {
309 309
 		"imageRepositoryTags":      imagerepositorytag.NewREST(imageRegistry, imageRepositoryRegistry),
310 310
 	}
311 311
 
312
-	apiserver.NewAPIGroupVersion(storage, latest.Codec, "/osapi", "v1beta1", interfaces.MetadataAccessor, admit.NewAlwaysAdmit(), kapi.NewRequestContextMapper(), latest.RESTMapper).InstallREST(handlerContainer, "/osapi", "v1beta1")
312
+	version := &apiserver.APIGroupVersion{
313
+		Root:    "/osapi",
314
+		Version: "v1beta1",
313 315
 
316
+		Storage: storage,
317
+		Codec:   latest.Codec,
318
+
319
+		Mapper: latest.RESTMapper,
320
+
321
+		Creater: kapi.Scheme,
322
+		Typer:   kapi.Scheme,
323
+		Linker:  interfaces.MetadataAccessor,
324
+
325
+		Admit:   admit.NewAlwaysAdmit(),
326
+		Context: kapi.NewRequestContextMapper(),
327
+	}
328
+	if err := version.InstallREST(handlerContainer); err != nil {
329
+		t.Fatalf("unable to install REST: %v", err)
330
+	}
314 331
 	return openshift
315 332
 }
... ...
@@ -56,7 +56,7 @@ func TestOAuthStorage(t *testing.T) {
56 56
 	testutil.DeleteAllEtcdKeys()
57 57
 	interfaces, _ := latest.InterfacesFor(latest.Version)
58 58
 	etcdClient := testutil.NewEtcdClient()
59
-	etcdHelper := tools.EtcdHelper{etcdClient, interfaces.Codec, tools.RuntimeVersionAdapter{interfaces.MetadataAccessor}}
59
+	etcdHelper := tools.NewEtcdHelper(etcdClient, interfaces.Codec)
60 60
 	registry := etcd.New(etcdHelper)
61 61
 
62 62
 	user := &testUser{UserName: "test", UserUID: "1"}
... ...
@@ -3,6 +3,7 @@
3 3
 package integration
4 4
 
5 5
 import (
6
+	"net/http"
6 7
 	"net/http/httptest"
7 8
 	"testing"
8 9
 
... ...
@@ -12,7 +13,7 @@ import (
12 12
 	"github.com/GoogleCloudPlatform/kubernetes/pkg/apiserver"
13 13
 	kclient "github.com/GoogleCloudPlatform/kubernetes/pkg/client"
14 14
 	"github.com/GoogleCloudPlatform/kubernetes/pkg/master"
15
-	"github.com/GoogleCloudPlatform/kubernetes/pkg/registry/namespace"
15
+	namespaceetcd "github.com/GoogleCloudPlatform/kubernetes/pkg/registry/namespace/etcd"
16 16
 	"github.com/GoogleCloudPlatform/kubernetes/plugin/pkg/admission/admit"
17 17
 
18 18
 	"github.com/openshift/origin/pkg/api/latest"
... ...
@@ -38,13 +39,37 @@ func TestProjectIsNamespace(t *testing.T) {
38 38
 
39 39
 	// create a kube and its client
40 40
 	kubeInterfaces, _ := klatest.InterfacesFor(klatest.Version)
41
-	namespaceRegistry := namespace.NewEtcdRegistry(etcdHelper)
41
+	namespaceStorage := namespaceetcd.NewREST(etcdHelper)
42 42
 	kubeStorage := map[string]apiserver.RESTStorage{
43
-		"namespaces": namespace.NewREST(namespaceRegistry),
43
+		"namespaces": namespaceStorage,
44 44
 	}
45
-	kubeServer := httptest.NewServer(apiserver.Handle(kubeStorage, kv1beta1.Codec, "/api", "v1beta1", kubeInterfaces.MetadataAccessor, admit.NewAlwaysAdmit(), kapi.NewRequestContextMapper(), klatest.RESTMapper))
46
-	defer kubeServer.Close()
47
-	kubeClient, err := kclient.New(&kclient.Config{Host: kubeServer.URL})
45
+
46
+	osMux := http.NewServeMux()
47
+	server := httptest.NewServer(osMux)
48
+	defer server.Close()
49
+	handlerContainer := master.NewHandlerContainer(osMux)
50
+
51
+	version := &apiserver.APIGroupVersion{
52
+		Root:    "/api",
53
+		Version: "v1beta1",
54
+
55
+		Storage: kubeStorage,
56
+		Codec:   kv1beta1.Codec,
57
+
58
+		Mapper: klatest.RESTMapper,
59
+
60
+		Creater: kapi.Scheme,
61
+		Typer:   kapi.Scheme,
62
+		Linker:  kubeInterfaces.MetadataAccessor,
63
+
64
+		Admit:   admit.NewAlwaysAdmit(),
65
+		Context: kapi.NewRequestContextMapper(),
66
+	}
67
+	if err := version.InstallREST(handlerContainer); err != nil {
68
+		t.Fatalf("unable to install REST: %v", err)
69
+	}
70
+
71
+	kubeClient, err := kclient.New(&kclient.Config{Host: server.URL})
48 72
 	if err != nil {
49 73
 		t.Fatalf("Unexpected error: %v", err)
50 74
 	}
... ...
@@ -54,9 +79,27 @@ func TestProjectIsNamespace(t *testing.T) {
54 54
 	originStorage := map[string]apiserver.RESTStorage{
55 55
 		"projects": projectregistry.NewREST(kubeClient.Namespaces(), nil),
56 56
 	}
57
-	originServer := httptest.NewServer(apiserver.Handle(originStorage, v1beta1.Codec, "/osapi", "v1beta1", originInterfaces.MetadataAccessor, admit.NewAlwaysAdmit(), kapi.NewRequestContextMapper(), latest.RESTMapper))
58
-	defer originServer.Close()
59
-	originClient, err := client.New(&kclient.Config{Host: originServer.URL})
57
+	osVersion := &apiserver.APIGroupVersion{
58
+		Root:    "/osapi",
59
+		Version: "v1beta1",
60
+
61
+		Storage: originStorage,
62
+		Codec:   v1beta1.Codec,
63
+
64
+		Mapper: latest.RESTMapper,
65
+
66
+		Creater: kapi.Scheme,
67
+		Typer:   kapi.Scheme,
68
+		Linker:  originInterfaces.MetadataAccessor,
69
+
70
+		Admit:   admit.NewAlwaysAdmit(),
71
+		Context: kapi.NewRequestContextMapper(),
72
+	}
73
+	if err := osVersion.InstallREST(handlerContainer); err != nil {
74
+		t.Fatalf("unable to install REST: %v", err)
75
+	}
76
+
77
+	originClient, err := client.New(&kclient.Config{Host: server.URL})
60 78
 	if err != nil {
61 79
 		t.Fatalf("unexpected error: %v", err)
62 80
 	}
... ...
@@ -13,12 +13,12 @@ import (
13 13
 	"github.com/GoogleCloudPlatform/kubernetes/pkg/apiserver"
14 14
 	kuser "github.com/GoogleCloudPlatform/kubernetes/pkg/auth/user"
15 15
 	kclient "github.com/GoogleCloudPlatform/kubernetes/pkg/client"
16
+	"github.com/GoogleCloudPlatform/kubernetes/pkg/master"
16 17
 	"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
17 18
 	"github.com/GoogleCloudPlatform/kubernetes/pkg/tools"
18 19
 	"github.com/GoogleCloudPlatform/kubernetes/plugin/pkg/admission/admit"
19 20
 
20 21
 	"github.com/openshift/origin/pkg/api/latest"
21
-	"github.com/openshift/origin/pkg/api/v1beta1"
22 22
 	oapauth "github.com/openshift/origin/pkg/auth/authenticator/password/oauthpassword/registry"
23 23
 	"github.com/openshift/origin/pkg/client"
24 24
 	"github.com/openshift/origin/pkg/user"
... ...
@@ -38,14 +38,36 @@ func TestUserInitialization(t *testing.T) {
38 38
 	testutil.DeleteAllEtcdKeys()
39 39
 	etcdClient := testutil.NewEtcdClient()
40 40
 	interfaces, _ := latest.InterfacesFor(latest.Version)
41
-	userRegistry := etcd.New(tools.EtcdHelper{etcdClient, interfaces.Codec, tools.RuntimeVersionAdapter{interfaces.MetadataAccessor}}, user.NewDefaultUserInitStrategy())
41
+	userRegistry := etcd.New(tools.NewEtcdHelper(etcdClient, interfaces.Codec), user.NewDefaultUserInitStrategy())
42 42
 	storage := map[string]apiserver.RESTStorage{
43 43
 		"userIdentityMappings": useridentitymapping.NewREST(userRegistry),
44 44
 		"users":                userregistry.NewREST(userRegistry),
45 45
 	}
46 46
 
47
-	server := httptest.NewServer(apiserver.Handle(storage, v1beta1.Codec, "/osapi", "v1beta1", interfaces.MetadataAccessor, admit.NewAlwaysAdmit(), kapi.NewRequestContextMapper(), latest.RESTMapper))
47
+	osMux := http.NewServeMux()
48
+	server := httptest.NewServer(osMux)
48 49
 	defer server.Close()
50
+	handlerContainer := master.NewHandlerContainer(osMux)
51
+
52
+	version := &apiserver.APIGroupVersion{
53
+		Root:    "/osapi",
54
+		Version: "v1beta1",
55
+
56
+		Storage: storage,
57
+		Codec:   latest.Codec,
58
+
59
+		Mapper: latest.RESTMapper,
60
+
61
+		Creater: kapi.Scheme,
62
+		Typer:   kapi.Scheme,
63
+		Linker:  interfaces.MetadataAccessor,
64
+
65
+		Admit:   admit.NewAlwaysAdmit(),
66
+		Context: kapi.NewRequestContextMapper(),
67
+	}
68
+	if err := version.InstallREST(handlerContainer); err != nil {
69
+		t.Fatalf("unable to install REST: %v", err)
70
+	}
49 71
 
50 72
 	mapping := api.UserIdentityMapping{
51 73
 		ObjectMeta: kapi.ObjectMeta{Name: ":test"},
... ...
@@ -154,7 +176,7 @@ func TestUserLookup(t *testing.T) {
154 154
 	testutil.DeleteAllEtcdKeys()
155 155
 	etcdClient := testutil.NewEtcdClient()
156 156
 	interfaces, _ := latest.InterfacesFor(latest.Version)
157
-	userRegistry := etcd.New(tools.EtcdHelper{etcdClient, interfaces.Codec, tools.RuntimeVersionAdapter{interfaces.MetadataAccessor}}, user.NewDefaultUserInitStrategy())
157
+	userRegistry := etcd.New(tools.NewEtcdHelper(etcdClient, interfaces.Codec), user.NewDefaultUserInitStrategy())
158 158
 	userInfo := &kuser.DefaultInfo{
159 159
 		Name: ":test",
160 160
 	}
... ...
@@ -165,7 +187,28 @@ func TestUserLookup(t *testing.T) {
165 165
 		"users":                userregistry.NewREST(userRegistry),
166 166
 	}
167 167
 
168
-	apihandler := apiserver.Handle(storage, interfaces.Codec, "/osapi", "v1beta1", interfaces.MetadataAccessor, admit.NewAlwaysAdmit(), contextMapper, latest.RESTMapper)
168
+	osMux := http.NewServeMux()
169
+	handlerContainer := master.NewHandlerContainer(osMux)
170
+
171
+	version := &apiserver.APIGroupVersion{
172
+		Root:    "/osapi",
173
+		Version: "v1beta1",
174
+
175
+		Storage: storage,
176
+		Codec:   latest.Codec,
177
+
178
+		Mapper: latest.RESTMapper,
179
+
180
+		Creater: kapi.Scheme,
181
+		Typer:   kapi.Scheme,
182
+		Linker:  interfaces.MetadataAccessor,
183
+
184
+		Admit:   admit.NewAlwaysAdmit(),
185
+		Context: contextMapper,
186
+	}
187
+	if err := version.InstallREST(handlerContainer); err != nil {
188
+		t.Fatalf("unable to install REST: %v", err)
189
+	}
169 190
 
170 191
 	// Wrap with authenticator
171 192
 	authenticatedHandler := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
... ...
@@ -178,7 +221,7 @@ func TestUserLookup(t *testing.T) {
178 178
 			t.Fatalf("Could not set user on request")
179 179
 			return
180 180
 		}
181
-		apihandler.ServeHTTP(w, req)
181
+		osMux.ServeHTTP(w, req)
182 182
 	})
183 183
 
184 184
 	// Wrap with contextmapper