예제 #1
0
 public LoggerRepositoryTest()
 {
     _fileProcess = new Mock <IFileProcess>(MockBehavior.Strict);
     options      = new DbContextOptionsBuilder <ApsiyonDBContext>().UseInMemoryDatabase(databaseName: "ApsiyonDB").Options;
     _dbContext   = new Mock <ApsiyonDBContext>(options);
     _repository  = new LoggerRepository(_dbContext.Object, _fileProcess.Object);
 }
예제 #2
0
        static void Main(string[] args)
        {
            B b = new B();

            b.Test();
            ///Example 1 test
            //Iterator<int> iterator = new Lesson2.SafeCollections.NaturalList();
            //Iterator<int> iterator = new Filter<int>(new Lesson2.SafeCollections.NaturalList(), value => value % 2 == 0);
            Iterator <string> iterator = new Map <int, string>(new Filter <int>(new Lesson2.SafeCollections.NaturalList(), value => value % 2 == 0), elem => elem + " :)");

            for (int i = 0; i < 10; i++)
            {
                iterator.GetNext().Visit <object>(() => { Console.WriteLine("Done"); return(null); }, v => { Console.WriteLine(v); return(null); });
            }

            ///Example 2 test
            Console.WriteLine("***\r\nBegin program\r\n");

            //IRepository<Customer> customerRepository = new Repository<Customer>();
            IRepository <Customer> customerRepository = new LoggerRepository <Customer>(new Repository <Customer>());

            var customer = new Customer
            {
                Id      = 1,
                Name    = "Customer 1",
                Address = "Address 1"
            };

            customerRepository.Add(customer);
            customerRepository.Update(customer);
            customerRepository.Delete(customer);

            Console.WriteLine("\r\nEnd program \r\n***");
        }
예제 #3
0
        public IRepository <T> Create <T>(CreateType createType = CreateType.DynamicProxy)
        {
            IRepository <T> repository = null;

            switch (createType)
            {
            case CreateType.DynamicProxy:
                repository = new DynamicProxy <IRepository <T> >().Create(new Repository <T>(),
                                                                          s => logger.Info($"{s}"),
                                                                          e => logger.Error($"{e}"),
                                                                          o => o?.ToString(),
                                                                          TaskScheduler.Current);
                break;

            case CreateType.AuthenticationProxy:
                repository = new AuthenticationProxy <IRepository <T> >().Create(Create <T>(CreateType.DynamicProxy), TaskScheduler.Current);
                break;

            case CreateType.PerformanceProxy:
                repository = new PerformanceProxy <IRepository <T> >().Create(Create <T>(CreateType.AuthenticationProxy));
                break;

            case CreateType.LoggerRepository:
                repository = new LoggerRepository <T>(new Repository <T>());
                break;
            }
            return(repository);
        }
예제 #4
0
 public OrdersManager(CompositionContainer container)
 {
     container.ComposeParts(this);
     _marketplaceMode      = ConfigurationManager.AppSettings["MarketplaceMode"];
     _credentialRepository = new CredentialRepository();
     _logger       = new LoggerRepository();
     _emailService = new EmailNotificationService();
 }
        public void IsDeletingSelectedCell()
        {
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_writes_to_Delete_Cell_database")
                          .Options;
            var appDbContext = new AppDbContext(options);
            var user         = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "abcd"),
            }));

            appDbContext.UserPermissions.Add(new UserPermission
            {
                Id       = 1,
                UserName = "******",
                IdPrison = 1,
                Prison   = new Prison
                {
                    Id         = 1,
                    PrisonName = "prison_test"
                }
            });
            appDbContext.SaveChanges();
            var loggerRepository = new LoggerRepository(appDbContext);
            var loggerService    = new LoggerService(loggerRepository);

            var cellRepository = new CellRepository(appDbContext);
            var cellService    = new CellService(cellRepository);

            var cellController = new PCellsController(
                cellService,
                _mapper,
                loggerService)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext {
                        User = user
                    }
                }
            };

            appDbContext.Cells.Add(new Cell
            {
                Id         = 1,
                Beds       = 2,
                IdPrison   = 1,
                IdCellType = 1,
                Prison     = new Prison(),
                CellType   = new CellType(),
                Prisoner   = new List <Prisoner>()
            });
            appDbContext.SaveChanges();


            Assert.AreEqual(appDbContext.Cells.Count(), 1);
            cellController.DeleteCell(1);
            Assert.AreEqual(appDbContext.Cells.Count(), 0);
        }
예제 #6
0
        public IActionResult Index()
        {
            var fileSystemLog = new FileSystemLogSpecification("LOG");
            var repository    = new LoggerRepository();

            // TODO:
            bool log = repository.LogInfo(fileSystemLog);

            return(Ok());
        }
        public void IsDeletingPrisoner()
        {
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_writes_to_Delete_Prisoner_database")
                          .Options;


            var appDbContext = new AppDbContext(options);
            var user         = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "abcd"),
            }));

            appDbContext.UserPermissions.Add(new UserPermission
            {
                Id       = 1,
                UserName = "******",
                IdPrison = 1,
                Prison   = new Prison
                {
                    Id         = 1,
                    PrisonName = "prison_test"
                }
            });
            appDbContext.SaveChanges();
            var prisonerRepository = new PrisonerRepository(appDbContext);
            var prisonerService    = new PrisonerService(prisonerRepository);
            var loggerRepository   = new LoggerRepository(appDbContext);
            var loggerService      = new LoggerService(loggerRepository);
            var prisonerController = new PrisonerController(prisonerService, _mapper, loggerService)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext {
                        User = user
                    }
                }
            };


            prisonerController.AddPrisoner(new PrisonerDTO
            {
                Name     = "abc",
                Forname  = "dba",
                Pesel    = "12345678910",
                Address  = "null",
                Pass     = false,
                Behavior = 0,
                Isolated = false,
                IdCell   = 0
            });

            Assert.AreEqual(appDbContext.Prisoners.Count(), 1, "prisoner has not been added");
            prisonerController.DeletePrisoner(1);
            Assert.AreEqual(appDbContext.Prisoners.Count(), 0, "prisoner has not been deleted");
        }
        public void IsCellAdded()
        {
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "database_to_add_cell")
                          .Options;

            var appDbContext = new AppDbContext(options);

            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "abcd"),
            }));

            appDbContext.UserPermissions.Add(new UserPermission
            {
                Id       = 1,
                UserName = "******",
                IdPrison = 1,
                Prison   = new Prison
                {
                    Id         = 1,
                    PrisonName = "prison_test"
                }
            });
            appDbContext.SaveChanges();
            var loggerRepository = new LoggerRepository(appDbContext);
            var loggerService    = new LoggerService(loggerRepository);

            var cellRepository = new CellRepository(appDbContext);
            var cellService    = new CellService(cellRepository);

            var cellController = new PCellsController(
                cellService,
                _mapper,
                loggerService)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext {
                        User = user
                    }
                }
            };


            var cell1 = new CellDTO
            {
                Beds       = 1,
                IdCellType = 1,
            };

            Assert.IsFalse(appDbContext.Cells.Any(), "Cell was added before it should be");
            cellController.AddCell(cell1);
            Assert.AreEqual(1, appDbContext.Cells.Count(), "amount of cells is wrong");
        }
        public void AddCellUnitTests()
        {
            // Arrange
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "database_to_add_cellUT")
                          .Options;

            var appDbContext  = new AppDbContext(options);
            var mappingConfig = new MapperConfiguration(mc =>
            {
                mc.AddProfile(new ModelToResourceProfile());
            });
            IMapper mapper = mappingConfig.CreateMapper();
            var     user   = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "abcd"),
            }));

            appDbContext.UserPermissions.Add(new UserPermission
            {
                Id       = 1,
                UserName = "******",
                IdPrison = 1,
                Prison   = new Prison
                {
                    Id         = 1,
                    PrisonName = "prison_test"
                }
            });
            appDbContext.SaveChanges();
            var loggerRepository = new LoggerRepository(appDbContext);
            var loggerService    = new LoggerService(loggerRepository);

            var cellRepository = new CellRepository(appDbContext);
            var cellService    = new CellService(cellRepository);

            var pCellsController = new PCellsController(
                cellService,
                mapper,
                loggerService)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext {
                        User = user
                    }
                }
            };

            // Act
            var result = pCellsController.AddCell(new CellDTO());

            // Assert
            Assert.IsInstanceOf <ActionResult <CellVM> >(result);
        }
        public void Setup()
        {
            m_LoggerOne = Substitute.For <ILogger>();
            m_LoggerTwo = Substitute.For <ILogger>();
            m_Factory = Substitute.For <ILoggerFactory>();

            m_Factory.Create(Arg.Any <string>()).Returns(m_LoggerOne,
                                                         m_LoggerTwo);

            m_Sut = new LoggerRepository(m_Factory);
        }
예제 #11
0
        public MssqlWorker(DbContext context)
        {
            if(context == null)
                throw new ArgumentNullException(nameof(context));

            _context = context;
            ItemRepository = new TodoItemRepository(context);
            ListRepository = new TodoListRepository(context);
            ProfileRepository = new UserProfileRepository(context);
            UserRepository = new UserRepository(context);
            LogRepository = new LoggerRepository(context);
        }
예제 #12
0
 public SubmitFeedController(MarketplaceWebServiceClient amazonClient,
                             LoggerRepository logger,
                             string marketplaceId,
                             string merchantId,
                             string submittedBy)
 {
     _amazonCient   = amazonClient;
     _logger        = logger;
     _marketplaceId = marketplaceId;
     _merchantId    = merchantId;
     _submittedBy   = submittedBy;
     SleepFirst     = true;
 }
예제 #13
0
        public MssqlWorker(DbContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            _context          = context;
            ItemRepository    = new TodoItemRepository(context);
            ListRepository    = new TodoListRepository(context);
            ProfileRepository = new UserProfileRepository(context);
            UserRepository    = new UserRepository(context);
            LogRepository     = new LoggerRepository(context);
        }
예제 #14
0
파일: Program.cs 프로젝트: jjokela/aop-test
        static void Main(string[] args)
        {
            Console.WriteLine("***\r\nBegin program - WITH logging\r\n");
            IRepository<Customer> customerRepo = new Repo<Customer>();
            IRepository<Customer> loggerRepo = new LoggerRepository<Customer>(customerRepo);

            var customer = new Customer { Id = 1, Name = "Tero Testaaja", Address = "Testikatu 1" };
            loggerRepo.Add(customer);
            loggerRepo.Update(customer);
            loggerRepo.Delete(customer);

            Console.WriteLine("\r\nEnd program - WITH logging\r\n***");
            Console.ReadLine();
        }
예제 #15
0
 public void Log(string type, string message)
 {
     try
     {
         using (var db = new LoggerContext(_conection))
         {
             var repository = new LoggerRepository(db);
             repository.AddLog(type, message);
         }
     }
     catch (Exception ex)
     {
         // ignore
     }
 }
예제 #16
0
        public JobWorker(SystemJob job)
        {
            _systemJob            = job;
            _logger               = new LoggerRepository();
            _jobRepository        = new SystemJobRepository();
            _resultFileDirecctory = ConfigurationManager.AppSettings["SystemJobsResultFileRoot"].ToString();

            // init the Background Worker
            _bw                            = new BackgroundWorker();
            _bw.DoWork                    += new DoWorkEventHandler(bw_DoWork);
            _bw.RunWorkerCompleted        += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
            _bw.ProgressChanged           += new ProgressChangedEventHandler(bw_ProgressChanged);
            _bw.WorkerReportsProgress      = true;
            _bw.WorkerSupportsCancellation = true;
        }
예제 #17
0
        public void Setup()
        {
            var connectionString = ConfigurationManager.ConnectionStrings["MySqlConnection"].ConnectionString;

            _db = new ReminderDatabase();

            var logRepo = new LoggerRepository();

            logRepo.Initialize(connectionString);

            _logger = new LogUtility();
            _logger.Initialize(logRepo);

            _db.Initialize(connectionString, _logger);
        }
예제 #18
0
 private static void OneDecoratorNoProxy()
 {
     Console.WriteLine("***\r\n Begin program - logging with decorator\r\n");
     IRepository<Customer> customerRepository =
       new LoggerRepository<Customer>(new Repository<Customer>());
     var customer = new Customer
     {
         Id = 1,
         Name = "Customer 1",
         Address = "Address 1"
     };
     customerRepository.Add(customer);
     customerRepository.Delete(customer);
     Console.WriteLine("\r\nEnd program - logging with decorator\r\n***");
     Console.ReadLine();
 }
예제 #19
0
        public void Log_SaveLog()
        {
            var mockSet     = new Mock <DbSet <Log> >();
            var mockContext = new Mock <LoggerContext>(string.Empty);

            mockContext.Setup(m => m.Logs).Returns(mockSet.Object);

            // Act
            var repository = new LoggerRepository(mockContext.Object);

            repository.AddLog("Error", "Test");

            // Assert
            mockSet.Verify(m => m.Add(It.IsAny <Log>()), Times.Once);
            mockContext.Verify(m => m.SaveChanges(), Times.Once);
        }
        public void Get_ReturnsDifferentLogger_ForDifferentTypes([NotNull] ILogger loggerOne,
                                                                 [NotNull] ILogger loggerTwo)
        {
            // Arrange
            var factory = Substitute.For <ILoggerFactory>();
            factory.Create(Arg.Any <string>()).Returns(loggerOne,
                                                       loggerTwo);
            var sut = new LoggerRepository(factory);

            // Act
            ILogger one = sut.Get("One");
            ILogger two = sut.Get("Two");

            // Assert
            Assert.NotEqual(two,
                            one);
        }
        public void TestAOP_RealProxy_Logging_With_Decorator()
        {
            Console.WriteLine("***\r\n Begin program - logging with decorator\r\n");

            IRepository <Customer> customerRepository = new LoggerRepository <Customer>(new Repository <Customer>());
            var customer = new Customer
            {
                Id      = 1,
                Name    = "Customer 1",
                Address = "Address 1"
            };

            customerRepository.Add(customer);
            customerRepository.Update(customer);
            customerRepository.Delete(customer);
            Console.WriteLine("\r\nEnd program - logging with decorator\r\n***");
        }
        public void Get_ReturnsExistingLogger_ForExistingType([NotNull] ILogger loggerOne,
                                                              [NotNull] ILogger loggerTwo)
        {
            // Arrange
            var factory = Substitute.For <ILoggerFactory>();
            factory.Create(Arg.Any <string>()).Returns(loggerOne,
                                                       loggerTwo);
            var sut = new LoggerRepository(factory);

            ILogger expected = sut.Get("One");

            // Act
            ILogger actual = sut.Get("One");

            // Assert
            Assert.Equal(expected,
                         actual);
        }
        public eBayProductCategoryRequestor(string applicationId, string developerId, string certificateId, string userToken)
        {
            _logger = new LoggerRepository();

            var apiCredential = new ApiCredential();

            apiCredential.ApiAccount = new ApiAccount
            {
                Application = applicationId,
                Developer   = developerId,
                Certificate = certificateId
            };
            apiCredential.eBayToken = userToken;

            _context = new ApiContext();
            _context.ApiCredential    = apiCredential;
            _context.SoapApiServerUrl = "https://api.ebay.com/wsapi";
        }
예제 #24
0
        private static void SimpleMethodLogging()
        {
            Console.WriteLine("***\r\n SimpleMethodLogging Loglama program başladı \r\n");
            IRepository <Customer> customerRepository =
                new LoggerRepository <Customer>(new Repository <Customer>());
            var customer = new Customer
            {
                Id      = 1,
                Name    = "Müşteri 1",
                Address = "Adres 1"
            };

            customerRepository.Add(customer);
            customerRepository.Update(customer);
            customerRepository.Delete(customer);
            Console.WriteLine("\r\n SimpleMethodLogging Loglama program bitti \r\n***");
            Console.ReadLine();
        }
        public void IsAddingOnePunishment()
        {
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_writes_to_Add_Punishment_database")
                          .Options;

            var appDbContext = new AppDbContext(options);
            var user         = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "abcd"),
            }));

            appDbContext.UserPermissions.Add(new UserPermission
            {
                Id       = 1,
                UserName = "******",
                IdPrison = 1,
                Prison   = new Prison
                {
                    Id         = 1,
                    PrisonName = "prison_test"
                }
            });
            appDbContext.SaveChanges();
            var punishmentRepository = new PunishmentRepository(appDbContext);
            var punishmentService    = new PunishmentService(punishmentRepository);
            var loggerRepository     = new LoggerRepository(appDbContext);
            var loggerService        = new LoggerService(loggerRepository);
            var punishmentController = new PunishmentController(punishmentService, _mapper, loggerService)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext {
                        User = user
                    }
                }
            };

            punishmentController.AddPunishment(new PunishmentDTO
            {
                IdPrisoner = 0,
                IdReason   = 0,
                Lifery     = false,
                StartDate  = default,
예제 #26
0
        public void IsDeletingPass()
        {
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "database_to_delete_pass")
                          .Options;

            var appDbContext = new AppDbContext(options);

            appDbContext.UserPermissions.Add(new UserPermission
            {
                Id       = 1,
                UserName = "******",
                IdPrison = 1,
                Prison   = new Prison
                {
                    Id         = 1,
                    PrisonName = "prison_test"
                }
            });
            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "abcd"),
            }));
            var passRepository   = new PassRepository(appDbContext);
            var passService      = new PassService(passRepository);
            var loggerRepository = new LoggerRepository(appDbContext);
            var loggerService    = new LoggerService(loggerRepository);
            var passController   = new PassController(passService, _mapper, loggerService)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = new DefaultHttpContext {
                        User = user
                    }
                }
            };

            appDbContext.Passes.Add(new Pass
            {
                Id         = 1,
                StartDate  = default,
        public void IsSelectingRight()
        {
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_writes_to_select_cell_database")
                          .Options;

            var appDbContext = new AppDbContext(options);

            var loggerRepository = new LoggerRepository(appDbContext);
            var loggerService    = new LoggerService(loggerRepository);

            var cellRepository = new CellRepository(appDbContext);
            var cellService    = new CellService(cellRepository);

            var cellController = new PCellsController(
                cellService,
                _mapper,
                loggerService);

            appDbContext.Cells.Add(new Cell
            {
                Id         = 1,
                Beds       = 2,
                IdPrison   = 1,
                IdCellType = 1,
                Prison     = new Prison(),
                CellType   = new CellType(),
                Prisoner   = new List <Prisoner>()
            });
            appDbContext.SaveChanges();

            var createdCell = appDbContext.Cells.FirstOrDefault(x => x.Id == 1);

            Assert.IsTrue(appDbContext.Cells.Any(), "there is no cell");
            Assert.IsNotNull(createdCell, "cell was not created properly");
            Assert.IsNotNull(cellController.SelectedCell(1), "selected cell returns null");
            //   Assert.IsNotNull(cellController.SelectedCell(1).Value,"Selected cell ok results value is null"); //rip c#7, gonna be fixed in c#8
            //   Assert.AreEqual(_mapper.Map<CellVM>(createdCell),cellController.SelectedCell(1).Value,"Selected Cell returns wrong value");// rip c#7, gonna be fixed in c#8
        }
        public void IsSelectingRightPrisoner()
        {
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_writes_to_Select_Prisoner_database")
                          .Options;


            var appDbContext       = new AppDbContext(options);
            var prisonerRepository = new PrisonerRepository(appDbContext);
            var prisonerService    = new PrisonerService(prisonerRepository);
            var loggerRepository   = new LoggerRepository(appDbContext);
            var loggerService      = new LoggerService(loggerRepository);
            var prisonerController = new PrisonerController(prisonerService, _mapper, loggerService);


            appDbContext.Prisoners.Add(new Prisoner
            {
                Id          = 0,
                Name        = null,
                Forname     = null,
                Pesel       = null,
                Address     = null,
                Pass        = false,
                Behavior    = 0,
                Isolated    = false,
                IdCell      = 0,
                Cell        = null,
                Isolations  = null,
                Punishments = null
            });
            appDbContext.SaveChanges();

            Assert.AreEqual(appDbContext.Prisoners.Count(), 1, "prisoner has not been added");
            Assert.IsNotNull(prisonerController.SelectedPrisoner(1));

            // Assert.AreEqual(appDbContext.Prisoners.FirstOrDefault(x => x.Id == 1),prisonerController.SelectedPrisoner(1).Value);//rip c#7, gonna be fixed in c#8
        }
예제 #29
0
 public static ILog GetLogger(Type type)
 {
     return(WrapLogger(LoggerRepository.GetLogger(type.FullName)));
 }
예제 #30
0
 public static ILog GetLogger(string name)
 {
     return(WrapLogger(LoggerRepository.GetLogger(name)));
 }
예제 #31
0
 public static ILog For(string loggerName)
 {
     return(LoggerRepository.GetLogger(loggerName));
 }
예제 #32
0
 public LoggerModel(LoggerRepository repository)
 {
     _repository = repository;
 }
 public VendorProductDeleteManager(LoggerRepository logger)
 {
     _repo = new VendorProductRepository(logger);
 }
예제 #34
0
 public static void ShutdownRepository()
 {
     LoggerRepository.Shutdown();
 }
예제 #35
0
 public AmazonOrdersService()
 {
     _logger          = new LoggerRepository();
     _orderRepository = new OrderRepository();
     _emailService    = new EmailNotificationService();
 }
 public void Setup()
 {
     wrapper = Substitute.For<Log4NetWrapper>();
     sut = new LoggerRepository(wrapper);
 }
예제 #37
0
 public static void ResetConfiguration()
 {
     LoggerRepository.ResetConfiguration();
 }