コード例 #1
0
 public async Task GetsRandomArticles()
 {
     var client = new WikimediaClient(USER_CLIENT, 5);
     var response = await client.GetMaxRandomArticles();
     Assert.IsNotEmpty(response.Pages);
 }
コード例 #2
0
 static async Task InsertRandomDocumentsIntoDatabase(WikimediaClient client, IMongoCollection<BsonDocument> collection)
 {
     var response = await client.GetMaxRandomArticles();
     var updates = response.Pages.Values.Select(page => {
         var doc = DocumentFromPage(page);
         return collection.ReplaceOneAsync(
             Builders<BsonDocument>.Filter.Eq(d => d["PageId"], page.PageId), doc,
             new UpdateOptions { IsUpsert = true });
     });
     await Task.WhenAll(updates);
 }
コード例 #3
0
 public async Task QueriesMaxNumberOfRandomArticles()
 {
     var httpClient = new Mock<IHttpClient>(MockBehavior.Strict);
     var client = new WikimediaClient(httpClient.Object, "Foo", 5);
     var expectedUrl = client.BaseQueryUrl + "&generator=random&grnnamespace=0&grnlimit=max";
     httpClient.Setup(c => c.Get(expectedUrl, "Foo")).ReturnsAsync("{'query':{}}");
     var response = await client.GetMaxRandomArticles();
     Assert.NotNull(response);
 }