(t *testing.T)
| 496 | } |
| 497 | |
| 498 | func 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 | |
| 544 | func TestPutWithLeaseInTXN(t *testing.T) { |
| 545 | integration.BeforeTest(t) |
nothing calls this directly
no test coverage detected
searching dependent graphs…