MutateIn throws CAS error instead of KeyExists when doc exists and StoreSemantics.Insert
Description
I am not 100% sure of of the expected behavior, but MutateInAsync throws a CasMismatchException if a document exists and StoreSementics.Insert is provided:
var insert = await collection.MutateInAsync(key, specs =>specs.Upsert("foo", i1, createPath:true), options=>options.StoreSemantics(StoreSemantics.Insert)).ConfigureAwait(false);
I believe this should be a DocumentExistsException as the server returns KeyExists.
I am not 100% sure of of the expected behavior, but MutateInAsync throws a CasMismatchException if a document exists and StoreSementics.Insert is provided:
var insert = await collection.MutateInAsync(key, specs => specs.Upsert("foo", i1, createPath: true), options=>options.StoreSemantics(StoreSemantics.Insert)) .ConfigureAwait(false);
I believe this should be a DocumentExistsException as the server returns KeyExists.
https://github.com/couchbase/couchbase-net-client/blob/master/src/Couchbase/Core/IO/ResponseStatusExtensions.cs#L22-L26