(t *testing.T)
| 1736 | } |
| 1737 | |
| 1738 | func TestKeyValueCreate(t *testing.T) { |
| 1739 | s := RunBasicJetStreamServer() |
| 1740 | defer shutdownJSServerAndRemoveStorage(t, s) |
| 1741 | |
| 1742 | nc, js := jsClient(t, s) |
| 1743 | defer nc.Close() |
| 1744 | ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) |
| 1745 | defer cancel() |
| 1746 | |
| 1747 | kv, err := js.CreateKeyValue(ctx, jetstream.KeyValueConfig{ |
| 1748 | Bucket: "TEST", |
| 1749 | Description: "Test KV", |
| 1750 | MaxValueSize: 128, |
| 1751 | History: 10, |
| 1752 | TTL: 1 * time.Hour, |
| 1753 | MaxBytes: 1024, |
| 1754 | Storage: jetstream.FileStorage, |
| 1755 | }) |
| 1756 | if err != nil { |
| 1757 | t.Fatalf("Error creating kv: %v", err) |
| 1758 | } |
| 1759 | |
| 1760 | expectedStreamConfig := jetstream.StreamConfig{ |
| 1761 | Name: "KV_TEST", |
| 1762 | Description: "Test KV", |
| 1763 | Subjects: []string{"$KV.TEST.>"}, |
| 1764 | MaxMsgs: -1, |
| 1765 | MaxBytes: 1024, |
| 1766 | Discard: jetstream.DiscardNew, |
| 1767 | MaxAge: 1 * time.Hour, |
| 1768 | MaxMsgsPerSubject: 10, |
| 1769 | MaxMsgSize: 128, |
| 1770 | Storage: jetstream.FileStorage, |
| 1771 | DenyDelete: true, |
| 1772 | AllowRollup: true, |
| 1773 | AllowDirect: true, |
| 1774 | MaxConsumers: -1, |
| 1775 | Replicas: 1, |
| 1776 | Duplicates: 2 * time.Minute, |
| 1777 | } |
| 1778 | |
| 1779 | stream, err := js.Stream(ctx, "KV_TEST") |
| 1780 | if err != nil { |
| 1781 | t.Fatalf("Error getting stream: %v", err) |
| 1782 | } |
| 1783 | // server will set metadata values, so we need to clear them |
| 1784 | stream.CachedInfo().Config.Metadata = nil |
| 1785 | if !reflect.DeepEqual(stream.CachedInfo().Config, expectedStreamConfig) { |
| 1786 | t.Fatalf("Expected stream config to be %+v, got %+v", expectedStreamConfig, stream.CachedInfo().Config) |
| 1787 | } |
| 1788 | |
| 1789 | _, err = kv.Create(ctx, "key", []byte("1")) |
| 1790 | if err != nil { |
| 1791 | t.Fatalf("Error creating key: %v", err) |
| 1792 | } |
| 1793 | |
| 1794 | _, err = kv.Create(ctx, "key", []byte("1")) |
| 1795 | expected := "wrong last sequence: 1: key exists" |
nothing calls this directly
no test coverage detected