public void WillNotSendEmailToOwnerThatOptsOut() { // Arrange var packageRegistration = new PackageRegistration { Id = "smangit", Owners = new[] { new User { EmailAddress = "*****@*****.**", NotifyPackagePushed = true }, new User { EmailAddress = "*****@*****.**", NotifyPackagePushed = false } } }; var package = new Package { Version = "1.2.3", PackageRegistration = packageRegistration }; packageRegistration.Packages.Add(package); // Act var messageService = new TestableMessageService(); messageService.SendPackageAddedNotice(package, "http://dummy1", "http://dummy2", "http://dummy3"); // Assert var message = messageService.MockMailSender.Sent.Last(); Assert.Equal("*****@*****.**", message.To[0].Address); Assert.Equal(1, message.To.Count); }
public void WillNotAttemptToSendIfNoOwnersAllow() { // Arrange var packageRegistration = new PackageRegistration { Id = "smangit", Owners = new[] { new User { EmailAddress = "*****@*****.**", EmailAllowed = false }, new User { EmailAddress = "*****@*****.**", EmailAllowed = false } } }; var package = new Package { Version = "1.2.3", PackageRegistration = packageRegistration }; packageRegistration.Packages.Add(package); // Act var messageService = new TestableMessageService(); messageService.SendPackageAddedNotice(package, "http://dummy1", "http://dummy2", "http://dummy3"); // Assert Assert.Empty(messageService.MockMailSender.Sent); }
public void WillSendEmailToAllOwners(string version) { // Arrange var nugetVersion = new NuGetVersion(version); var packageRegistration = new PackageRegistration { Id = "smangit", Owners = new[] { new User { EmailAddress = "*****@*****.**", NotifyPackagePushed = true }, new User { EmailAddress = "*****@*****.**", NotifyPackagePushed = true } } }; var package = new Package { Version = version, PackageRegistration = packageRegistration }; packageRegistration.Packages.Add(package); // Act var messageService = new TestableMessageService(); var packageUrl = $"https://localhost/packages/{packageRegistration.Id}/{nugetVersion.ToNormalizedString()}"; var supportUrl = $"https://localhost/packages/{packageRegistration.Id}/{nugetVersion.ToNormalizedString()}/ReportMyPackage"; var emailSettingsUrl = "https://localhost/account"; messageService.SendPackageAddedNotice(package, packageUrl, supportUrl, emailSettingsUrl); // Assert var message = messageService.MockMailSender.Sent.Last(); Assert.Equal("*****@*****.**", message.To[0].Address); Assert.Equal("*****@*****.**", message.To[1].Address); Assert.Equal(TestGalleryNoReplyAddress, message.From); Assert.Contains($"[Joe Shmoe] Package published - {packageRegistration.Id} {nugetVersion.ToNormalizedString()}", message.Subject); Assert.Contains( $"The package [{packageRegistration.Id} {nugetVersion.ToFullString()}]({packageUrl}) was just published on Joe Shmoe. If this was not intended, please [contact support]({supportUrl}).", message.Body); }
public void WillSendEmailToAllOwners() { // Arrange var packageRegistration = new PackageRegistration { Id = "smangit", Owners = new[] { new User { EmailAddress = "*****@*****.**", NotifyPackagePushed = true }, new User { EmailAddress = "*****@*****.**", NotifyPackagePushed = true } } }; var package = new Package { Version = "1.2.3", PackageRegistration = packageRegistration }; packageRegistration.Packages.Add(package); // Act var messageService = new TestableMessageService(); messageService.SendPackageAddedNotice(package, "http://dummy1", "http://dummy2", "http://dummy3"); // Assert var message = messageService.MockMailSender.Sent.Last(); Assert.Equal("*****@*****.**", message.To[0].Address); Assert.Equal("*****@*****.**", message.To[1].Address); Assert.Equal(TestGalleryNoReplyAddress, message.From); Assert.Contains("[Joe Shmoe] Package published - smangit 1.2.3", message.Subject); Assert.Contains( "The package [smangit 1.2.3](http://dummy1) was just published on Joe Shmoe. If this was not intended, please [contact support](http://dummy2).", message.Body); }
public void WillNotAttemptToSendIfNoOwnersAllow() { // Arrange var packageRegistration = new PackageRegistration { Id = "smangit", Owners = new[] { new User { EmailAddress = "*****@*****.**", EmailAllowed = false }, new User { EmailAddress = "*****@*****.**", EmailAllowed = false } } }; var package = new Package { Version = "1.2.3", PackageRegistration = packageRegistration }; packageRegistration.Packages.Add(package); // Act var messageService = new TestableMessageService(); messageService.SendPackageAddedNotice(package, "http://dummy1", "http://dummy2", "http://dummy3"); // Assert Assert.Empty(messageService.MockMailSender.Sent); }
public void WillNotSendEmailToOwnerThatOptsOut() { // Arrange var packageRegistration = new PackageRegistration { Id = "smangit", Owners = new[] { new User { EmailAddress = "*****@*****.**", NotifyPackagePushed = true }, new User { EmailAddress = "*****@*****.**", NotifyPackagePushed = false } } }; var package = new Package { Version = "1.2.3", PackageRegistration = packageRegistration }; packageRegistration.Packages.Add(package); // Act var messageService = new TestableMessageService(); messageService.SendPackageAddedNotice(package, "http://dummy1", "http://dummy2", "http://dummy3"); // Assert var message = messageService.MockMailSender.Sent.Last(); Assert.Equal("*****@*****.**", message.To[0].Address); Assert.Equal(1, message.To.Count); }
public void WillSendEmailToAllOwners() { // Arrange var packageRegistration = new PackageRegistration { Id = "smangit", Owners = new[] { new User { EmailAddress = "*****@*****.**", NotifyPackagePushed = true }, new User { EmailAddress = "*****@*****.**", NotifyPackagePushed = true } } }; var package = new Package { Version = "1.2.3", PackageRegistration = packageRegistration }; packageRegistration.Packages.Add(package); // Act var messageService = new TestableMessageService(); messageService.SendPackageAddedNotice(package, "http://dummy1", "http://dummy2", "http://dummy3"); // Assert var message = messageService.MockMailSender.Sent.Last(); Assert.Equal("*****@*****.**", message.To[0].Address); Assert.Equal("*****@*****.**", message.To[1].Address); Assert.Equal(TestGalleryOwner, message.From); Assert.Contains("[Joe Shmoe] Package published - smangit 1.2.3", message.Subject); Assert.Contains( "The package [smangit 1.2.3](http://dummy1) was just published on Joe Shmoe. If this was not intended, please [contact support](http://dummy2).", message.Body); }