go.mercari.io/datastore@v1.8.2/dsmiddleware/aememcache/example_test.go (about)

     1  package aememcache_test
     2  
     3  import (
     4  	"context"
     5  
     6  	"go.mercari.io/datastore/aedatastore"
     7  	"go.mercari.io/datastore/dsmiddleware/aememcache"
     8  	"google.golang.org/appengine"
     9  	"google.golang.org/appengine/aetest"
    10  )
    11  
    12  func appengineContext() (ctx context.Context, cancelFn func() error) {
    13  	inst, err := aetest.NewInstance(&aetest.Options{StronglyConsistentDatastore: true, SuppressDevAppServerLog: true})
    14  	if err != nil {
    15  		panic(err)
    16  	}
    17  	cancelFn = inst.Close
    18  	r, err := inst.NewRequest("GET", "/", nil)
    19  	if err != nil {
    20  		panic(err)
    21  	}
    22  	ctx = appengine.NewContext(r)
    23  
    24  	return
    25  }
    26  
    27  func Example_howToUse() {
    28  	ctx, cancelFn := appengineContext()
    29  	go cancelFn()
    30  
    31  	client, err := aedatastore.FromContext(ctx)
    32  	if err != nil {
    33  		panic(err)
    34  	}
    35  	defer client.Close()
    36  
    37  	mw := aememcache.New()
    38  	client.AppendMiddleware(mw)
    39  }