Пример #1
0
        public override HttpStatusCode Send(IDnaHttpClient client)
        {
            var query = new SnesActivitiesQuery
                            {
                                FilterBy = "postedTime",
                                FilterOp = "equals",
                                FilterValue = PostedTime.ToString(),
                                IdentityUserId = IdentityUserId
                            };

            var statusCode = query.Send(client);
            if (statusCode == HttpStatusCode.OK)
            {
                var activities = query.Content.ObjectFromJson<OpenSocialActivities>();
                
                if (activities != null)
                {
                    if (activities.TotalResults > 0)
                    {
                        var deleteActivity =
                            new DeleteActivity(activities.Entries[0].Id, ApplicationId, IdentityUserId);
                        return deleteActivity.Send(client);
                    }
                    else
                    {//nothing to find so dont retry....
                        return HttpStatusCode.OK;
                    }

                }
            }
            return HttpStatusCode.BadRequest;
        }
        public void RevokeCommentActivity_SubmitActivityAndRevoke_Success()
        {
            var logger = MockRepository.GenerateStub<IDnaLogger>();
            
            DateTime now = DateTime.Now;
            
            var httpClient = GetHttpClient();

            var openSocialActivity = new OpenSocialActivity
                                         {
                                             PostedTime = now.MillisecondsSinceEpoch()
                                         };
            var eventData = new SnesActivityData
                                {
                                    ActivityType = 19,
                                    AppInfo = new DnaApplicationInfo
                                                  {
                                                      AppId = "testApplication"
                                                  },
                                    BlogUrl = "http://www.example.com/blogurl",
                                    UrlBuilder = new DnaUrlBuilder
                                                     {
                                                         DnaUrl = "http://www.example.com/dna/",
                                                         ForumId = 1,
                                                         PostId = 1,
                                                         ThreadId = 1
                                                     },
                                    IdentityUserId = "0"

                                };

            var activity = CommentActivityBase.CreateActivity(openSocialActivity, eventData);
            activity.Send(httpClient);

            var revokeActivity = RevokeCommentActivity.CreateActivity(openSocialActivity, eventData);
            revokeActivity.Send(httpClient);

            var getActivity = new SnesActivitiesQuery
                                  {
                                      FilterBy = "postedTime",
                                      FilterOp = "equals",
                                      FilterValue = now.ToString(),
                                      IdentityUserId = "0",
                                  };
            var statusCode =  getActivity.Send(httpClient);
            Assert.AreEqual(HttpStatusCode.InternalServerError, statusCode);
        }