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

Side by Side Diff: impl/memory/datastore_query_execution_test.go

Issue 1844183003: Don't filter "Stop" error in raw interface. (Closed) Base URL: https://chromium.googlesource.com/external/github.com/luci/gae@master
Patch Set: Count filter doesn't count Stop as error. Created 4 years, 8 months 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
« no previous file with comments | « impl/memory/datastore_data.go ('k') | impl/memory/gkvlite_iter.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 memory 5 package memory
6 6
7 import ( 7 import (
8 "fmt" 8 "fmt"
9 "strings" 9 "strings"
10 "testing" 10 "testing"
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 err := data.Run(q, func(pm ds.PropertyMa p, gc ds.CursorCB) error { 355 err := data.Run(q, func(pm ds.PropertyMa p, gc ds.CursorCB) error {
356 So(pm, ShouldResemble, pmap( 356 So(pm, ShouldResemble, pmap(
357 "$key", key("Kind", 2, " __entity_group__", 1), Next, 357 "$key", key("Kind", 2, " __entity_group__", 1), Next,
358 "__version__", 1)) 358 "__version__", 1))
359 359
360 err := error(nil) 360 err := error(nil)
361 curs, err = gc() 361 curs, err = gc()
362 So(err, ShouldBeNil) 362 So(err, ShouldBeNil)
363 return ds.Stop 363 return ds.Stop
364 }) 364 })
365 » » » » » So(err, ShouldBeNil) 365 » » » » » So(err, shouldBeSuccessful)
366 366
367 err = data.Run(q.Start(curs), func(pm ds .PropertyMap) error { 367 err = data.Run(q.Start(curs), func(pm ds .PropertyMap) error {
368 So(pm, ShouldResemble, stage1Dat a[2]) 368 So(pm, ShouldResemble, stage1Dat a[2])
369 return ds.Stop 369 return ds.Stop
370 }) 370 })
371 » » » » » So(err, ShouldBeNil) 371 » » » » » So(err, shouldBeSuccessful)
372 }, 372 },
373 373
374 func(c context.Context) { 374 func(c context.Context) {
375 data := ds.Get(c) 375 data := ds.Get(c)
376 q := nq("Something").Eq("Does", 2).Order ("Not", "-Work") 376 q := nq("Something").Eq("Does", 2).Order ("Not", "-Work")
377 So(data.Run(q, func(ds.Key) {}), ShouldE rrLike, strings.Join([]string{ 377 So(data.Run(q, func(ds.Key) {}), ShouldE rrLike, strings.Join([]string{
378 "Consider adding:", 378 "Consider adding:",
379 "- kind: Something", 379 "- kind: Something",
380 " properties:", 380 " properties:",
381 " - name: Does", 381 " - name: Does",
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 } else { 512 } else {
513 expect.c ount = len(expect.get) 513 expect.c ount = len(expect.get)
514 } 514 }
515 } 515 }
516 516
517 if expect.keys != nil { 517 if expect.keys != nil {
518 Convey(fmt.Sprin tf("expect %d (keys)", j), func() { 518 Convey(fmt.Sprin tf("expect %d (keys)", j), func() {
519 err := r unner(func(c context.Context) error { 519 err := r unner(func(c context.Context) error {
520 data := ds.Get(c) 520 data := ds.Get(c)
521 count, err := data.Count(expect.q) 521 count, err := data.Count(expect.q)
522 » » » » » » » » » » So(err, ShouldBeNil) 522 » » » » » » » » » » So(err, shouldBeSuccessful)
523 So(count, ShouldEqual, expect.count) 523 So(count, ShouldEqual, expect.count)
524 524
525 rslt := []*ds.Key(nil) 525 rslt := []*ds.Key(nil)
526 » » » » » » » » » » So(data.GetAll(expect.q, &rslt), ShouldBeNil) 526 » » » » » » » » » » So(data.GetAll(expect.q, &rslt), shouldBeSuccessful)
527 So(len(rslt), ShouldEqual, len(expect.keys)) 527 So(len(rslt), ShouldEqual, len(expect.keys))
528 for i, r := range rslt { 528 for i, r := range rslt {
529 So(r, ShouldResemble, expect.keys[i]) 529 So(r, ShouldResemble, expect.keys[i])
530 } 530 }
531 return nil 531 return nil
532 }, &ds.T ransactionOptions{XG: true}) 532 }, &ds.T ransactionOptions{XG: true})
533 » » » » » » » » » So(err, ShouldBeNil) 533 » » » » » » » » » So(err, shouldBeSuccessful)
534 }) 534 })
535 } 535 }
536 536
537 if expect.get != nil { 537 if expect.get != nil {
538 Convey(fmt.Sprin tf("expect %d (data)", j), func() { 538 Convey(fmt.Sprin tf("expect %d (data)", j), func() {
539 err := r unner(func(c context.Context) error { 539 err := r unner(func(c context.Context) error {
540 data := ds.Get(c) 540 data := ds.Get(c)
541 count, err := data.Count(expect.q) 541 count, err := data.Count(expect.q)
542 » » » » » » » » » » So(err, ShouldBeNil) 542 » » » » » » » » » » So(err, shouldBeSuccessful)
543 So(count, ShouldEqual, expect.count) 543 So(count, ShouldEqual, expect.count)
544 544
545 rslt := []ds.PropertyMap(nil) 545 rslt := []ds.PropertyMap(nil)
546 » » » » » » » » » » So(data.GetAll(expect.q, &rslt), ShouldBeNil) 546 » » » » » » » » » » So(data.GetAll(expect.q, &rslt), shouldBeSuccessful)
547 So(len(rslt), ShouldEqual, len(expect.get)) 547 So(len(rslt), ShouldEqual, len(expect.get))
548 for i, r := range rslt { 548 for i, r := range rslt {
549 So(r, ShouldResemble, expect.get[i]) 549 So(r, ShouldResemble, expect.get[i])
550 } 550 }
551 return nil 551 return nil
552 }, &ds.T ransactionOptions{XG: true}) 552 }, &ds.T ransactionOptions{XG: true})
553 » » » » » » » » » So(err, ShouldBeNil) 553 » » » » » » » » » So(err, shouldBeSuccessful)
554 }) 554 })
555 } 555 }
556 } 556 }
557 557
558 for j, fn := range stage.extraFn s { 558 for j, fn := range stage.extraFn s {
559 Convey(fmt.Sprintf("extr aFn %d", j), func() { 559 Convey(fmt.Sprintf("extr aFn %d", j), func() {
560 fn(c) 560 fn(c)
561 }) 561 })
562 } 562 }
563 }) 563 })
564 } 564 }
565 }) 565 })
566 } 566 }
567 }) 567 })
568 568
569 Convey("Test AutoIndex", t, func() { 569 Convey("Test AutoIndex", t, func() {
570 c, err := info.Get(Use(context.Background())).Namespace("ns") 570 c, err := info.Get(Use(context.Background())).Namespace("ns")
571 if err != nil { 571 if err != nil {
572 panic(err) 572 panic(err)
573 } 573 }
574 574
575 data := ds.Get(c) 575 data := ds.Get(c)
576 testing := data.Testable() 576 testing := data.Testable()
577 testing.Consistent(true) 577 testing.Consistent(true)
578 578
579 So(data.Put(pmap("$key", key("Kind", 1), Next, 579 So(data.Put(pmap("$key", key("Kind", 1), Next,
580 "Val", 1, 2, 3, Next, 580 "Val", 1, 2, 3, Next,
581 "Extra", "hello", 581 "Extra", "hello",
582 » » )), ShouldBeNil) 582 » » )), shouldBeSuccessful)
583 583
584 So(data.Put(pmap("$key", key("Kind", 2), Next, 584 So(data.Put(pmap("$key", key("Kind", 2), Next,
585 "Val", 2, 3, 9, Next, 585 "Val", 2, 3, 9, Next,
586 "Extra", "ace", "hello", "there", 586 "Extra", "ace", "hello", "there",
587 » » )), ShouldBeNil) 587 » » )), shouldBeSuccessful)
588 588
589 q := nq("Kind").Gt("Val", 2).Order("Val", "Extra") 589 q := nq("Kind").Gt("Val", 2).Order("Val", "Extra")
590 590
591 count, err := data.Count(q) 591 count, err := data.Count(q)
592 So(err, ShouldErrLike, "Insufficient indexes") 592 So(err, ShouldErrLike, "Insufficient indexes")
593 593
594 testing.AutoIndex(true) 594 testing.AutoIndex(true)
595 595
596 count, err = data.Count(q) 596 count, err = data.Count(q)
597 » » So(err, ShouldBeNil) 597 » » So(err, shouldBeSuccessful)
598 So(count, ShouldEqual, 2) 598 So(count, ShouldEqual, 2)
599 }) 599 })
600 } 600 }
601
602 func shouldBeSuccessful(actual interface{}, expected ...interface{}) string {
603 if len(expected) != 0 {
604 return "no expected values permitted"
605 }
606 if actual == nil {
607 return ""
608 }
609
610 v, ok := actual.(error)
611 if !ok {
612 return fmt.Sprintf("type of 'actual' must be error, not %T", act ual)
613 }
614 if v == nil || v == ds.Stop {
615 return ""
616 }
617 return fmt.Sprintf("expected success value, not %v", v)
618 }
OLDNEW
« no previous file with comments | « impl/memory/datastore_data.go ('k') | impl/memory/gkvlite_iter.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698