public NonPartitionedStorageProviderTest()
        {
            _storageProvider = new LocalMemoryProvider <TestObject>();
            _storageProvider.CreateAsync(new TestObject
            {
                Id = "1",

                InnerObject = "hello"
            });
            _storageProvider.CreateAsync(new TestObject
            {
                Id = "2",

                InnerObject = "hello"
            });
        }
        public async Task CanCreateAsyncWithValidData()
        {
            // Arrange
            ILogger log = new StubLogger();

            // Act
            await _storageProvider.CreateAsync(new TestObject
            {
                Id          = "3",
                InnerObject = "hello"
            });


            // Assert
            IQueryable <TestObject> query = await _storageProvider.Query();

            Assert.Equal(3, query.Select(e => e.Id).ToList <String>().Count);
        }
        public async Task InitializeAsync()
        {
            string databaseName   = "theatreers";
            string collectionName = "shows";

            IDocumentClient client            = new DocumentClient(new Uri(getCosmosURI()), "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==");
            Uri             showCollectionUri = UriFactory.CreateDocumentCollectionUri(databaseName, collectionName);
            Uri             databaseUri       = UriFactory.CreateDatabaseUri(databaseName);

            Database theatreersDatabase = new Database()
            {
                Id = databaseName
            };

            await client.CreateDatabaseIfNotExistsAsync(theatreersDatabase);

            DocumentCollection showCollection = new DocumentCollection()
            {
                Id = collectionName
            };

            showCollection.PartitionKey.Paths.Add("/partition");
            showCollection.DefaultTimeToLive = -1;
            await client.CreateDocumentCollectionIfNotExistsAsync(databaseUri, showCollection);

            _storageProvider = new CosmosStorageProvider <PartitionedTestObject>(client, showCollectionUri, databaseName, collectionName);
            await _storageProvider.CreateAsync(new PartitionedTestObject
            {
                Id          = "1",
                Partition   = "partition",
                InnerObject = "hello",
                Doctype     = "show"
            });

            await _storageProvider.CreateAsync(new PartitionedTestObject
            {
                Id          = "2",
                Partition   = "partition",
                InnerObject = "hello",
                Doctype     = "show"
            });
        }
Ejemplo n.º 4
0
        public async Task WriteAsync(string key, Stream data, bool replace = true)
        {
            if (String.IsNullOrEmpty(key))
            {
                throw new ArgumentException($"key should not be null or empty string", nameof(key));
            }
            if (data is null)
            {
                throw new ArgumentNullException(nameof(data), "Cannot write null data");
            }

            try
            {
                if (!_storageProvider.IsThreadSafe)
                {
                    await _semaphore.WaitAsync(key);
                }

                if (await _storageProvider.ExistsAsync(key).ConfigureAwait(false))
                {
                    if (replace)
                    {
                        await _storageProvider.DeleteAsync(key).ConfigureAwait(false);
                    }
                    else
                    {
                        throw new IOException("File already exists");
                    }
                }

                await _storageProvider.CreateAsync(key, data).ConfigureAwait(false);
            }
            finally
            {
                if (!_storageProvider.IsThreadSafe)
                {
                    _semaphore.Release(key);
                }
            }
        }
        public async Task CanCreateAsyncWithValidData()
        {
            // Arrange
            ILogger log = new StubLogger();

            // Act
            await _storageProvider.CreateAsync(new PartitionedTestObject
            {
                Id          = "3",
                Partition   = "partition",
                InnerObject = "hello",
                Doctype     = "show"
            });


            // Assert
            IQueryable <PartitionedTestObject> query = await _storageProvider.Query();

            Assert.Equal(3, query.Where(doc => doc.Partition == "partition").Select(e => e.Id).ToList <String>().Count);
        }
Ejemplo n.º 6
0
 public async Task CreateShowAsync(MessageObject <ShowObject> _message)
 {
     ShowObject _object = _message.Body;
     await _showStore.CreateAsync(_object);
 }
Ejemplo n.º 7
0
 public async Task CreateNewsAsync(MessageObject <NewsObject> _message)
 {
     NewsObject _object = _message.Body;
     await _newsStore.CreateAsync(_object);
 }
Ejemplo n.º 8
0
 public async Task CreateImageAsync(MessageObject <ImageObject> _message)
 {
     ImageObject _object = _message.Body;
     await _imageStore.CreateAsync(_object);
 }
Ejemplo n.º 9
0
 public async Task AddAsync(UsersEntity entity)
 {
     await _storageProvider.CreateAsync(entity.MapToStorageEntity());
 }