[auth-service] Fix some bugs in historical entity creation.

1. Every property value was getting converted to a slice as part of disabling indexing. This has been fixed.
2. Zero-value fields (like auth_db_prev_rev) will no longer be written, since this breaks the Python code (which expects nulls).
3. Disabling indexing wasn't actually working, due to pass-by-value semantics.

Includes tests for all of the above.

Bug: 1336134
Change-Id: I5719d03431043875ada8e92149241cb8ceafa43e
Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/3719463
Commit-Queue: Joey Scarr <jsca@google.com>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
4 files changed
tree: debf5bbf317e425f6302978fbbae9c8b65ecc74d
  1. appengine/
  2. auth/
  3. auth_service/
  4. build/
  5. buildbucket/
  6. casviewer/
  7. cipd/
  8. client/
  9. cmdrunner/
  10. common/
  11. config/
  12. cv/
  13. deploy/
  14. examples/
  15. gae/
  16. gce/
  17. grpc/
  18. hacks/
  19. hardcoded/
  20. led/
  21. logdog/
  22. luci_notify/
  23. lucicfg/
  24. lucictx/
  25. luciexe/
  26. mailer/
  27. milo/
  28. mmutex/
  29. provenance/
  30. resultdb/
  31. scheduler/
  32. scripts/
  33. server/
  34. starlark/
  35. swarming/
  36. tokenserver/
  37. tools/
  38. vpython/
  39. web/
  40. .gitallowed
  41. .gitattributes
  42. .golangci.yml
  43. AUTHORS
  44. codereview.settings
  45. CONTRIBUTING.md
  46. CONTRIBUTORS
  47. go.mod
  48. go.sum
  49. LICENSE
  50. OWNERS
  51. PRESUBMIT.py
  52. README.md
  53. tools.go
  54. WATCHLISTS
README.md

luci-go: LUCI services and tools in Go

GoDoc

Installing

LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:

fetch infra
cd infra/go
eval `./env.py`
cd src/go.chromium.org/luci

Contributing

Contributing uses the same flow as Chromium contributions.