Datastore Example 1
Stay organized with collections
Save and categorize content based on your preferences.
Datastore Example showing setup
Explore further
For detailed documentation that includes this code sample, see the following:
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[[["\u003cp\u003eThis content provides a Go code sample demonstrating how to interact with Datastore, specifically showcasing a test scenario with insufficient funds.\u003c/p\u003e\n"],["\u003cp\u003eIt includes instructions on how to set up authentication for Datastore mode using Application Default Credentials, which is essential for local development.\u003c/p\u003e\n"],["\u003cp\u003eThe page also points to relevant documentation for local unit testing in both Go and Python 2, offering resources for comprehensive testing.\u003c/p\u003e\n"],["\u003cp\u003eUsers can find additional code samples for Datastore and other Google Cloud products through the provided Google Cloud sample browser link.\u003c/p\u003e\n"],["\u003cp\u003eThe user is referred to resources for understanding how to use the client library for Datastore mode, as well as a link to the Datastore mode Go API reference documentation.\u003c/p\u003e\n"]]],[],null,["# Datastore Example 1\n\nDatastore Example showing setup\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Local Unit Testing for Go](/appengine/docs/legacy/standard/go111/tools/localunittesting)\n- [Local Unit Testing for Python 2](/appengine/docs/legacy/standard/python/tools/localunittesting)\n\nCode sample\n-----------\n\n### Go\n\n\nTo learn how to install and use the client library for Datastore mode, see\n[Datastore mode client libraries](/datastore/docs/reference/libraries).\n\n\nFor more information, see the\n[Datastore mode Go API\nreference documentation](https://cloud.google.com/go/docs/reference/cloud.google.com/go/datastore/latest).\n\n\nTo authenticate to Datastore mode, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n func TestWithdrawLowBal(t *testing.T) {\n \tctx, done, err := aetest.NewContext()\n \tif err != nil {\n \t\tt.Fatal(err)\n \t}\n \tdefer done()\n \tkey := datastore.NewKey(ctx, \"BankAccount\", \"\", 1, nil)\n \tif _, err := datastore.Put(ctx, key, &BankAccount{100}); err != nil {\n \t\tt.Fatal(err)\n \t}\n\n \terr = withdraw(ctx, \"myid\", 128, 0)\n \tif err == nil || err.Error() != \"insufficient funds\" {\n \t\tt.Errorf(\"Error: %v; want insufficient funds error\", err)\n \t}\n\n \tb := BankAccount{}\n \tif err := datastore.Get(ctx, key, &b); err != nil {\n \t\tt.Fatal(err)\n \t}\n \tif bal, want := b.Balance, 100; bal != want {\n \t\tt.Errorf(\"Balance %d, want %d\", bal, want)\n \t}\n }\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=datastore)."]]