SendContactOwnersMessage() public méthode

public SendContactOwnersMessage ( MailAddress fromAddress, PackageRegistration packageRegistration, string message, string emailSettingsUrl, bool copySender ) : void
fromAddress MailAddress
packageRegistration PackageRegistration
message string
emailSettingsUrl string
copySender bool
Résultat void
            public void WillNotSendEmailToOwnerThatOptsOut()
            {
                var from    = new MailAddress("*****@*****.**", "flossy");
                var package = new PackageRegistration {
                    Id = "smangit"
                };

                package.Owners = new[]
                {
                    new User {
                        EmailAddress = "*****@*****.**", EmailAllowed = true
                    },
                    new User {
                        EmailAddress = "*****@*****.**", EmailAllowed = false
                    }
                };
                var mailSender = new Mock <IMailSender>();
                var config     = new Mock <IAppConfiguration>();

                config.Setup(x => x.GalleryOwner).Returns(TestGalleryOwner);
                var         messageService = new MessageService(mailSender.Object, config.Object);
                MailMessage message        = null;

                mailSender.Setup(m => m.Send(It.IsAny <MailMessage>())).Callback <MailMessage>(m => { message = m; });


                messageService.SendContactOwnersMessage(from, package, "Test message", "http://someurl/");

                Assert.Equal("*****@*****.**", message.To[0].Address);
                Assert.Equal(1, message.To.Count);
            }
            public void WillNotAttemptToSendIfNoOwnersAllow()
            {
                var from    = new MailAddress("*****@*****.**", "flossy");
                var package = new PackageRegistration {
                    Id = "smangit"
                };

                package.Owners = new[]
                {
                    new User {
                        EmailAddress = "*****@*****.**", EmailAllowed = false
                    },
                    new User {
                        EmailAddress = "*****@*****.**", EmailAllowed = false
                    }
                };
                var mailSender = new Mock <IMailSender>();

                mailSender.Setup(m => m.Send(It.IsAny <MailMessage>())).Throws(new InvalidOperationException());
                var config = new Mock <IAppConfiguration>();

                config.Setup(x => x.GalleryOwner).Returns(TestGalleryOwner);
                var         messageService = new MessageService(mailSender.Object, config.Object);
                MailMessage message        = null;

                mailSender.Setup(m => m.Send(It.IsAny <MailMessage>())).Callback <MailMessage>(m => { message = m; });

                messageService.SendContactOwnersMessage(from, package, "Test message", "http://someurl/");

                mailSender.Verify(m => m.Send(It.IsAny <MailMessage>()), Times.Never());
                Assert.Null(message);
            }
            public void WillSendEmailToAllOwners()
            {
                var from = new MailAddress("*****@*****.**", "flossy");
                var package = new PackageRegistration { Id = "smangit" };
                package.Owners = new[]
                    {
                        new User { EmailAddress = "*****@*****.**", EmailAllowed = true },
                        new User { EmailAddress = "*****@*****.**", EmailAllowed = true }
                    };
                var mailSender = new Mock<IMailSender>();
                var setting = new GallerySetting { GalleryOwnerName = "NuGet Gallery", GalleryOwnerEmail = "*****@*****.**" };
                var messageService = new MessageService(mailSender.Object, setting);
                MailMessage message = null;
                mailSender.Setup(m => m.Send(It.IsAny<MailMessage>())).Callback<MailMessage>(m => { message = m; });

                messageService.SendContactOwnersMessage(from, package, "Test message", "http://someurl/");

                mailSender.Verify(m => m.Send(It.IsAny<MailMessage>()));
                Assert.Equal("*****@*****.**", message.To[0].Address);
                Assert.Equal("*****@*****.**", message.To[1].Address);
                Assert.Contains("[NuGet Gallery] Message for owners of the package 'smangit'", message.Subject);
                Assert.Contains("Test message", message.Body);
                Assert.Contains(
                    "User flossy &lt;[email protected]&gt; sends the following message to the owners of Package 'smangit'.", message.Body);
            }
            public void WillNotSendEmailToOwnerThatOptsOut()
            {
                var from = new MailAddress("*****@*****.**", "flossy");
                var package = new PackageRegistration { Id = "smangit" };
                package.Owners = new[]
                    {
                        new User { EmailAddress = "*****@*****.**", EmailAllowed = true },
                        new User { EmailAddress = "*****@*****.**", EmailAllowed = false }
                    };
                var mailSender = new Mock<IMailSender>();
                var setting = new GallerySetting { GalleryOwnerName = "Joe Schmoe", GalleryOwnerEmail = "*****@*****.**" };
                var messageService = new MessageService(mailSender.Object, setting);
                MailMessage message = null;
                mailSender.Setup(m => m.Send(It.IsAny<MailMessage>())).Callback<MailMessage>(m => { message = m; });


                messageService.SendContactOwnersMessage(from, package, "Test message", "http://someurl/");

                Assert.Equal("*****@*****.**", message.To[0].Address);
                Assert.Equal(1, message.To.Count);
            }
Exemple #5
0
            public void WillSendEmailToAllOwners()
            {
                var from    = new MailAddress("*****@*****.**", "flossy");
                var package = new PackageRegistration {
                    Id = "smangit"
                };

                package.Owners = new[]
                {
                    new User {
                        EmailAddress = "*****@*****.**", EmailAllowed = true
                    },
                    new User {
                        EmailAddress = "*****@*****.**", EmailAllowed = true
                    }
                };
                var mailSender = new Mock <IMailSender>();
                var config     = new Mock <IConfiguration>();

                config.Setup(x => x.GalleryOwnerName).Returns("NuGet Gallery");
                config.Setup(x => x.GalleryOwnerEmail).Returns("*****@*****.**");
                var         messageService = new MessageService(mailSender.Object, config.Object);
                MailMessage message        = null;

                mailSender.Setup(m => m.Send(It.IsAny <MailMessage>())).Callback <MailMessage>(m => { message = m; });

                messageService.SendContactOwnersMessage(from, package, "Test message", "http://someurl/");

                mailSender.Verify(m => m.Send(It.IsAny <MailMessage>()));
                Assert.Equal("*****@*****.**", message.To[0].Address);
                Assert.Equal("*****@*****.**", message.To[1].Address);
                Assert.Equal("*****@*****.**", message.From.Address);
                Assert.Equal("*****@*****.**", message.ReplyToList.Single().Address);
                Assert.Contains("[NuGet Gallery] Message for owners of the package 'smangit'", message.Subject);
                Assert.Contains("Test message", message.Body);
                Assert.Contains(
                    "User flossy &lt;[email protected]&gt; sends the following message to the owners of Package 'smangit'.", message.Body);
            }
            public void WillNotAttemptToSendIfNoOwnersAllow()
            {
                var from = new MailAddress("*****@*****.**", "flossy");
                var package = new PackageRegistration { Id = "smangit" };
                package.Owners = new[]
                    {
                        new User { EmailAddress = "*****@*****.**", EmailAllowed = false },
                        new User { EmailAddress = "*****@*****.**", EmailAllowed = false }
                    };
                var mailSender = new Mock<IMailSender>();
                mailSender.Setup(m => m.Send(It.IsAny<MailMessage>())).Throws(new InvalidOperationException());
                var setting = new GallerySetting { GalleryOwnerName = "Joe Schmoe", GalleryOwnerEmail = "*****@*****.**" };
                var messageService = new MessageService(mailSender.Object, setting);
                MailMessage message = null;
                mailSender.Setup(m => m.Send(It.IsAny<MailMessage>())).Callback<MailMessage>(m => { message = m; });

                messageService.SendContactOwnersMessage(from, package, "Test message", "http://someurl/");

                mailSender.Verify(m => m.Send(It.IsAny<MailMessage>()), Times.Never());
                Assert.Null(message);
            }
            public void WillSendEmailToAllOwners()
            {
                var from = new MailAddress("*****@*****.**", "flossy");
                var package = new PackageRegistration { Id = "smangit" };
                package.Owners = new[]
                    {
                        new User { EmailAddress = "*****@*****.**", EmailAllowed = true },
                        new User { EmailAddress = "*****@*****.**", EmailAllowed = true }
                    };
                var mailSender = new Mock<IMailSender>();
                var config = new Mock<IAppConfiguration>();
                config.Setup(x => x.GalleryOwner).Returns(TestGalleryOwner);
                var messageService = new MessageService(mailSender.Object, config.Object);
                MailMessage message = null;
                mailSender.Setup(m => m.Send(It.IsAny<MailMessage>())).Callback<MailMessage>(m => { message = m; });

                messageService.SendContactOwnersMessage(from, package, "Test message", "http://someurl/");

                mailSender.Verify(m => m.Send(It.IsAny<MailMessage>()));
                Assert.Equal("*****@*****.**", message.To[0].Address);
                Assert.Equal("*****@*****.**", message.To[1].Address);
                Assert.Equal(TestGalleryOwner.Address, message.From.Address);
                Assert.Equal("*****@*****.**", message.ReplyToList.Single().Address);
                Assert.Contains("[Joe Shmoe] Message for owners of the package 'smangit'", message.Subject);
                Assert.Contains("Test message", message.Body);
                Assert.Contains(
                    "User flossy &lt;[email protected]&gt; sends the following message to the owners of Package 'smangit'.", message.Body);
            }