'should return an error when list fails': function(){ var service = new Service({}); var mock = sinon.mock(service); mock.expects("execute").yields({statusCode: 400}).once(); service.list(null, function(err, data){ assert.equal(err.Code, 400) }); mock.verify(); },
'should list queues': function(){ var mockResponse = '<?xml version="1.0" encoding="utf-8"?> \ <EnumerationResults AccountName="http://myaccount.queue.core.windows.net"> \ <Prefix>q</Prefix> \ <MaxResults>3</MaxResults> \ <Queues> \ <Queue> \ <Name>q1</Name> \ <Url>http://myaccount.queue.core.windows.net/q1</Url> \ <Metadata> \ <Color>red</Color> \ <SomeMetadataName>SomeMetadataValue</SomeMetadataName> \ </Metadata> \ </Queue> \ <Queue> \ <Name>q2</Name> \ <Url>http://myaccount.queue.core.windows.net/q2</Url> \ <Metadata> \ <Color>blue</Color> \ <SomeMetadataName>SomeMetadataValue</SomeMetadataName> \ </Metadata> \ </Queue> \ <Queue> \ <Name>q3</Name> \ <Url>http://myaccount.queue.core.windows.net/q3</Url> \ <Metadata> \ <Color>yellow</Color> \ <SomeMetadataName>SomeMetadataValue</SomeMetadataName> \ </Metadata> \ </Queue> \ </Queues> \ <NextMarker>q4</NextMarker> \ </EnumerationResults>'; var mockData = { body: mockResponse, headers: {'x-ms-request-id': 'id', 'x-ms-version': '2009-09-19', 'Date': 'date' }, statusCode: 200 }; var service = new Service({}); var mock = sinon.mock(service); mock.expects("execute").withArgs('get', null, { comp: 'list', prefix: 'q' }, {'x-ms-version': '2009-09-19'}, null) .yields(mockData) .once(); var options = { prefix: 'q' }; service.list(options, function(err, data){ assert.isNull(err); assert.equal(data['@'].AccountName, 'http://myaccount.queue.core.windows.net'); assert.equal(data.Prefix, 'q'); assert.equal(data.Marker, undefined); assert.equal(data.NextMarker, 'q4'); assert.equal(data.MaxResults, 3); assert.equal(data.Queues.Queue.length, 3); assert.equal(data.Queues.Queue[0].Name, 'q1'); assert.equal(data.Queues.Queue[0].Url, 'http://myaccount.queue.core.windows.net/q1'); assert.equal(data.Queues.Queue[0].Metadata.Color, 'red'); assert.equal(data.Queues.Queue[0].Metadata.SomeMetadataName, 'SomeMetadataValue'); }); mock.verify(); },