コード例 #1
0
        public virtual void SetupTest()
        {
            moqHttpContext    = new Mock <HttpContextBase>();
            moqRequest        = new Mock <HttpRequestBase>();
            moqResponse       = new Mock <HttpResponseBase>();
            moqSession        = new Mock <HttpSessionStateBase>();
            moqServer         = new Mock <HttpServerUtilityBase>();
            moqUrlHelper      = new Mock <UrlHelper>();
            moqRequestContext = new Mock <RequestContext>();

            moqRequestContext.Setup(x => x.HttpContext).Returns(moqHttpContext.Object);

            moqHttpContext.Setup(x => x.Request).Returns(moqRequest.Object);
            moqHttpContext.Setup(x => x.Response).Returns(moqResponse.Object);
            moqHttpContext.Setup(x => x.Session).Returns(moqSession.Object);
            moqHttpContext.Setup(x => x.Server).Returns(moqServer.Object);

            moqRequest.Setup(x => x.Url).Returns(new Uri("http://localhost"));
            moqRequest.Setup(x => x.RequestContext).Returns(moqRequestContext.Object);
            moqRequest.Setup(x => x.ServerVariables).Returns(new NameValueCollection
            {
                { "SERVER_NAME", "localhost" },
                { "SCRIPT_NAME", "localhost" },
                { "SERVER_PORT", "80" },
                { "REMOTE_ADDR", "127.0.0.1" },
                { "REMOTE_HOST", "127.0.0.1" }
            });
            moqRequest.Setup(x => x.QueryString).Returns(new NameValueCollection());
            moqRequest.Setup(x => x.Headers).Returns(new NameValueCollection());

            moqResponse.Setup(x => x.Cookies).Returns(new HttpCookieCollection());

            HttpContextManager.SetCurrentContext(moqHttpContext.Object);
        }
コード例 #2
0
ファイル: GameControllerTests.cs プロジェクト: DenDolOrg/Game
        public async Task CreateNewgameTest()
        {
            //Arrange
            var user_good = new UserDTO {
                UserName = ControllerDataToUse.UserDTO.UserName
            };
            var user_bad = new UserDTO {
                UserName = "******"
            };

            mockGameService = new MockGameService()
                              .MockCreateGame();
            mockUserService = new MockUserService()
                              .MockGetUser();

            //Act
            var gameController = new GameController(mockUserService.Object, mockGameService.Object);

            HttpContextManager.SetCurrentContext(new MockHttpContext(user_good.UserName).CustomHttpContextBase);
            var result_good = await gameController.CreateNewGame(new NewGameModel { FirstColor = "black" });

            HttpContextManager.SetCurrentContext(new MockHttpContext(user_bad.UserName).CustomHttpContextBase);

            //Assert
            Assert.IsNotNull(result_good, "Can't create game for valid username.");
            await Assert.ThrowsExceptionAsync <HttpException>(async() => await gameController.CreateNewGame(new NewGameModel {
                FirstColor = "black"
            }), "Can create game for invalid username.");
        }
コード例 #3
0
ファイル: GameControllerTests.cs プロジェクト: DenDolOrg/Game
        public async Task GetUserGamesTest()
        {
            //Arrange
            var good_user = new UserDTO {
                UserName = ControllerDataToUse.UserDTO.UserName
            };
            var bad_user = new UserDTO {
                UserName = "******"
            };

            mockGameService = new MockGameService()
                              .MockGetUserGames();

            //Act
            var gameController = new GameController(null, mockGameService.Object);

            HttpContextManager.SetCurrentContext(new MockHttpContext(good_user.UserName).CustomHttpContextBase);
            var goodGamesRes = await gameController.GetUserGames();

            HttpContextManager.SetCurrentContext(new MockHttpContext(bad_user.UserName).CustomHttpContextBase);
            var badGamesRes = await gameController.GetUserGames();

            //Assert
            Assert.AreEqual(Json.Encode(new List <GameDTO> {
                ControllerDataToUse.GameDTO
            }), Json.Encode(goodGamesRes.Data), "Are not equal good games");
            Assert.IsNull(badGamesRes, "Not null games for user with bad bad username");
        }
コード例 #4
0
ファイル: GameControllerTests.cs プロジェクト: DenDolOrg/Game
        public async Task GetAvailableGamesTest()
        {
            //Arrange

            mockGameService = new MockGameService()
                              .MockGetAvailableGames();

            var good_user1 = new UserDTO {
                UserName = ControllerDataToUse.UserDTO.UserName
            };
            var bad_user = new UserDTO {
                UserName = "******"
            };

            //Act
            var gameController = new GameController(null, mockGameService.Object);

            HttpContextManager.SetCurrentContext(new MockHttpContext(good_user1.UserName).CustomHttpContextBase);
            var result1 = await gameController.GetAvailableGames();

            HttpContextManager.SetCurrentContext(new MockHttpContext(bad_user.UserName).CustomHttpContextBase);
            var result_bad = await gameController.GetAvailableGames();

            List <GameDTO> resList_1 = Json.Decode <List <GameDTO> >(Json.Encode(result1.Data));

            //Assert
            Assert.AreEqual(resList_1.Count, 1, "Bad number of available games for user");
            Assert.IsNull(result_bad, "List of games for user with bad username is ot empty");
        }
コード例 #5
0
        public void TestIndex()
        {
            HttpContextManager.SetCurrentContext(GetMockedHttpContext());
            var controllerContext = new Mock <ControllerContext>();
            var principal         = new Mock <IPrincipal>();
            var baseController    = new Mock <BaseController>();

            principal.Setup(p => p.IsInRole("Administrator")).Returns(true);
            principal.Setup(p => p.Identity.IsAuthenticated).Returns(true);
            principal.SetupGet(x => x.Identity.Name).Returns("userName");
            controllerContext.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);
            controllerContext.SetupGet(x => x.HttpContext.User).Returns(principal.Object);


            var test = Fixture.Build <RegisterBenutzerViewModel>().WithAutoProperties().Create();
            var mockBenutzerViewModelService = new Mock <IBenutzerViewModelService>();

            mockBenutzerViewModelService.Setup(x => x.CreateNewRegisterBenutzerViewModel()).Returns(test);



            HomeController homecontroller = new HomeController(mockBenutzerViewModelService.Object);

            homecontroller.ControllerContext = controllerContext.Object;

            //Act
            var result = homecontroller.Index() as ViewResult;

            //Assert
            Assert.AreEqual(result.ViewName, "Index");
        }
コード例 #6
0
        public void Init()
        {
            //set mocks
            HttpContextManager.SetCurrentContext(GetMockedHttpContext());

            //set twitter credentials
            // If you do not already have a BearerToken, use the TRUE parameter to automatically generate it.
            // Note that this will result in a WebRequest to be performed and you will therefore need to make this code safe
            var appCreds = Auth.SetApplicationOnlyCredentials("MvQXCZIKKondIuS8FHuRWVlgJ", "S2k8jrBuZOGbM3mxogZgpJyuoQRZuZZUDRHT6jcZHkObVry5Bm", true);
        }
コード例 #7
0
        public async Task IndexTest()
        {
            //Arrange
            UserDTO guest_1 = new UserDTO {
                UserName = "******", Name = "somename", Surname = "someSurname"
            };
            UserDTO guest_2 = new UserDTO();

            string fullName = ControllerDataToUse.UserDTO.Name + " " + ControllerDataToUse.UserDTO.Surname;

            var mockUserService = new MockUserService()
                                  .MockGetUser();


            //Act_1
            HomeController homeController = new HomeController(mockUserService.Object);

            HttpContextManager.SetCurrentContext(new MockHttpContext(ControllerDataToUse.UserDTO.UserName).CustomHttpContextBase);
            ActionResult goodResult = await homeController.Index();

            //Assert_1
            Assert.AreEqual(fullName, HttpContextManager.Current.Session["FullName"], "Bad user full name inside Session");

            //Act_2
            HttpContextManager.SetCurrentContext(new MockHttpContext(guest_1.UserName).CustomHttpContextBase);
            ActionResult guest1Result = await homeController.Index();

            //Assert_2
            Assert.ThrowsException <KeyNotFoundException>(() => HttpContextManager.Current.Session["FullName"], "Exist full name in session for guest with name");

            //Act_3

            HttpContextManager.SetCurrentContext(new MockHttpContext(guest_2.UserName).CustomHttpContextBase);
            HttpContextManager.Current.Session["FullName"] = fullName;
            ActionResult logoutResult = await homeController.Index();

            //Assert_3
            Assert.ThrowsException <KeyNotFoundException>(() => HttpContextManager.Current.Session["FullName"], "Exist full name in session for guest who loged out");

            //Act_4
            HttpContextManager.SetCurrentContext(new MockHttpContext(guest_2.UserName).CustomHttpContextBase);
            ActionResult guest2Result = await homeController.Index();

            //Assert_4
            Assert.ThrowsException <KeyNotFoundException>(() => HttpContextManager.Current.Session["FullName"], "Exist full name in session for new guest");

            //Assert_final
            Assert.IsNotNull(goodResult, "Do not return View for user.");
            Assert.IsNotNull(guest1Result, "Do not return View for guest with name.");
            Assert.IsNotNull(guest2Result, "Do not return View for new guest.");
        }
コード例 #8
0
ファイル: GameControllerTests.cs プロジェクト: DenDolOrg/Game
        public async Task EnterGameTest()
        {
            //Arrange
            var game_good = ControllerDataToUse.GameDTO;
            var game_bad  = new GameDTO {
                Id = 123
            };

            UserDTO user_good;
            var     user_bad = new UserDTO {
                UserName = "******"
            };

            mockGameService = new MockGameService()
                              .MockGetFiguresOnTable()
                              .MockGetGame()
                              .MockJoinGame();

            //mockUserService = new MockUserService()
            //    .MockGetUser();

            //Act
            var gameController = new GameController(null, mockGameService.Object);

            HttpContextManager.SetCurrentContext(new MockHttpContext(user_bad.UserName).CustomHttpContextBase);

            //Assert
            await Assert.ThrowsExceptionAsync <HttpException>(async() => await gameController.EnterGame(game_good.Id), "User with invalid username can join game with valid id.");

            //Act
            ControllerDataToUse.UserDTO.UserName = "******";
            ControllerDataToUse.UserDTO.Id       = 2;
            user_good = ControllerDataToUse.UserDTO;
            HttpContextManager.SetCurrentContext(new MockHttpContext(user_good.UserName).CustomHttpContextBase);
            var result_1_good = await gameController.EnterGame(game_good.Id);

            ControllerDataToUse.UserDTO.UserName = "******";
            ControllerDataToUse.UserDTO.Id       = 3;
            user_good = ControllerDataToUse.UserDTO;

            HttpContextManager.SetCurrentContext(new MockHttpContext(user_good.UserName).CustomHttpContextBase);
            //Assert
            await Assert.ThrowsExceptionAsync <HttpException>(async() => await gameController.EnterGame(game_bad.Id), "Valid user can join game with invalid id.");

            await Assert.ThrowsExceptionAsync <HttpException>(async() => await gameController.EnterGame(game_good.Id), "3 user can join game with valid id.");

            Assert.IsInstanceOfType(result_1_good, typeof(ViewResult), "Valid user can't join game with valid id.");
        }
コード例 #9
0
ファイル: GameControllerTests.cs プロジェクト: DenDolOrg/Game
        public async Task ChangeFieldTest()
        {
            //Arrange
            var step_good_1 = new StepModel
            {
                FigureId          = ControllerDataToUse.FigureDTO.Id.ToString(),
                CoordsToMove      = "2,3",
                GameId            = ControllerDataToUse.GameDTO.Id.ToString(),
                FigureIdsToDelete = null
            };

            var step_good_2 = new StepModel
            {
                FigureId          = ControllerDataToUse.FigureDTO.Id.ToString(),
                CoordsToMove      = "2,3",
                GameId            = ControllerDataToUse.GameDTO.Id.ToString(),
                FigureIdsToDelete = ControllerDataToUse.FigureDTO.Id.ToString()
            };

            var step_bad_1 = new StepModel
            {
                FigureId          = "123",
                CoordsToMove      = "2,3",
                GameId            = ControllerDataToUse.GameDTO.Id.ToString(),
                FigureIdsToDelete = null
            };

            var step_bad_2 = new StepModel
            {
                FigureId          = ControllerDataToUse.FigureDTO.Id.ToString(),
                CoordsToMove      = "2,3",
                GameId            = "123",
                FigureIdsToDelete = null
            };
            var step_bad_3 = new StepModel
            {
                FigureId          = ControllerDataToUse.FigureDTO.Id.ToString(),
                CoordsToMove      = "2,3",
                GameId            = ControllerDataToUse.GameDTO.Id.ToString(),
                FigureIdsToDelete = "123"
            };

            mockGameService = new MockGameService()
                              .MockChangeFigurePos()
                              .MockChangeTurnPriority()
                              .MockDeleteFigure();

            mockUserService = new MockUserService()
                              .MockGetUser();

            HttpContextManager.SetCurrentContext(new MockHttpContext(ControllerDataToUse.UserDTO.UserName).CustomHttpContextBase);
            //Act
            var gameController = new GameController(mockUserService.Object, mockGameService.Object);

            await gameController.ChangeField(step_good_1);

            await gameController.ChangeField(step_good_2);

            await Assert.ThrowsExceptionAsync <HttpException>(async() => await gameController.ChangeField(step_bad_1), "Can make changes for invalid figure id");

            await Assert.ThrowsExceptionAsync <HttpException>(async() => await gameController.ChangeField(step_bad_2), "Can make changes for invalid game id");

            await Assert.ThrowsExceptionAsync <HttpException>(async() => await gameController.ChangeField(step_bad_3), "Can make changes for invalid figure to delete id");
        }