Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Side by Side Diff: service/datastore/properties_test.go

Issue 1516173002: Fix error message from KeyForObj when passing an invalid struct. (Closed) Base URL: https://github.com/luci/gae.git@master
Patch Set: remove accidental extra test Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 datastore 5 package datastore
6 6
7 import ( 7 import (
8 "math" 8 "math"
9 "testing" 9 "testing"
10 "time" 10 "time"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 err := pm.Load(PropertyMap{"hello": {Property{}}}) 136 err := pm.Load(PropertyMap{"hello": {Property{}}})
137 So(err, ShouldBeNil) 137 So(err, ShouldBeNil)
138 So(pm, ShouldResemble, PropertyMap{"hello": {Property{}} }) 138 So(pm, ShouldResemble, PropertyMap{"hello": {Property{}} })
139 139
140 npm, _ := pm.Save(false) 140 npm, _ := pm.Save(false)
141 So(npm, ShouldResemble, pm) 141 So(npm, ShouldResemble, pm)
142 }) 142 })
143 Convey("meta", func() { 143 Convey("meta", func() {
144 Convey("working", func() { 144 Convey("working", func() {
145 pm := PropertyMap{"": {MkProperty("trap!")}} 145 pm := PropertyMap{"": {MkProperty("trap!")}}
146 » » » » _, err := pm.GetMeta("foo") 146 » » » » _, ok := pm.GetMeta("foo")
147 » » » » So(err, ShouldEqual, ErrMetaFieldUnset) 147 » » » » So(ok, ShouldBeFalse)
148 148
149 » » » » err = pm.SetMeta("foo", 100) 149 » » » » So(pm.SetMeta("foo", 100), ShouldBeTrue)
150 » » » » So(err, ShouldBeNil)
151 150
152 » » » » v, err := pm.GetMeta("foo") 151 » » » » v, ok := pm.GetMeta("foo")
153 » » » » So(err, ShouldBeNil) 152 » » » » So(ok, ShouldBeTrue)
154 So(v, ShouldEqual, 100) 153 So(v, ShouldEqual, 100)
155 » » » » So(pm.GetMetaDefault("foo", 100), ShouldEqual, 1 00) 154
156 » » » » So(pm.GetMetaDefault("bar", 100), ShouldEqual, 1 00) 155 » » » » So(GetMetaDefault(pm, "foo", 100), ShouldEqual, 100)
156
157 » » » » So(GetMetaDefault(pm, "bar", 100), ShouldEqual, 100)
157 158
158 npm, err := pm.Save(false) 159 npm, err := pm.Save(false)
159 So(err, ShouldBeNil) 160 So(err, ShouldBeNil)
160 So(len(npm), ShouldEqual, 0) 161 So(len(npm), ShouldEqual, 0)
161 }) 162 })
162 163
164 Convey("too many values picks the first one", func() {
165 pm := PropertyMap{
166 "$thing": {MkProperty(100), MkProperty(2 00)},
167 }
168 v, ok := pm.GetMeta("thing")
169 So(ok, ShouldBeTrue)
170 So(v, ShouldEqual, 100)
171 })
172
163 Convey("errors", func() { 173 Convey("errors", func() {
164 Convey("too many values", func() {
165 pm := PropertyMap{
166 "$bad": {MkProperty(100), MkProp erty(200)},
167 }
168 _, err := pm.GetMeta("bad")
169 So(err.Error(), ShouldContainSubstring, "too many values")
170 })
171 174
172 Convey("weird value", func() { 175 Convey("weird value", func() {
173 pm := PropertyMap{} 176 pm := PropertyMap{}
174 » » » » » err := pm.SetMeta("sup", complex(100, 20 )) 177 » » » » » So(pm.SetMeta("sup", complex(100, 20)), ShouldBeFalse)
175 » » » » » So(err.Error(), ShouldContainSubstring, "bad type")
176 }) 178 })
177 }) 179 })
178 }) 180 })
179 }) 181 })
180 } 182 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698