コード例 #1
0
ファイル: ParserTests.cs プロジェクト: Ashymonth/Furaffinity
        public void FavParser_FavTest(string page, FavAction action)
        {
            //Arrange
            const string expected = "/fav/40974349/?key=573cb7b373ed5090a3aa89a38c5e01fe4344cd65";
            var          parser   = new FavResponseParser(action);
            var          text     = File.ReadAllText(page);

            //Act
            var actual = parser.Parse(text);

            //Assert
            Assert.Equal(expected, actual);
        }
コード例 #2
0
ファイル: ParserTests.cs プロジェクト: Ashymonth/Furaffinity
        public void FavParser_UnFavTest(string page, FavAction action)
        {
            //Arrange
            const string expected = "/unfav/40974349/?key=33507e398a5a3f4755f7cb575a8c98af6e433a6a";
            var          parser   = new FavResponseParser(action);
            var          text     = File.ReadAllText(page);

            //Act
            var actual = parser.Parse(text);

            //Assert
            Assert.Equal(expected, actual);
        }
コード例 #3
0
        public async Task Execute(FavContext context, CancellationToken ct)
        {
            var result = new HashSet <string>();
            var parser = new FavResponseParser(FavAction.Fav);

            foreach (var request in from contextLink in context.Links
                     where !string.IsNullOrWhiteSpace(contextLink)
                     select new FavLinkRequest(context.User.Cookies, contextLink))
            {
                try
                {
                    var response = await Gate.SendAsync <FavLinkRequest, string, FavResponseParser>(request, parser);

                    await Task.Delay(TimeSpan.FromSeconds(2), ct); // to simulate user behavior

                    result.Add(response !);
                    context.Links = result !;
                }
                catch (FuraffinityApiException)
                {
                    //don't cate about a couple of bad links
                }
            }
        }