MCPcopy
hub / github.com/etcd-io/etcd / TestReadWithPrevKvInTXN

Function TestReadWithPrevKvInTXN

tests/integration/v3_auth_test.go:498–542  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

496}
497
498func TestReadWithPrevKvInTXN(t *testing.T) {
499 integration.BeforeTest(t)
500 clus := integration.NewCluster(t, &integration.ClusterConfig{Size: 1})
501 defer clus.Terminate(t)
502
503 users := []user{
504 {
505 name: "user1",
506 password: "user1-123",
507 role: "role1",
508 perm: "write",
509 key: "foo",
510 end: "zoo",
511 },
512 }
513 anonCli := integration.ToGRPC(clus.Client(0))
514 authSetupUsers(t, anonCli.Auth, users)
515 authSetupRoot(t, anonCli.Auth)
516
517 rootc, err := integration.NewClient(t, clientv3.Config{
518 Endpoints: clus.Client(0).Endpoints(),
519 Username: "root",
520 Password: "123",
521 })
522 require.NoError(t, err)
523 defer rootc.Close()
524
525 userc, err := integration.NewClient(t, clientv3.Config{
526 Endpoints: clus.Client(0).Endpoints(),
527 Username: "user1",
528 Password: "user1-123",
529 })
530 require.NoError(t, err)
531 defer userc.Close()
532
533 _, err = rootc.Put(t.Context(), "foo", "bar")
534 require.NoError(t, err)
535
536 _, err = userc.Txn(t.Context()).
537 Then(clientv3.OpPut("foo", "new", clientv3.WithPrevKV())).
538 Commit()
539
540 require.Error(t, err)
541 require.Truef(t, eqErrGRPC(err, rpctypes.ErrGRPCPermissionDenied), "got %v, expected %v", err, rpctypes.ErrGRPCPermissionDenied)
542}
543
544func TestPutWithLeaseInTXN(t *testing.T) {
545 integration.BeforeTest(t)

Callers

nothing calls this directly

Calls 15

TerminateMethod · 0.95
ClientMethod · 0.95
CloseMethod · 0.95
PutMethod · 0.95
TxnMethod · 0.95
authSetupUsersFunction · 0.85
eqErrGRPCFunction · 0.85
authSetupRootFunction · 0.70
BeforeTestMethod · 0.65
NewClusterMethod · 0.65
EndpointsMethod · 0.65
CommitMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…