public async Task SetAsync_Record_Succeeds() { // ARRANGE var ts = await TestState.GetAsync(); // ACT Func <Task> action = () => ts.StringAzureTable.SetAsync(ts.PartitionKey, ts.RowKey, ts.StringValue); // ASSERT action.ShouldNotThrow(); }
public async Task GetAsync_NonexistentRecord_ReturnsNull() { // ARRANGE var ts = await TestState.GetAsync(); // ACT string actualValue = await ts.StringAzureTable.GetAsync(ts.PartitionKey, ts.RowKey); // ASSERT actualValue.Should().BeNull(); }
public async Task SetAsync_Record_EmitsEvent() { // ARRANGE var ts = await TestState.GetAsync(); // ACT await ts.StringAzureTable.SetAsync(ts.PartitionKey, ts.RowKey, ts.StringValue); // ASSERT ts.EventSourceMock.Verify(e => e.OnSavedRecordToAzure(ts.PartitionKey, ts.RowKey, It.IsAny <TimeSpan>()), Times.Once); }
public async Task ListAsync_NonexistentPartitionKey_EmitsEvent() { // ARRANGE var ts = await TestState.GetAsync(); // ACT await ts.StringAzureTable.ListAsync(ts.PartitionKey, null, null); // ASSERT ts.EventSourceMock.Verify(e => e.OnFetchedListFromAzure(ts.PartitionKey, 0, It.IsAny <TimeSpan>()), Times.Once); }
public async Task ListAsync_NonexistentPartitionKey_ReturnsZeroRecords() { // ARRANGE var ts = await TestState.GetAsync(); // ACT IEnumerable <string> list = await ts.StringAzureTable.ListAsync(ts.PartitionKey, null, null); // ASSERT list.Should().HaveCount(0); }
public async Task GetAsync_NonexistentRecord_EmitsEvents() { // ARRANGE var ts = await TestState.GetAsync(); // ACT await ts.StringAzureTable.GetAsync(ts.PartitionKey, ts.RowKey); // ASSERT ts.EventSourceMock.Verify(e => e.OnFetchedRecordFromAzure(ts.PartitionKey, ts.RowKey, It.IsAny <TimeSpan>()), Times.Once); ts.EventSourceMock.Verify(e => e.OnMissingRecordFromAzure(ts.PartitionKey, ts.RowKey), Times.Once); }
public async Task GetAsync_ExistentRecord_Succeeds() { // ARRANGE var ts = await TestState.GetAsync(); await ts.StringAzureTable.SetAsync(ts.PartitionKey, ts.RowKey, ts.StringValue); // ACT string actualValue = await ts.StringAzureTable.GetAsync(ts.PartitionKey, ts.RowKey); // ASSERT actualValue.ShouldBeEquivalentTo(ts.StringValue); }
public async Task ListAsync_LowerAndUpperBoundSpecified_ReturnsProperRange() { // ARRANGE var ts = await TestState.GetAsync(); await ts.GenerateSequence(); // ACT IEnumerable <string> list = await ts.StringAzureTable.ListAsync(ts.PartitionKey, "01", "03"); // ASSERT list.Should().BeEquivalentTo(ts.StringValueSequence.Skip(1).Take(3)); }
public async Task ListAsync_MultipleRecords_ReturnsAllRecordsInAscendingOrder() { // ARRANGE var ts = await TestState.GetAsync(); await ts.GenerateSequence(); // ACT IEnumerable <string> list = await ts.StringAzureTable.ListAsync(ts.PartitionKey, null, null); // ASSERT list.Should().BeEquivalentTo(ts.StringValueSequence).And.BeInAscendingOrder(); }
public async Task GetAsync_ComplexRecord_FullRecord() { // ARRANGE var ts = await TestState.GetAsync(); await ts.ComplexRecordAzureTable.SetAsync(ts.PartitionKey, ts.RowKey, ts.ComplexRecordValue); // ACT ComplexRecord actualValue = await ts.ComplexRecordAzureTable.GetAsync(ts.PartitionKey, ts.RowKey); // ASSERT actualValue.ShouldBeEquivalentTo(ts.ComplexRecordValue); }