Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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));
        }
Esempio n. 9
0
        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();
        }
Esempio n. 10
0
        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);
        }