TableStorage conformance tests pass

This commit is contained in:
Bernd Verst 2021-09-20 15:38:10 -07:00
parent a2b0fe5be4
commit 90791a30fc
5 changed files with 10 additions and 5 deletions

View File

@ -93,6 +93,8 @@ jobs:
CRON_COMPONENTS=$(yq -I0 --tojson eval - << EOF
- component: state.azure.cosmosdb
required-secrets: AzureCosmosDBMasterKey,AzureCosmosDBUrl,AzureCosmosDB,AzureCosmosDBCollection
- component: state.azure.tablestorage
required-secrets: AzureBlobStorageAccessKey,AzureBlobStorageAccount
- component: pubsub.azure.servicebus
required-secrets: AzureServiceBusConnectionString
- component: bindings.azure.blobstorage

View File

@ -107,6 +107,11 @@ func (r *StateStore) Delete(req *state.DeleteRequest) error {
if err != nil {
if req.ETag != nil {
return state.NewETagError(state.ETagMismatch, err)
} else {
if isNotFoundError(err) {
// deleting an item that doesn't exist without specifying an ETAG is a noop
return nil
}
}
}
@ -227,11 +232,10 @@ func (r *StateStore) deleteRow(req *state.DeleteRequest) error {
pk, rk := getPartitionAndRowKey(req.Key)
entity := r.table.GetEntityReference(pk, rk)
var etag string
if req.ETag != nil {
etag = *req.ETag
entity.OdataEtag = *req.ETag
return entity.Delete(false, nil)
}
entity.OdataEtag = etag
return entity.Delete(true, nil)
}

View File

@ -10,7 +10,6 @@ components:
- component: sqlserver
allOperations: true
- component: mysql
allOperations: false
operations: [ "set", "get", "delete", "bulkset", "bulkdelete", "transaction", "etag" ]
- component: azure.tablestorage
operations: ["etag", "bulkset", "bulkdelete"]
operations: ["set", "get", "delete", "etag", "bulkset", "bulkdelete"]