public bool CanExecute(dynamic p)
        {
            _partitionKey = p.PartitionKey;
            TumblrCategory cate = p.Category;

            return(int.TryParse(cate.ToString("D"), out _category) && !String.IsNullOrEmpty(_partitionKey));
        }
Exemple #2
0
 public static TumblrText GetTestTumblrText(TumblrCategory category = TumblrCategory.C1)
 {
     return(new TumblrText
     {
         Text = Guid.NewGuid().ToString(),
         Category = category
     });
 }
        public async Task Create2_2()
        {
            var                  partitionKey = LvConstants.MediaTypeOfAll;
            const string         mediaUri     = "media uri";
            const TumblrCategory category     = TumblrCategory.C1;
            const string         thumbnailUri = "TestThumbnailUri";
            var                  tumblrText   = new TumblrText
            {
                Text     = "TestText",
                Category = category
            };

            dynamic p1 = new ExpandoObject();

            p1.PartitionKey = partitionKey;
            p1.MediaUri     = mediaUri;
            p1.ThumbnailUri = thumbnailUri;
            p1.TumblrText   = tumblrText;

            await _fixture.Command.ExecuteAsync(p1);

            TumblrEntity entity = p1.Entity;

            Assert.NotNull(entity);
            Assert.Equal(partitionKey, entity.PartitionKey);
            Assert.Equal(tumblrText.Category.ToString("D"), entity.RowKey.Substring(0, 1));
            Assert.Equal(mediaUri, entity.MediaUri);
            Assert.Equal(tumblrText.Text, entity.Text);
            Assert.Equal(partitionKey, entity.MediaType);
            Assert.Equal(category.ToString("D"), entity.TumblrCategory);

            List <ITableEntity> ientities = p1.Entities;
            var entities = ientities.Cast <TumblrEntity>().ToList();

            Assert.Equal(2, entities.Count());
            var entity0 = entities[0];
            var entity1 = entities[1];

            Assert.True(new[] { entity0.MediaUri, entity1.MediaUri }.AllEqual());
            Assert.True(new[] { entity0.MediaSmallUri, entity1.MediaSmallUri }.AllEqual());
            Assert.True(new[] { entity0.MediaUri, entity1.MediaUri }.AllEqual());
            Assert.True(new[] { entity0.CreateTime, entity1.CreateTime }.AllEqual());
            Assert.True(new[] { entity0.MediaType, entity1.MediaType }.AllEqual());
            Assert.True(new[] { entity0.TumblrCategory, entity1.TumblrCategory }.AllEqual());
            Assert.True(new[]
            {
                _fixture.UriFactory.GetInvertedTicksFromTumblrRowKey(entity0.RowKey),
                _fixture.UriFactory.GetInvertedTicksFromTumblrRowKey(entity1.RowKey)
            }.AllEqual());

            // Dynamic
            // PartitionKey
            Assert.Equal(partitionKey, entity0.PartitionKey);
            Assert.Equal(partitionKey, entity1.PartitionKey);
            // RowKey
            Assert.Equal(category.ToString("D"), entity0.RowKey.Substring(0, 1));
            Assert.Equal(TumblrCategory.All.ToString("D"), entity1.RowKey.Substring(0, 1));
        }
Exemple #4
0
        public async Task <TumblrsModel> GetTumblrsModelAsync(string partitionKey, TumblrCategory category, int takeCount)
        {
            dynamic p = new ExpandoObject();

            p.Table = await _azureStorage.GetTableReferenceAsync(LvConstants.TableNameOfTumblr);

            p.PartitionKey = partitionKey;
            p.Category     = category;
            p.TakeCount    = takeCount;

            await _readEntitiesCommand.ExecuteAsync(p);

            return(new TumblrsModel
            {
                Tumblrs = p.Entities,
                Sas = await _sasService.GetSasForTable(LvConstants.TableNameOfTumblr),
                ContinuationToken = p.ContinuationToken
            });
        }
 public void ToEnum_Return_CorrectTumblrCategory(string str, TumblrCategory category)
 {
     Assert.Equal(category, str.ToEnum <TumblrCategory>());
 }
Exemple #6
0
 public async Task <TumblrsModel> GetTumblrsModelAsync(string partitionKey, TumblrCategory category, int takeCount)
 {
     return(await _cache.Get(_cacheKeyFactory.CreateKey(RegionOfTumblrs, partitionKey, category.ToString("D")),
                             async() => await _tumblrService.GetTumblrsModelAsync(partitionKey, category, takeCount)));
 }
Exemple #7
0
 public string ReplaceTumblrCategoryOfRowKey(string rowKey, TumblrCategory category)
 {
     return(CreateTumblrRowKey(category, GetInvertedTicksFromTumblrRowKey(rowKey)));
 }
Exemple #8
0
 // Tumblr - TumblrCategory_InvertedTicks
 public string CreateTumblrRowKey(TumblrCategory category, string invertedTicks)
 {
     return(new[] { category.ToString("D"), invertedTicks }.JoinByUnderline());
 }