OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package memory | 5 package memory |
6 | 6 |
7 import ( | 7 import ( |
8 "testing" | 8 "testing" |
9 | 9 |
10 "github.com/luci/gae/service/info" | 10 "github.com/luci/gae/service/info" |
11 "golang.org/x/net/context" | 11 "golang.org/x/net/context" |
12 | 12 |
13 . "github.com/smartystreets/goconvey/convey" | 13 . "github.com/smartystreets/goconvey/convey" |
14 ) | 14 ) |
15 | 15 |
16 func TestMustNamespace(t *testing.T) { | 16 func TestMustNamespace(t *testing.T) { |
17 Convey("MustNamespace panics", t, func() { | 17 Convey("MustNamespace panics", t, func() { |
18 c := Use(context.Background()) | 18 c := Use(context.Background()) |
19 i := info.Get(c) | 19 i := info.Get(c) |
20 | 20 |
21 So(func() { | 21 So(func() { |
22 i.MustNamespace("valid_namespace_name") | 22 i.MustNamespace("valid_namespace_name") |
23 }, ShouldNotPanic) | 23 }, ShouldNotPanic) |
24 So(func() { | 24 So(func() { |
25 i.MustNamespace("invalid namespace name") | 25 i.MustNamespace("invalid namespace name") |
26 }, ShouldPanic) | 26 }, ShouldPanic) |
27 }) | 27 }) |
| 28 |
| 29 Convey("Testable interface works", t, func() { |
| 30 c := Use(context.Background()) |
| 31 c = useGID(c, func(mod *globalInfoData) { |
| 32 mod.appid = "app-id" |
| 33 }) |
| 34 |
| 35 // Default value. |
| 36 So(info.Get(c).AppID(), ShouldEqual, "app-id") |
| 37 So(info.Get(c).RequestID(), ShouldEqual, "test-request-id") |
| 38 |
| 39 // Setting to "override" applies to initial context. |
| 40 c = info.Get(c).Testable().SetRequestID("override") |
| 41 So(info.Get(c).RequestID(), ShouldEqual, "override") |
| 42 |
| 43 // Derive inner context, "override" applies. |
| 44 c = info.Get(c).MustNamespace("valid_namespace_name") |
| 45 So(info.Get(c).RequestID(), ShouldEqual, "override") |
| 46 }) |
28 } | 47 } |
OLD | NEW |