github.com/ravendb/ravendb-go-client@v0.0.0-20240229102137-4474ee7aa0fa/tests/ravendb_14989_test.go (about) 1 package tests 2 3 import ( 4 "github.com/ravendb/ravendb-go-client" 5 "github.com/stretchr/testify/assert" 6 "strings" 7 "testing" 8 ) 9 10 func ravendb14989_should_work(t *testing.T, driver *RavenTestDriver) { 11 store := driver.getDocumentStoreMust(t) 12 { 13 session := openSessionMustWithOptions(t, store, &ravendb.SessionOptions{ 14 Database: "", 15 RequestExecutor: nil, 16 TransactionMode: ravendb.TransactionMode_ClusterWide, 17 DisableAtomicDocumentWritesInClusterWideTransaction: nil, 18 }) 19 20 name := "egor" 21 user := &User{ 22 Name: &name, 23 } 24 25 assert.NotNil(t, session.Advanced().ClusterTransaction()) 26 27 _, err := session.Advanced().ClusterTransaction().CreateCompareExchangeValue(strings.Repeat("e", 513), user) 28 assert.NoError(t, err) 29 30 err = session.SaveChanges() 31 32 assert.Error(t, err) 33 34 assert.True(t, strings.Contains(err.Error(), "CompareExchangeKeyTooBigException")) 35 } 36 } 37 38 func TestRavenDB14989(t *testing.T) { 39 driver := createTestDriver(t) 40 destroy := func() { destroyDriver(t, driver) } 41 defer recoverTest(t, destroy) 42 43 // matches the order of Java tests 44 ravendb14989_should_work(t, driver) 45 }