public void CannotBeInsertedTwice()
 {
     var store = new AzureCollectionStore<TestCollectionEntity>(ConnectionString);
     var id = Guid.NewGuid().ToString("N");
     var t = new TestCollectionEntity()
     {
         Id = id,
         Name = "Tommy Shooter"
     };
     store.InsertAsync(t).Wait();
     Assert.Throws<AggregateException>(() => store.InsertAsync(t).Wait());
 }
Example #2
0
        public void CannotBeInsertedTwice()
        {
            var store = new AzureCollectionStore <TestCollectionEntity>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");
            var t     = new TestCollectionEntity()
            {
                Id   = id,
                Name = "Tommy Shooter"
            };

            store.InsertAsync(t).Wait();
            Assert.Throws <AggregateException>(() => store.InsertAsync(t).Wait());
        }
        public void CanStoreAndRetrieve()
        {
            var store = new AzureCollectionStore<TestCollectionEntity>(ConnectionString);
            var id = Guid.NewGuid().ToString("N");
            store.InsertAsync(new TestCollectionEntity()
            {
                Id = id
            }).Wait();

            Assert.True(store.ExistsAsync(id).Result);

            var t = store.GetAsync(id).Result;
            Assert.Equal(id, t.Id);
        }
        public async Task CanStoreAndRetrieve()
        {
            var store = new AzureCollectionStore <TestCollectionEntity>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");
            await store.InsertAsync(new TestCollectionEntity()
            {
                Id = id
            });

            Assert.True(await store.ExistsAsync(id));

            var t = await store.GetAsync(id);

            Assert.Equal(id, t.Id);
        }
        public void CanStoreAndRemoved()
        {
            var store = new AzureCollectionStore<TestCollectionEntity>(ConnectionString);
            var id = Guid.NewGuid().ToString("N");
            var t = new TestCollectionEntity()
            {
                Id = id
            };
            store.InsertAsync(t).Wait();

            store.DeleteAsync(t).Wait();

            Assert.False(store.ExistsAsync(id).Result);
            Assert.Throws<AggregateException>(() => store.GetAsync(id).Result);
        }
        public async Task CanStoreAndRemoved()
        {
            var store = new AzureCollectionStore <TestCollectionEntity>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");
            var t     = new TestCollectionEntity()
            {
                Id = id
            };
            await store.InsertAsync(t);

            await store.DeleteAsync(t);

            Assert.False(await store.ExistsAsync(id));
            await Assert.ThrowsAsync <AggregateException>(() => store.GetAsync(id));
        }
Example #7
0
        public void CanStoreAndRetrieve()
        {
            var store = new AzureCollectionStore <TestCollectionEntity>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");

            store.InsertAsync(new TestCollectionEntity()
            {
                Id = id
            }).Wait();

            Assert.True(store.ExistsAsync(id).Result);

            var t = store.GetAsync(id).Result;

            Assert.Equal(id, t.Id);
        }
 public void CanBeUpdated()
 {
     var store = new AzureCollectionStore<TestCollectionEntity>(ConnectionString);
     var id = Guid.NewGuid().ToString("N");
     var t = new TestCollectionEntity()
     {
         Id = id,
         Name = "Tommy Shooter"
     };
     store.InsertAsync(t).Wait();
     t.Name = "The Fall";
     store.UpsertAsync(t).Wait();
     
     var t2 = store.GetAsync(id).Result;
     Assert.Equal("The Fall", t2.Name);
 }
Example #9
0
        public void CanStoreAndRemoved()
        {
            var store = new AzureCollectionStore <TestCollectionEntity>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");
            var t     = new TestCollectionEntity()
            {
                Id = id
            };

            store.InsertAsync(t).Wait();

            store.DeleteAsync(t).Wait();

            Assert.False(store.ExistsAsync(id).Result);
            Assert.Throws <AggregateException>(() => store.GetAsync(id).Result);
        }
Example #10
0
        public void ETagsProvidedWillBeUsedAndStored()
        {
            var store = new AzureCollectionStore <TestCollectionEntityConcurrencyAware>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");
            var t     = new TestCollectionEntityConcurrencyAware()
            {
                Id           = id,
                Name         = "Tommy Shooter",
                ETag         = "\"1234\"",
                LastModofied = DateTimeOffset.UtcNow.AddHours(1)
            };

            store.InsertAsync(t).Wait();
            var entity = store.GetAsync(id).Result;

            Assert.Equal(t.ETag, entity.ETag);
        }
Example #11
0
        public void CanBeUpdated()
        {
            var store = new AzureCollectionStore <TestCollectionEntity>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");
            var t     = new TestCollectionEntity()
            {
                Id   = id,
                Name = "Tommy Shooter"
            };

            store.InsertAsync(t).Wait();
            t.Name = "The Fall";
            store.UpsertAsync(t).Wait();

            var t2 = store.GetAsync(id).Result;

            Assert.Equal("The Fall", t2.Name);
        }
        public async Task CannotBeDeletedForConcurrencyAwareWhenETagInConflict()
        {
            var store = new AzureCollectionStore <TestCollectionEntityConcurrencyAware>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");
            var t     = new TestCollectionEntityConcurrencyAware()
            {
                Id           = id,
                Name         = "Tommy Shooter",
                ETag         = "1234",
                LastModified = DateTimeOffset.UtcNow
            };
            await store.InsertAsync(t);

            t.Name = "The Fall";
            t.ETag = "4567";

            await Assert.ThrowsAsync <AggregateException>(() => store.DeleteAsync(t));
        }
        public void CanBeUpdatedForConcurrencyAware()
        {
            var store = new AzureCollectionStore<TestCollectionEntityConcurrencyAware>(ConnectionString);
            var id = Guid.NewGuid().ToString("N");
            var t = new TestCollectionEntityConcurrencyAware()
            {
                Id = id,
                Name = "Tommy Shooter",
                ETag = "\"1234\"",
                LastModofied = DateTimeOffset.UtcNow 
            };
            store.InsertAsync(t).Wait();
            t.Name = "The Fall";
            store.UpsertAsync(t).Wait();

            var t2 = store.GetAsync(id).Result;
            Assert.Equal("The Fall", t2.Name);
        }
Example #14
0
        public void CannotBeUpdatedForConcurrencyAwareWhenETagInConflict()
        {
            var store = new AzureCollectionStore <TestCollectionEntityConcurrencyAware>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");
            var t     = new TestCollectionEntityConcurrencyAware()
            {
                Id           = id,
                Name         = "Tommy Shooter",
                ETag         = "\"1234\"",
                LastModofied = DateTimeOffset.UtcNow
            };

            store.InsertAsync(t).Wait();

            t.Name = "The Fall";
            t.ETag = "\"8998\"";

            Assert.Throws <AggregateException>(() => store.UpsertAsync(t).Wait());
        }
Example #15
0
        public void CanBeUpdatedForConcurrencyAware()
        {
            var store = new AzureCollectionStore <TestCollectionEntityConcurrencyAware>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");
            var t     = new TestCollectionEntityConcurrencyAware()
            {
                Id           = id,
                Name         = "Tommy Shooter",
                ETag         = "\"1234\"",
                LastModofied = DateTimeOffset.UtcNow
            };

            store.InsertAsync(t).Wait();
            t.Name = "The Fall";
            store.UpsertAsync(t).Wait();

            var t2 = store.GetAsync(id).Result;

            Assert.Equal("The Fall", t2.Name);
        }
        public async Task CanBeUpdatedForConcurrencyAware()
        {
            var store = new AzureCollectionStore <TestCollectionEntityConcurrencyAware>(ConnectionString);
            var id    = Guid.NewGuid().ToString("N");
            var t     = new TestCollectionEntityConcurrencyAware()
            {
                Id           = id,
                Name         = "Tommy Shooter",
                ETag         = "W/\"1234798h88787\"",
                LastModified = DateTimeOffset.UtcNow
            };
            await store.InsertAsync(t);

            t.Name = "The Fall";
            var tr = await store.GetAsync(id);

            await store.UpsertAsync(tr);

            var t2 = await store.GetAsync(id);

            Assert.Equal("The Fall", t2.Name);
        }
 public void ETagsProvidedWillBeUsedAndStored()
 {
     var store = new AzureCollectionStore<TestCollectionEntityConcurrencyAware>(ConnectionString);
     var id = Guid.NewGuid().ToString("N");
     var t = new TestCollectionEntityConcurrencyAware()
     {
         Id = id,
         Name = "Tommy Shooter",
         ETag = "\"1234\"",
         LastModofied = DateTimeOffset.UtcNow.AddHours(1)
     };
     store.InsertAsync(t).Wait();
     var entity = store.GetAsync(id).Result;
     Assert.Equal(t.ETag, entity.ETag);
 }
        public void CannotBeDeletedForConcurrencyAwareWhenETagInConflict()
        {
            var store = new AzureCollectionStore<TestCollectionEntityConcurrencyAware>(ConnectionString);
            var id = Guid.NewGuid().ToString("N");
            var t = new TestCollectionEntityConcurrencyAware()
            {
                Id = id,
                Name = "Tommy Shooter",
                ETag = "1234",
                LastModofied = DateTimeOffset.UtcNow
            };
            store.InsertAsync(t).Wait();

            t.Name = "The Fall";
            t.ETag = "4567";

            Assert.Throws<AggregateException>(() => store.DeleteAsync(t).Wait());
        }