(t *testing.T)
| 2307 | } |
| 2308 | |
| 2309 | func TestKeyValueGetRevision(t *testing.T) { |
| 2310 | s := RunBasicJetStreamServer() |
| 2311 | defer shutdownJSServerAndRemoveStorage(t, s) |
| 2312 | |
| 2313 | nc, js := jsClient(t, s) |
| 2314 | defer nc.Close() |
| 2315 | ctx := context.Background() |
| 2316 | |
| 2317 | kv, err := js.CreateKeyValue(ctx, jetstream.KeyValueConfig{ |
| 2318 | Bucket: "TEST", |
| 2319 | History: 5, |
| 2320 | }) |
| 2321 | if err != nil { |
| 2322 | t.Fatalf("Unexpected error: %v", err) |
| 2323 | } |
| 2324 | |
| 2325 | if _, err := kv.Put(ctx, "key", []byte("value1")); err != nil { |
| 2326 | t.Fatalf("Unexpected error: %v", err) |
| 2327 | } |
| 2328 | |
| 2329 | if _, err := kv.Put(ctx, "key", []byte("value2")); err != nil { |
| 2330 | t.Fatalf("Unexpected error: %v", err) |
| 2331 | } |
| 2332 | |
| 2333 | entry, err := kv.GetRevision(ctx, "key", 1) |
| 2334 | if err != nil { |
| 2335 | t.Fatalf("Unexpected error: %v", err) |
| 2336 | } |
| 2337 | |
| 2338 | if string(entry.Value()) != "value1" { |
| 2339 | t.Fatalf("Expected value1, got %s", string(entry.Value())) |
| 2340 | } |
| 2341 | |
| 2342 | if entry.Revision() != 1 { |
| 2343 | t.Fatalf("Expected revision 1, got %d", entry.Revision()) |
| 2344 | } |
| 2345 | |
| 2346 | if err := kv.Delete(ctx, "key"); err != nil { |
| 2347 | t.Fatalf("Unexpected error: %v", err) |
| 2348 | } |
| 2349 | |
| 2350 | _, err = kv.GetRevision(ctx, "key", 3) |
| 2351 | if !errors.Is(err, jetstream.ErrKeyNotFound) { |
| 2352 | t.Fatalf("Expected ErrKeyNotFound, got %v", err) |
| 2353 | } |
| 2354 | } |
| 2355 | |
| 2356 | func TestKeyValueStatusBytes(t *testing.T) { |
| 2357 | s := RunBasicJetStreamServer() |
nothing calls this directly
no test coverage detected