コード例 #1
0
        public void GroupMemberCanBeRemoved()
        {
            DatabaseUpdateMailrelayGroup databaseUpdateMailrelayGroup = CreateDatabaseUpdateMailrelayGroup(_list);
            int idFromMailrelay = _random.Next(0, int.MaxValue);

            UpdateMailrelayGroup updateMailrelayGroup = new UpdateMailrelayGroup(Connection, databaseUpdateMailrelayGroup);

            updateMailrelayGroup.ChangeMailrelayConnection(_mailrelayConnectionTester);

            _mailrelayConnectionTester.replies.Enqueue(new MailrelayIntReply()
            {
                status = 1, data = _groupId
            });
            EnqueueGetSubscribersReply(_contact.new_mailrelaysubscriberid.Value, idFromMailrelay);
            _mailrelayConnectionTester.replies.Enqueue(new MailrelayBoolReply()
            {
                status = 1, data = true
            });

            updateMailrelayGroup.ExecuteOption(new Administration.Option.Options.OptionReport(typeof(UpdateMailrelayGroupTest)));

            updateSubscriber updateSubscriberFunction = (updateSubscriber)_mailrelayConnectionTester.sendFunctions.Single(function => function.GetType() == typeof(updateSubscriber));

            Assert.AreEqual(0, updateSubscriberFunction.groups.Count);
        }
コード例 #2
0
        private void UpdateSubscriber(int id, string email, Dictionary <string, string> customFieldsResult, List <int> groups, string fullname)
        {
            updateSubscriber update = new updateSubscriber()
            {
                customFields = customFieldsResult,
                email        = email,
                name         = fullname,
                groups       = groups,
                id           = id,
            };

            AbstractMailrelayReply reply = _mailrelayConnection.Send(update);
        }
コード例 #3
0
        public MailrelayBoolReply UpdateFromReply(getSubscribersReply replyToUpdate)
        {
            updateSubscriber update = new updateSubscriber()
            {
                customFields = replyToUpdate.fields,
                email        = replyToUpdate.email,
                name         = replyToUpdate.name,
                groups       = replyToUpdate.groups.Select(groupString => int.Parse(groupString)).ToList(),
                id           = int.Parse(replyToUpdate.id),
            };

            AbstractMailrelayReply reply = _mailrelayConnection.Send(update);

            return((MailrelayBoolReply)reply);
        }
コード例 #4
0
        public void AddMailrelaySubscriberFromLeadTestCanUpdateASubscriber()
        {
            DatabaseWebCampaign webCampaign = GetWebcampaign();

            string email = "test";
            DatabaseAddMailrelaySubscriberFromLead databaseAddMailrelaySubscriberFromLead = AddMailrelaySubscriberFromLead.CreateIfValid(Connection, _lead.Id, "test", "test", email, webCampaign);
            AddMailrelaySubscriberFromLead         addMailrelaySubscriberFromLead         = new AddMailrelaySubscriberFromLead(Connection, databaseAddMailrelaySubscriberFromLead);

            int randomId = new Random().Next(0, int.MaxValue);

            _mailrelayConnectionTester.replies.Enqueue(new MailrelayArrayReply <getSubscribersReply>()
            {
                status = 1,
                data   = new List <getSubscribersReply>()
                {
                    new getSubscribersReply()
                    {
                        email  = email,
                        id     = randomId.ToString(),
                        fields = new Dictionary <string, string>(),
                        groups = new List <string>(),
                    },
                }
            });
            _mailrelayConnectionTester.replies.Enqueue(new MailrelayIntReply()
            {
                status = 1, data = 1
            });

            ExecuteWithFakeMailrelayConnection(addMailrelaySubscriberFromLead);

            Console.Out.WriteLine(_mailrelayConnectionTester);

            updateSubscriber updateSubscriberFunction = (updateSubscriber)_mailrelayConnectionTester.sendFunctions.Single(function => function is updateSubscriber);

            Assert.AreEqual(email, updateSubscriberFunction.email);
            Assert.AreEqual(randomId, updateSubscriberFunction.id);
        }
コード例 #5
0
        public void updateSubscriber()
        {
            updateSubscriber function = new updateSubscriber()
            {
                id        = 4,
                email     = "[email protected]_test",
                name      = "test_name",
                activated = true,
                groups    = new List <int>()
                {
                    1
                },
                customFields = new Dictionary <string, string>()
                {
                    { "f_1", "f1" },
                    { "f_3", "f3" },
                    { "f_4", "f4" },
                    { "f_5", "f5" },
                },
            };
            AbstractMailrelayReply reply = TestCall(function);

            Assert.AreEqual(1, reply.status);
        }