コード例 #1
0
        public async Task ShouldGetObjectResolved()
        {
            /// Arrange
            var request = new SchemaSearchRequest
            {
                Limit  = 100,
                Filter = new TermFilter
                {
                    Field = "types",
                    Term  = SchemaType.List.ToString()
                }
            };

            var result = await _client.Schemas.SearchAsync(request);

            Assert.True(result.Results.Any());

            // For debugging: .Where(i => i.Id == "Esselabore1"))
            var tuple = result.Results
                        .Select(i => new { schemaId = i.Id, objectId = _fixture.GetRandomObjectIdAsync(i.Id, 20).Result })
                        .First(i => !string.IsNullOrEmpty(i.objectId));

            /// Act
            var listItem = await _client.ListItems.GetAsync(tuple.objectId, true);

            /// Assert
            Assert.Equal(tuple.schemaId, listItem.ContentSchemaId);
        }
コード例 #2
0
        public async Task ShouldSearch()
        {
            /// Act
            var searchRequest = new SchemaSearchRequest
            {
                Limit        = 12,
                SearchString = "D*"
            };

            var result = await _client.Schemas.SearchAsync(searchRequest);

            /// Assert
            Assert.True(result.Results.Any());
        }
コード例 #3
0
        public static async Task <string> GetRandomSchemaIdAsync(PictureparkClient client, int limit)
        {
            string schemaId = string.Empty;
            var    request  = new SchemaSearchRequest {
                Limit = limit
            };
            SchemaSearchResult result = await client.Schemas.SearchAsync(request);

            if (result.Results.Count > 0)
            {
                int randomNumber = new Random().Next(0, result.Results.Count);
                schemaId = result.Results.Skip(randomNumber).First().Id;
            }

            return(schemaId);
        }
コード例 #4
0
        public async Task ShouldGet()
        {
            /// Arrange
            var searchRequest = new SchemaSearchRequest {
                Start = 0, Limit = 100
            };
            var searchResult = await _client.Schemas.SearchAsync(searchRequest);

            Assert.True(searchResult.Results.Any());

            List <string> schemaIds = searchResult.Results
                                      .Select(i => i.Id)
                                      .OrderBy(i => i)
                                      .ToList();

            /// Act
            var schemaIdsOk    = new List <string>();
            var schemaIdsNotOk = new List <string>();

            foreach (var schemaId in schemaIds)
            {
                try
                {
                    var schema = await _client.Schemas.GetAsync(schemaId);

                    schemaIdsOk.Add(schema.Id);
                }
                catch
                {
                    schemaIdsNotOk.Add(schemaId);
                }
            }

            /// Assert
            Assert.False(schemaIdsNotOk.Count > 0);
            Assert.True(schemaIdsOk.Count > 0);
        }
コード例 #5
0
        public async Task ShouldSearchListItemsAndScrollThroughResults()
        {
            // Arrange
            // ---------------------------------------------------------------------------
            // Get a list of MetadataSchemaIds
            // ---------------------------------------------------------------------------
            var searchRequestSchema = new SchemaSearchRequest
            {
                Limit  = 2,
                Filter = FilterBase.FromExpression <Schema>(i => i.Types, SchemaType.List.ToString())
            };

            var searchResultSchema = await _client.Schema.SearchAsync(searchRequestSchema).ConfigureAwait(false);

            Assert.True(searchResultSchema.Results.Any());

            List <string> metadataSchemaIds = searchResultSchema.Results
                                              .Select(i => i.Id)
                                              .OrderBy(i => i)
                                              .ToList();

            var searchRequestObject = new ListItemSearchRequest()
            {
                Limit = 100
            };
            var           items = new List <ListItem>();
            List <string> failedMetadataSchemaIds = new List <string>();

            // Act
            // ---------------------------------------------------------------------------
            // Loop over all metadataSchemaIds and make a search for each metadataSchemaId
            // ---------------------------------------------------------------------------
            foreach (var metadataSchemaId in metadataSchemaIds)
            {
                searchRequestObject.SchemaIds = new List <string> {
                    metadataSchemaId
                };
                searchRequestObject.PageToken = null;

                try
                {
                    int i = 0;
                    ListItemSearchResult searchResultObject;

                    do
                    {
                        searchResultObject = await _client.ListItem.SearchAsync(searchRequestObject).ConfigureAwait(false);

                        if (searchResultObject.Results.Any())
                        {
                            items.AddRange(searchResultObject.Results);
                        }
                    }while (++i < 3 && ((searchRequestObject.PageToken = searchResultObject.PageToken) != null));
                }
                catch (Exception)
                {
                    failedMetadataSchemaIds.Add(metadataSchemaId);
                }
            }

            // Assert
            Assert.True(!failedMetadataSchemaIds.Any());
            Assert.True(items.Any());
        }
コード例 #6
0
        public async Task ShouldSearchObjects()
        {
            /// Arrange
            // ---------------------------------------------------------------------------
            // Get a list of MetadataSchemaIds
            // ---------------------------------------------------------------------------
            var searchRequestSchema = new SchemaSearchRequest
            {
                Start  = 0,
                Limit  = 999,
                Filter = new TermFilter
                {
                    Field = "types",
                    Term  = SchemaType.List.ToString()
                }
            };

            var searchResultSchema = await _client.Schemas.SearchAsync(searchRequestSchema);

            Assert.True(searchResultSchema.Results.Any());

            List <string> metadataSchemaIds = searchResultSchema.Results
                                              .Select(i => i.Id)
                                              .OrderBy(i => i)
                                              .ToList();

            var searchRequestObject = new ListItemSearchRequest()
            {
                Start = 0, Limit = 100
            };
            var           items = new List <ListItem>();
            List <string> failedMetadataSchemaIds = new List <string>();

            /// Act
            // ---------------------------------------------------------------------------
            // Loop over all metadataSchemaIds and make a search for each metadataSchemaId
            // ---------------------------------------------------------------------------
            foreach (var metadataSchemaId in metadataSchemaIds)
            {
                searchRequestObject.SchemaIds = new List <string> {
                    metadataSchemaId
                };

                try
                {
                    var searchResultObject = await _client.ListItems.SearchAsync(searchRequestObject);

                    if (searchResultObject.Results.Any())
                    {
                        items.AddRange(searchResultObject.Results);
                    }
                }
                catch (Exception)
                {
                    failedMetadataSchemaIds.Add(metadataSchemaId);
                }
            }

            /// Assert
            Assert.True(!failedMetadataSchemaIds.Any());
            Assert.True(items.Any());
        }