azure-storage
Advanced tools
Note: This is an Azure Storage only package. The all up Azure node sdk still has the old storage bits in there. In a future release, those storage bits will be removed and an npm dependency to this storage node sdk will | ||
be taken. This is a CTP v1 release and the changes described below indicate the changes from the Azure node SDK 0.9.8 available here - https://github.com/Azure/azure-sdk-for-node. | ||
2014.07.22 Version 0.3.1 | ||
ALL | ||
* Fixed a bug which failed to validate special names for containers and tables. | ||
* Exposed the Validation utility methods so users can use it to validate resource names. | ||
BLOB | ||
* Fixed an issue which caused failures when an error was encountered while uploading big blobs. | ||
2014.07.07 Version 0.3.0 | ||
@@ -5,0 +14,0 @@ |
@@ -210,2 +210,3 @@ // | ||
exports.WebResource = azureCommon.WebResource; | ||
exports.Validate = azureCommon.validate; | ||
exports.date = azureCommon.date; | ||
@@ -212,0 +213,0 @@ |
@@ -176,3 +176,3 @@ // | ||
self.logger.debug(util.format('Operation %d failed. Error %s', operation.operationId, error)); | ||
this._error = error; | ||
self._error = error; | ||
} else { | ||
@@ -179,0 +179,0 @@ operation.status = OperationState.CALLBACK; |
@@ -34,3 +34,3 @@ // | ||
*/ | ||
USER_AGENT_PRODUCT_VERSION: '0.3', | ||
USER_AGENT_PRODUCT_VERSION: '0.3.1', | ||
@@ -37,0 +37,0 @@ /** |
@@ -107,3 +107,3 @@ // | ||
exports.isBase64Encoded = function (key) { | ||
var isValidBase64String = key.match('^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$'); | ||
var isValidBase64String = key.match(/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/); | ||
@@ -141,3 +141,3 @@ if (isValidBase64String) { | ||
// check if name follows naming rules | ||
if (name.match('^([a-z0-9]+(-[a-z0-9]+)*)$') === null) { | ||
if (name.match(/^([a-z0-9]+(-[a-z0-9]+)*)$/) === null) { | ||
return '%s name format is incorrect.'; | ||
@@ -164,3 +164,3 @@ } | ||
if (!nameErrorString || containerName.match('^(\$root|\$logs)')) { | ||
if (!nameErrorString || containerName.match(/^(\$root|\$logs)$/)) { | ||
callback(); | ||
@@ -246,3 +246,3 @@ return true; | ||
if (table.match('^([A-Za-z][A-Za-z0-9]{2,62})$') !== null || table === '$MetricsCapacityBlob' || table.match('^(\$Metrics(Transactions|HourPrimary|MinutePrimary|HourSecondary|MinuteSecondary)(Blob|Queue|Table))$') !== null) | ||
if (table.match(/^([A-Za-z][A-Za-z0-9]{2,62})$/) !== null || table === '$MetricsCapacityBlob' || table.match(/^(\$Metrics(HourPrimary|MinutePrimary|HourSecondary|MinuteSecondary)?(Transactions)(Blob|Queue|Table))$/) !== null) | ||
{ | ||
@@ -249,0 +249,0 @@ callback(); |
{ | ||
"name": "azure-storage", | ||
"author": "Microsoft Corporation", | ||
"version": "0.3.0", | ||
"version": "0.3.1", | ||
"description": "Microsoft Azure Storage Client Library for Node.js", | ||
@@ -6,0 +6,0 @@ "tags": [ |
@@ -64,2 +64,6 @@ // | ||
assert.doesNotThrow(function () { blobService.doesContainerExist('$root', function () { }); }); | ||
assert.doesNotThrow(function () { blobService.doesContainerExist('$logs', function () { }); }); | ||
blobService.doesContainerExist(containerName, function (existsError, exists) { | ||
@@ -88,2 +92,8 @@ assert.equal(existsError, null); | ||
/Required argument container for function createContainer is not defined/); | ||
assert.throws(function () { blobService.createContainer('$root1', function () { }); }, | ||
/Container name format is incorrect./); | ||
assert.throws(function () { blobService.createContainer('$root$logs', function () { }); }, | ||
/Container name format is incorrect./); | ||
@@ -90,0 +100,0 @@ assert.throws(function () { blobService.createContainer('', function () { }); }, |
@@ -128,2 +128,11 @@ // | ||
describe('doesTableExist', function () { | ||
it('should work', function (done) { | ||
assert.doesNotThrow(function () { tableService.doesTableExist('$MetricsMinutePrimaryTransactionsBlob', function () { }); }); | ||
assert.doesNotThrow(function () { tableService.doesTableExist('$MetricsTransactionsTable', function () { }); }); | ||
done(); | ||
}); | ||
}); | ||
describe('CreateTable', function () { | ||
@@ -151,3 +160,3 @@ it('should detect incorrect table names', function (done) { | ||
/Table name format is incorrect./); | ||
done(); | ||
@@ -154,0 +163,0 @@ }); |
1506620
0.08%29590
0.05%