private async Task InitializeQueue() { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**" }; await app.UserManager.CreateAsync(user, "UserTest@123"); await app.SetUser(user); var testSession = new Session(user.Id, DateTime.UtcNow, DateTime.UtcNow, SessionStatus.FINISHED); testSession.SessionID = 1; var testPhoto = new Photo(testSession.SessionID, new byte[] { 0x20, 0x20, 0x20 }, DateTime.UtcNow); testPhoto.PhotoID = 2; photoRepository = repository.Of <IPhotoRepository>() .Where(pr => pr.GetPhotoById(It.IsAny <int>()) == testPhoto) .First(); recognitionResultsRepository = new RecognitionResultsMock(); for (int i = 0; i < 5; i++) { RecognitionTask recognitionTask = new RecognitionTask("model1", 2); queue.Enqueue(recognitionTask); } }
private async Task TestGetPhoto() { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**" }; await app.UserManager.CreateAsync(user, "UserTest@123"); await app.SetUser(user); ISessionRepository sessionRepository; IPhotoRepository photoRepository; IRecognitionResultsRepository recognitionResultsRepository; InstantiateRepositories(user, out sessionRepository, out photoRepository, out recognitionResultsRepository); PhotoController controller = CreateController(sessionRepository, photoRepository); var result = (await controller.GetPhoto(app.UserManager, photoRepository, sessionRepository, recognitionResultsRepository) as OkObjectResult).Value; var resultPhoto = result.GetType().GetProperty("photo").GetValue(result) as string; var recognitionResults = getRecognitionResultsFromJsonResults(result, photoId); Assert.Equal(resultPhoto, Convert.ToBase64String(image)); Assert.Equal(testResults, recognitionResults); }
public async void GetRecognitionResultsTest(bool recognitionResultsArePresent) { var user = new ApplicationUser { UserName = recognitionResultsArePresent ? "UserTest" : "UserTest2", Email = "*****@*****.**" }; await app.UserManager.CreateAsync(user, "UserTest@123"); await app.SetUser(user); DateTime timeStamp = new DateTime(); var image = new byte[] { 0x20, 0x20, 0x20 }; var sessionId = 1; var photoId = 2; var userId = user.Id; Points coords = new Points(new Point(0, 1), new Point(2, 3)); bool testIsValid = true; RecognitionResults testRecognitionResults = recognitionResultsArePresent ? new RecognitionResults(testIsValid, coords, photoId) : null; Session testSession = new Session(userId, timeStamp, timeStamp, SessionStatus.ACTIVE); testSession.SessionID = sessionId; Photo testPhoto = new Photo(testSession.SessionID, image, timeStamp); testPhoto.PhotoID = photoId; var repository = new MockRepository(MockBehavior.Default); IRecognitionResultsRepository recognitionResultsRepository = repository.Of <IRecognitionResultsRepository>() .Where(rr => rr.GetRecognitionResultsByPhotoId(It.IsAny <int>()) == testRecognitionResults) .First(); PhotoController photoController = CreateController(testSession, testPhoto); var result = (await photoController.GetRecognitionResults( app.UserManager, recognitionResultsRepository) as OkObjectResult).Value; RecognitionResults requestRecognitionResults = getRecognitionResultsFromJsonResult(result, photoId); if (recognitionResultsArePresent) { Assert.Equal(testRecognitionResults, requestRecognitionResults); } else { Assert.Null(requestRecognitionResults); } }
public async Task TestGetUserName() { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**" }; await app.UserManager.CreateAsync(user, "UserTest@123"); await app.SetUser(user); UserController controller = CreateController(); var result = (await controller.GetUserName() as OkObjectResult).Value; // result has anonymous type so we can only use reflection to get value string name = result.GetType().GetProperty("userName").GetValue(result) as string; Assert.Equal(user.UserName, name); }
public async void GetSessionId() { //Arrange var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**" }; await app.UserManager.CreateAsync(user, "UserTest@123"); await app.SetUser(user); var testSession = new Session(user.Id, DateTime.UtcNow, DateTime.UtcNow, SessionStatus.FINISHED); testSession.SessionID = 1; var testPhoto = new Photo(testSession.SessionID, new byte[] { 0x20, 0x20, 0x20 }, DateTime.UtcNow); testPhoto.PhotoID = 2; IImageDecryptor decryptor = Mock.Of <IImageDecryptor>( id => id.Decrypt(It.IsAny <byte[]>()) == testPhoto.Image); RecognitionTaskQueue taskQueue = new RecognitionTaskQueue(new LoggerFactory()); //Act PhotoController controller = CreateController(testSession, testPhoto); var result = (controller.UploadPhotoAndStartSession( new PhotoRequest("MQ==", DateTime.UtcNow), app.UserManager, new SessionTracker(new LoggerFactory(), sessionRepository, conf, new SessionValidator(new LoggerFactory())), decryptor, taskQueue, conf, null) as OkObjectResult).Value; var resultValue = result.GetType().GetProperty("SessionId").GetValue(result) as string; //Assert Assert.Equal <int>(0, Convert.ToInt32(resultValue)); }