| OLD | NEW |
| 1 // Copyright 2016 The LUCI Authors. All rights reserved. | 1 // Copyright 2016 The LUCI Authors. All rights reserved. |
| 2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
| 3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. |
| 4 | 4 |
| 5 package cloud | 5 package cloud |
| 6 | 6 |
| 7 import ( | 7 import ( |
| 8 "crypto/rand" | 8 "crypto/rand" |
| 9 "encoding/hex" | 9 "encoding/hex" |
| 10 "fmt" | 10 "fmt" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 // $ export DATASTORE_EMULATOR_HOST=localhost:8080 | 62 // $ export DATASTORE_EMULATOR_HOST=localhost:8080 |
| 63 // | 63 // |
| 64 // If the emulator environment is not detected, this test will be skipped. | 64 // If the emulator environment is not detected, this test will be skipped. |
| 65 func TestDatastore(t *testing.T) { | 65 func TestDatastore(t *testing.T) { |
| 66 t.Parallel() | 66 t.Parallel() |
| 67 | 67 |
| 68 // See if an emulator is running. If no emulator is running, we will ski
p this | 68 // See if an emulator is running. If no emulator is running, we will ski
p this |
| 69 // test suite. | 69 // test suite. |
| 70 emulatorHost := os.Getenv("DATASTORE_EMULATOR_HOST") | 70 emulatorHost := os.Getenv("DATASTORE_EMULATOR_HOST") |
| 71 if emulatorHost == "" { | 71 if emulatorHost == "" { |
| 72 » » t.Logf("No emulator detected. Skipping test suite.") | 72 » » t.Logf("No emulator detected (DATASTORE_EMULATOR_HOST). Skipping
test suite.") |
| 73 return | 73 return |
| 74 } | 74 } |
| 75 | 75 |
| 76 Convey(fmt.Sprintf(`A cloud installation using datastore emulator %q`, e
mulatorHost), t, func() { | 76 Convey(fmt.Sprintf(`A cloud installation using datastore emulator %q`, e
mulatorHost), t, func() { |
| 77 c := context.Background() | 77 c := context.Background() |
| 78 client, err := datastore.NewClient(c, "luci-gae-test") | 78 client, err := datastore.NewClient(c, "luci-gae-test") |
| 79 So(err, ShouldBeNil) | 79 So(err, ShouldBeNil) |
| 80 defer client.Close() | 80 defer client.Close() |
| 81 | 81 |
| 82 testTime := ds.RoundTime(time.Date(2016, 1, 1, 0, 0, 0, 0, time.
UTC)) | 82 testTime := ds.RoundTime(time.Date(2016, 1, 1, 0, 0, 0, 0, time.
UTC)) |
| 83 _ = testTime | 83 _ = testTime |
| 84 | 84 |
| 85 » » c = Use(c, client) | 85 » » cfg := Config{DS: client} |
| 86 » » c = cfg.Use(c) |
| 86 | 87 |
| 87 Convey(`Supports namespaces`, func() { | 88 Convey(`Supports namespaces`, func() { |
| 88 namespaces := []string{"foo", "bar", "baz"} | 89 namespaces := []string{"foo", "bar", "baz"} |
| 89 | 90 |
| 90 // Clear all used entities from all namespaces. | 91 // Clear all used entities from all namespaces. |
| 91 for _, ns := range namespaces { | 92 for _, ns := range namespaces { |
| 92 nsCtx := info.MustNamespace(c, ns) | 93 nsCtx := info.MustNamespace(c, ns) |
| 93 | 94 |
| 94 keys := make([]*ds.Key, len(namespaces)) | 95 keys := make([]*ds.Key, len(namespaces)) |
| 95 for i := range keys { | 96 for i := range keys { |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 pmap := ds.PropertyMap{"$kind": mkp("Tes
t"), "$id": mkp("quux")} | 307 pmap := ds.PropertyMap{"$kind": mkp("Tes
t"), "$id": mkp("quux")} |
| 307 err = ds.RunInTransaction(c, func(c cont
ext.Context) error { | 308 err = ds.RunInTransaction(c, func(c cont
ext.Context) error { |
| 308 return ds.Get(c, pmap) | 309 return ds.Get(c, pmap) |
| 309 }, nil) | 310 }, nil) |
| 310 So(err, ShouldEqual, ds.ErrNoSuchEntity) | 311 So(err, ShouldEqual, ds.ErrNoSuchEntity) |
| 311 }) | 312 }) |
| 312 }) | 313 }) |
| 313 }) | 314 }) |
| 314 }) | 315 }) |
| 315 } | 316 } |
| OLD | NEW |