MCPcopy Create free account
hub / github.com/nutsdb/nutsdb / TestTx_CreateBucketAndWriteInSameTransaction

Function TestTx_CreateBucketAndWriteInSameTransaction

tx_btree_test.go:1822–2062  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1820}
1821
1822func TestTx_CreateBucketAndWriteInSameTransaction(t *testing.T) {
1823 t.Run("test Get and Has", func(t *testing.T) {
1824 runNutsDBTest(t, nil, func(t *testing.T, db *DB) {
1825 r := require.New(t)
1826
1827 bucket := `1`
1828 key := []byte(`k`)
1829 v1 := []byte(`v1`)
1830
1831 r.NoError(db.Update(func(tx *Tx) (err error) {
1832 r.NoError(tx.NewKVBucket(bucket))
1833 r.NoError(tx.Put(bucket, key, v1, 0))
1834 v, err := tx.Get(bucket, key)
1835 r.Equal(v1, v)
1836 r.NoError(err)
1837 exist, err := tx.Has(bucket, key)
1838 r.True(exist)
1839 r.NoError(err)
1840 return
1841 }))
1842 })
1843 })
1844
1845 t.Run("test GetMinOrMaxKey", func(t *testing.T) {
1846 runNutsDBTest(t, nil, func(t *testing.T, db *DB) {
1847 r := require.New(t)
1848
1849 bucket := `1`
1850 key1 := []byte(`k1`)
1851 key2 := []byte("k2")
1852 v1 := []byte(`v1`)
1853
1854 r.NoError(db.Update(func(tx *Tx) (err error) {
1855 r.NoError(tx.NewKVBucket(bucket))
1856 r.NoError(tx.Put(bucket, key1, v1, 0))
1857 r.NoError(tx.Put(bucket, key2, v1, 0))
1858
1859 k, err := tx.GetMaxKey(bucket)
1860 r.Nil(err)
1861 r.Equal(key2, k)
1862 k, err = tx.GetMinKey(bucket)
1863 r.Nil(err)
1864 r.Equal(key1, k)
1865 return
1866 }))
1867 })
1868 })
1869
1870 t.Run("test GetTTL", func(t *testing.T) {
1871 runNutsDBTest(t, nil, func(t *testing.T, db *DB) {
1872 r := require.New(t)
1873
1874 bucket := `1`
1875 key := []byte(`k`)
1876 v1 := []byte(`v1`)
1877
1878 r.NoError(db.Update(func(tx *Tx) (err error) {
1879 r.NoError(tx.NewKVBucket(bucket))

Callers

nothing calls this directly

Calls 15

runNutsDBTestFunction · 0.85
txNewBucketFunction · 0.85
txPutFunction · 0.85
RunMethod · 0.80
UpdateMethod · 0.80
NewKVBucketMethod · 0.80
HasMethod · 0.80
GetMaxKeyMethod · 0.80
GetMinKeyMethod · 0.80
getMethod · 0.80
PutIfNotExistsMethod · 0.80
GetRangeMethod · 0.80

Tested by

no test coverage detected