wspr: Remove remaining uses of Runtime API.

This is part of the runtimeX migration.

Change-Id: Ic33b8823b6b01865bdd91c93340b079ec8232c6b
diff --git a/services/wsprd/app/app.go b/services/wsprd/app/app.go
index 400c2de..10a1d91 100644
--- a/services/wsprd/app/app.go
+++ b/services/wsprd/app/app.go
@@ -142,12 +142,14 @@
 	if err != nil {
 		return nil, err
 	}
+	ctx := r.NewContext()
+
 	if namespaceRoots != nil {
-		r.Namespace().SetRoots(namespaceRoots...)
+		veyron2.GetNamespace(ctx).SetRoots(namespaceRoots...)
 	}
 
 	controller := &Controller{
-		ctx:            r.NewContext(),
+		ctx:            ctx,
 		cancel:         r.Cleanup,
 		writerCreator:  writerCreator,
 		listenSpec:     listenSpec,
diff --git a/services/wsprd/app/app_test.go b/services/wsprd/app/app_test.go
index 93849b7..af7dc14 100644
--- a/services/wsprd/app/app_test.go
+++ b/services/wsprd/app/app_test.go
@@ -7,6 +7,7 @@
 	"testing"
 
 	"v.io/core/veyron2"
+	"v.io/core/veyron2/context"
 	"v.io/core/veyron2/ipc"
 	"v.io/core/veyron2/naming"
 	"v.io/core/veyron2/options"
@@ -29,25 +30,29 @@
 var (
 	testPrincipalBlessing = "test"
 	testPrincipal         = newPrincipal(testPrincipalBlessing)
-	r                     veyron2.Runtime
+	gctx                  *context.T
 )
 
 func init() {
 	var err error
-	if r, err = rt.New(); err != nil {
+	r, err := rt.New()
+	if err != nil {
 		panic(err)
 	}
+	gctx = r.NewContext()
 }
 
 // newBlessedPrincipal returns a new principal that has a blessing from the
 // provided runtime's principal which is set on its BlessingStore such
 // that it is revealed to all clients and servers.
-func newBlessedPrincipal(r veyron2.Runtime) security.Principal {
+func newBlessedPrincipal(ctx *context.T) security.Principal {
 	p, err := vsecurity.NewPrincipal()
 	if err != nil {
 		panic(err)
 	}
-	b, err := r.Principal().Bless(p.PublicKey(), r.Principal().BlessingStore().Default(), "delegate", security.UnconstrainedUse())
+
+	principal := veyron2.GetPrincipal(ctx)
+	b, err := principal.Bless(p.PublicKey(), principal.BlessingStore().Default(), "delegate", security.UnconstrainedUse())
 	if err != nil {
 		panic(err)
 	}
@@ -118,7 +123,7 @@
 
 func startAnyServer(servesMT bool, dispatcher ipc.Dispatcher) (ipc.Server, naming.Endpoint, error) {
 	// Create a new server instance.
-	s, err := r.NewServer(options.ServesMountTable(servesMT))
+	s, err := veyron2.NewServer(gctx, options.ServesMountTable(servesMT))
 	if err != nil {
 		return nil, nil, err
 	}
@@ -164,12 +169,12 @@
 	defer s.Stop()
 	spec := profiles.LocalListenSpec
 	spec.Proxy = "mockVeyronProxyEP"
-	controller, err := NewController(nil, nil, &spec, nil, options.RuntimePrincipal{newBlessedPrincipal(r)})
+	controller, err := NewController(nil, nil, &spec, nil, options.RuntimePrincipal{newBlessedPrincipal(gctx)})
 
 	if err != nil {
 		t.Fatalf("Failed to create controller: %v", err)
 	}
-	sig, err := controller.getSignature(r.NewContext(), "/"+endpoint.String())
+	sig, err := controller.getSignature(gctx, "/"+endpoint.String())
 	if err != nil {
 		t.Fatalf("Failed to get signature: %v", err)
 	}
@@ -204,7 +209,7 @@
 
 	spec := profiles.LocalListenSpec
 	spec.Proxy = "mockVeyronProxyEP"
-	controller, err := NewController(nil, nil, &spec, nil, options.RuntimePrincipal{newBlessedPrincipal(r)})
+	controller, err := NewController(nil, nil, &spec, nil, options.RuntimePrincipal{newBlessedPrincipal(gctx)})
 
 	if err != nil {
 		t.Errorf("unable to create controller: %v", err)
@@ -233,7 +238,7 @@
 		NumOutArgs:  test.numOutArgs,
 		IsStreaming: stream != nil,
 	}
-	controller.sendVeyronRequest(r.NewContext(), 0, &request, &writer, stream)
+	controller.sendVeyronRequest(gctx, 0, &request, &writer, stream)
 
 	if err := testwriter.CheckResponses(&writer, test.expectedStream, test.expectedError); err != nil {
 		t.Error(err)
diff --git a/services/wsprd/browspr/browspr_test.go b/services/wsprd/browspr/browspr_test.go
index da66a3c..c307713 100644
--- a/services/wsprd/browspr/browspr_test.go
+++ b/services/wsprd/browspr/browspr_test.go
@@ -10,6 +10,7 @@
 	"v.io/core/veyron/runtimes/google/ipc/stream/proxy"
 	mounttable "v.io/core/veyron/services/mounttable/lib"
 	"v.io/core/veyron2"
+	"v.io/core/veyron2/context"
 	"v.io/core/veyron2/ipc"
 	"v.io/core/veyron2/naming"
 	"v.io/core/veyron2/options"
@@ -19,13 +20,15 @@
 	"v.io/wspr/veyron/services/wsprd/lib"
 )
 
-var r veyron2.Runtime
+var gctx *context.T
 
 func init() {
 	var err error
-	if r, err = rt.New(); err != nil {
+	r, err := rt.New()
+	if err != nil {
 		panic(err)
 	}
+	gctx = r.NewContext()
 }
 
 func startProxy() (*proxy.Proxy, error) {
@@ -42,7 +45,7 @@
 		return nil, nil, err
 	}
 
-	s, err := r.NewServer(options.ServesMountTable(true))
+	s, err := veyron2.NewServer(gctx, options.ServesMountTable(true))
 	if err != nil {
 		return nil, nil, err
 	}
@@ -67,7 +70,7 @@
 
 func startMockServer(desiredName string) (ipc.Server, naming.Endpoint, error) {
 	// Create a new server instance.
-	s, err := r.NewServer()
+	s, err := veyron2.NewServer(gctx)
 	if err != nil {
 		return nil, nil, err
 	}
@@ -97,7 +100,7 @@
 	}
 	defer mtServer.Stop()
 	tcpNamespaceRoot := "/" + mtEndpoint.String()
-	if err := r.Namespace().SetRoots(tcpNamespaceRoot); err != nil {
+	if err := veyron2.GetNamespace(gctx).SetRoots(tcpNamespaceRoot); err != nil {
 		t.Fatalf("Failed to set namespace roots: %v", err)
 	}
 
@@ -115,7 +118,7 @@
 	if len(names) != 1 || names[0] != tcpNamespaceRoot+"/"+mockServerName {
 		t.Fatalf("Incorrectly mounted server. Names: %v", names)
 	}
-	mountEntry, err := r.Namespace().ResolveX(r.NewContext(), mockServerName)
+	mountEntry, err := veyron2.GetNamespace(gctx).ResolveX(gctx, mockServerName)
 	if err != nil {
 		t.Fatalf("Error fetching published names from mounttable: %v", err)
 	}
@@ -148,7 +151,8 @@
 	// TODO(ataly, caprita, bprosnitz): Why create a new runtime here? Is it so that
 	// we don't overwrite the namespace roots for the 'global' runtime? We should
 	// revisit this design.
-	runtime, err := rt.New(options.RuntimePrincipal{r.Principal()})
+	gprincipal := veyron2.GetPrincipal(gctx)
+	runtime, err := rt.New(options.RuntimePrincipal{gprincipal})
 	if err != nil {
 		vlog.Fatalf("rt.New failed: %s", err)
 	}
@@ -165,8 +169,7 @@
 	// browspr sets its namespace root to use the "ws" protocol, but we want to force "tcp" here.
 	browspr.namespaceRoots = []string{tcpNamespaceRoot}
 
-	principal := r.Principal()
-	browspr.accountManager.SetMockBlesser(newMockBlesserService(principal))
+	browspr.accountManager.SetMockBlesser(newMockBlesserService(gprincipal))
 
 	msgInstanceId := int32(11)
 	msgOrigin := "http://test-origin.com"