public void ReceiveEmail() { // Arrange var container = new Container(); var repositoryFactoryMock = new Mock <IRepositoryFactory>(); var konfiguracijaRepository = new Mock <IKonfiguracijaRepository>(); var pop3Mock = new Mock <IPop3Service>(); var agencijeRepository = new Mock <IAgencijeRepository>(); var agencijskeVestiRepository = new Mock <IAgencijskeVestiRepository>(); var konfiguracija = new Konfiguracija { DownloadInterval = 1, Server = "server", Port = 995, Ssl = true, Username = "******", Password = "******" }; var agencija = new Agencija { ID = 1 }; repositoryFactoryMock.SetupGet(x => x.KonfiguracijaRepository).Returns(konfiguracijaRepository.Object); repositoryFactoryMock.SetupGet(x => x.AgencijeRepository).Returns(agencijeRepository.Object); repositoryFactoryMock.SetupGet(x => x.AgencijskeVestiRepository).Returns(agencijskeVestiRepository.Object); konfiguracijaRepository.Setup(x => x.VratiKonfiguraciju()).Returns(konfiguracija); pop3Mock.Setup(x => x.GetMessageCount()).Returns(1); var mail = new MailMessage { From = new MailAddress("*****@*****.**"), Subject = "Test", Body = "Test body" }; pop3Mock.Setup(x => x.GetMessage(0)).Returns(mail); agencijeRepository.Setup(x => x.VratiAgencijuSaEmailom(It.Is <string>(s => s.Equals(mail.From.Address)))).Returns(agencija); container.Bind <IRepositoryFactory>(repositoryFactoryMock.Object); container.Bind <ISchedulerService, SchedulerService>(); Container.Default.Bind <IPop3Service>(pop3Mock.Object); Container.Default.Bind <IRepositoryFactory>(repositoryFactoryMock.Object); // Act container.GetInstance <ISchedulerService>().Run(); Thread.Sleep(2000); // Assert pop3Mock.Verify(x => x.Connect(konfiguracija.Server, konfiguracija.Port, konfiguracija.Ssl)); pop3Mock.Verify(x => x.Authenticate(konfiguracija.Username, konfiguracija.Password)); pop3Mock.Verify(x => x.GetMessage(0)); agencijskeVestiRepository.Verify(x => x.Add(It.Is <AgencijskaVest>(a => a.AgencijaID == agencija.ID && a.Subject == mail.Subject && a.Body == mail.Body))); agencijskeVestiRepository.Verify(x => x.Save()); pop3Mock.Verify(x => x.DeleteMessage(0)); }
//Konfiguracija i kreiranje instance private static ISessionFactory NapraviSesiju() { try { var cfg = MySQLConfiguration.Standard.ConnectionString( c => c.Is(Konfiguracija.KonekcioniString)); return(Fluently.Configure() .Database(cfg.ShowSql) .Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly())) //.ExposeConfiguration(BuildSchema) .BuildSessionFactory()); } catch (Exception ec) { Konfiguracija.StampajIzuzetak(ec); return(null); } }
public static void PosaljiObavijestNaMail(Korisnik korisnik, string opis, string naslov) { MailMessage mail = new MailMessage(); mail.From = new MailAddress(Sesija.PrijavljenKorisnik.email, Konfiguracija.DajPostavku("mail.naslov"), Encoding.UTF8); mail.To.Add(new MailAddress(korisnik.email, korisnik.ime_korisnika + " " + korisnik.prezime_korisnika, Encoding.UTF8)); mail.Subject = naslov; mail.SubjectEncoding = Encoding.UTF8; mail.IsBodyHtml = true; mail.Body = opis; mail.BodyEncoding = Encoding.UTF8; SmtpClient client = new SmtpClient(); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(Konfiguracija.DajPostavku("korisnik.email"), Konfiguracija.DajPostavku("korisnik.lozinka")); client.Host = Konfiguracija.DajPostavku("mail.smtp"); client.Port = int.Parse(Konfiguracija.DajPostavku("mail.port")); client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Send(mail); }