コード例 #1
0
        public void StartPage_LoggedInUser()
        {
            // Arrange
            Moq.Mock <IRepository> moqRepository = new Mock <IRepository>();
            Moq.Mock <ILogger <HomeController> >             moqLogger = new Mock <ILogger <HomeController> >();
            Moq.Mock <IHttpContextAccessor>                  moqHttpContextAccessor       = new Mock <IHttpContextAccessor>();
            Moq.Mock <IOptions <ServiceRepositorySettings> > moqServiceRepositorySettings = SettingsHelper.GetMoqServiceRepositorySettings();

            Moq.Mock <IGitea> moqGiteaWrappeer = IGiteaMockHelper.GetMock();
            IGiteaMockHelper.AddSevenReposForOrg1(moqGiteaWrappeer);

            Moq.Mock <ISourceControl> moqSourceControl = GetMoqSourceControlForIndexTest();

            moqGiteaWrappeer.Setup(g => g.GetUserNameFromUI()).ReturnsAsync("Test");

            AltinnCore.Designer.Controllers.HomeController controller = new AltinnCore.Designer.Controllers.HomeController(
                moqRepository.Object,
                moqLogger.Object,
                moqServiceRepositorySettings.Object,
                moqGiteaWrappeer.Object,
                moqHttpContextAccessor.Object,
                moqSourceControl.Object)
            {
                ControllerContext = ControllerContextHelper.GetControllerContextWithValidGiteaSession("234543556")
            };

            // Act
            ActionResult result = controller.StartPage();

            // Assert
            RedirectToActionResult redirectResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Index", redirectResult.ActionName);
            Assert.Equal("Home", redirectResult.ControllerName);
        }
コード例 #2
0
        public void Login_LogInUser()
        {
            // Arrange
            Moq.Mock <ILogger <HomeController> >             moqLogger = new Mock <ILogger <HomeController> >();
            Moq.Mock <IHttpContextAccessor>                  moqHttpContextAccessor       = new Mock <IHttpContextAccessor>();
            Moq.Mock <IOptions <ServiceRepositorySettings> > moqServiceRepositorySettings = SettingsHelper.GetMoqServiceRepositorySettings();

            Moq.Mock <IGitea> moqGiteaWrappeer = IGiteaMockHelper.GetMock();
            IGiteaMockHelper.AddSevenReposForOrg1(moqGiteaWrappeer);

            Moq.Mock <ISourceControl> moqSourceControl = GetMoqSourceControlForIndexTest();

            moqGiteaWrappeer.Setup(g => g.GetUserNameFromUI()).ReturnsAsync("Test");

            moqGiteaWrappeer.Setup(g => g.GetSessionAppKey(null)).ReturnsAsync(new System.Collections.Generic.KeyValuePair <string, string>("123", "Test"));

            AltinnCore.Designer.Controllers.HomeController controller = new AltinnCore.Designer.Controllers.HomeController(
                moqLogger.Object,
                moqServiceRepositorySettings.Object,
                moqGiteaWrappeer.Object,
                moqHttpContextAccessor.Object,
                moqSourceControl.Object)
            {
                ControllerContext = ControllerContextHelper.GetControllerContextWithValidGiteaSession("234543556", true)
            };

            // Act
            Task <IActionResult> result = controller.Login();

            // Assert
            LocalRedirectResult redirectResult = Assert.IsType <LocalRedirectResult>(result.Result);

            Assert.Equal("/", redirectResult.Url);
        }
コード例 #3
0
        public void StartPage_NotLoggedInUser()
        {
            // Arrange
            Moq.Mock <IRepository> moqRepository = new Mock <IRepository>();
            Moq.Mock <ILogger <HomeController> >             moqLogger = new Mock <ILogger <HomeController> >();
            Moq.Mock <IHttpContextAccessor>                  moqHttpContextAccessor       = new Mock <IHttpContextAccessor>();
            Moq.Mock <IOptions <ServiceRepositorySettings> > moqServiceRepositorySettings = SettingsHelper.GetMoqServiceRepositorySettings();

            Moq.Mock <IGitea> moqGiteaWrappeer = IGiteaMockHelper.GetMock();
            IGiteaMockHelper.AddSevenReposForOrg1(moqGiteaWrappeer);

            Moq.Mock <ISourceControl> moqSourceControl = GetMoqSourceControlForIndexTest();

            AltinnCore.Designer.Controllers.HomeController controller = new AltinnCore.Designer.Controllers.HomeController(moqRepository.Object, moqLogger.Object, moqServiceRepositorySettings.Object, moqGiteaWrappeer.Object, moqHttpContextAccessor.Object, moqSourceControl.Object)
            {
                ControllerContext = ControllerContextHelper.GetControllerContextWithValidGiteaSession("234543556")
            };

            // Act
            ActionResult result = controller.StartPage();

            // Assert
            ViewResult viewResult = Assert.IsType <ViewResult>(result);

            Assert.Equal("StartPage", viewResult.ViewName);
        }
コード例 #4
0
        public void Index_goes_to_Index_page_when_unacknowledged_notifications_have_been_skipped()
        {
            // Given
            A.CallTo(() => systemNotificationsDataService.GetUnacknowledgedSystemNotifications(A <int> ._))
            .Returns(new List <SystemNotification> {
                SystemNotificationTestHelper.GetDefaultSystemNotification()
            });
            A.CallTo(() => httpRequest.Cookies).Returns(
                ControllerContextHelper.SetUpFakeRequestCookieCollection(SystemNotificationCookieHelper.CookieName, "7")
                );
            A.CallTo(() => dashboardInformationService.GetDashboardInformationForCentre(A <int> ._, A <int> ._)).Returns(
                new CentreDashboardInformation(
                    CentreTestHelper.GetDefaultCentre(),
                    UserTestHelper.GetDefaultAdminUser(),
                    1,
                    1,
                    1,
                    1,
                    1
                    )
                );

            // When
            var result = dashboardController.Index();

            // Then
            result.Should().BeViewResult().WithDefaultViewName();
        }
コード例 #5
0
        public void Login_LogOutUser()
        {
            // Arrange
            Moq.Mock <ILogger <HomeController> >             moqLogger = new Mock <ILogger <HomeController> >();
            Moq.Mock <IHttpContextAccessor>                  moqHttpContextAccessor       = new Mock <IHttpContextAccessor>();
            Moq.Mock <IOptions <ServiceRepositorySettings> > moqServiceRepositorySettings = SettingsHelper.GetMoqServiceRepositorySettings();

            Moq.Mock <IGitea> moqGiteaWrapper = IGiteaMockHelper.GetMock();
            IGiteaMockHelper.AddSevenReposForOrg1(moqGiteaWrapper);

            Moq.Mock <ISourceControl> moqSourceControl = GetMoqSourceControlForIndexTest();

            User user = new User();

            user.Login = "******";
            moqGiteaWrapper.Setup(g => g.GetCurrentUser()).ReturnsAsync(user);

            AltinnCore.Designer.Controllers.HomeController controller = new AltinnCore.Designer.Controllers.HomeController(
                moqLogger.Object,
                moqServiceRepositorySettings.Object,
                moqGiteaWrapper.Object,
                moqHttpContextAccessor.Object,
                moqSourceControl.Object)
            {
                ControllerContext = ControllerContextHelper.GetControllerContextWithValidGiteaSession("234543556", true)
            };

            // Act
            Task <IActionResult> result = controller.Logout();

            // Assert
            LocalRedirectResult redirectResult = Assert.IsType <LocalRedirectResult>(result.Result);

            Assert.Equal("/repos/user/logout", redirectResult.Url);
        }
コード例 #6
0
        public override void ExecuteResult(ControllerContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            string url = UrlHelper.GenerateContentUrl(Url, context.HttpContext);

            ControllerContextHelper.AjaxRedirect(context, url);
        }
コード例 #7
0
        public async Task <IActionResult> GetSubscribedShowsAsync()
        {
            var userId = ControllerContextHelper.GetCurrentUserID(HttpContext);

            if (string.IsNullOrWhiteSpace(userId))
            {
                return(NotFound());
            }
            await _subService.InitializeService();

            return(Ok(await _subService.GetSubscribedShows(userId)));
        }
コード例 #8
0
        public async Task <IActionResult> SubscribeToShowAsync(string id)
        {
            var userId = ControllerContextHelper.GetCurrentUserID(HttpContext);

            if (string.IsNullOrWhiteSpace(id) || string.IsNullOrWhiteSpace(userId))
            {
                return(NotFound(new SubscribeToShowResponse(userId, id, false)));
            }
            var showSubscription = await GetShowSubscription(id);

            await _subService.InitializeService();

            return(Ok(new SubscribeToShowResponse(userId, id, await _subService.SubscribeToShow(showSubscription, userId))));
        }
コード例 #9
0
        public void Index_deletes_cookie_if_one_exists_for_user_and_no_unacknowledged_notifications_exist()
        {
            // Given
            A.CallTo(() => httpRequest.Cookies).Returns(
                ControllerContextHelper.SetUpFakeRequestCookieCollection(SystemNotificationCookieHelper.CookieName, "7")
                );
            A.CallTo(() => systemNotificationsDataService.GetUnacknowledgedSystemNotifications(A <int> ._))
            .Returns(new List <SystemNotification>());

            // When
            controller.Index();

            // Then
            A.CallTo(() => httpResponse.Cookies.Delete(SystemNotificationCookieHelper.CookieName)).MustHaveHappened();
        }
        public void HasSkippedNotificationsCookie_is_false_when_cookie_exists_with_non_matching_ID()
        {
            // Given
            const int adminId = 42;
            var       cookies = ControllerContextHelper.SetUpFakeRequestCookieCollection(
                SystemNotificationCookieHelper.CookieName,
                "1"
                );

            // When
            var result = cookies.HasSkippedNotificationsCookie(adminId);

            // Then
            result.Should().BeFalse();
        }
コード例 #11
0
        public override void ExecuteResult(ControllerContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            var helper = new UrlHelper(context.RequestContext);
            var url    = helper.RouteUrl(RouteName, RouteValues);

            if (String.IsNullOrEmpty(url))
            {
                base.ExecuteResult(context);
                return;
            }

            ControllerContextHelper.AjaxRedirect(context, url);
        }
コード例 #12
0
        public void Current_LoggedInUser()
        {
            // Arrange
            Moq.Mock <IGitea> moqGitea = IGiteaMockHelper.GetMock();
            IGiteaMockHelper.GetCurrentUser_ReturnsOne(moqGitea);

            Moq.Mock <IOptions <ServiceRepositorySettings> > moqServiceRepositorySettings = SettingsHelper.GetMoqServiceRepositorySettings();

            AltinnCore.Designer.Controllers.UserController controller = new AltinnCore.Designer.Controllers.UserController(moqGitea.Object, moqServiceRepositorySettings.Object)
            {
                ControllerContext = ControllerContextHelper.GetControllerContextWithValidGiteaSession("234543556")
            };
            RepositorySearch repositorySearch = new RepositorySearch();

            // Act
            User result = controller.Current();

            // Assert
            Assert.NotNull(result);
        }
コード例 #13
0
        public void Organization_GetOrg_Valid()
        {
            // Arrange
            Moq.Mock <IGitea> moqGitea = IGiteaMockHelper.GetMock();
            IGiteaMockHelper.AddOneOrg(moqGitea);
            Moq.Mock <ISourceControl> moqSourceControl = SourceControlMockHelper.GetMock();

            Moq.Mock <IOptions <ServiceRepositorySettings> > moqServiceRepositorySettings = SettingsHelper.GetMoqServiceRepositorySettings();
            Moq.Mock <IRepository>          moqRepository          = new Mock <IRepository>();
            Moq.Mock <IHttpContextAccessor> moqHttpContextAccessor = new Mock <IHttpContextAccessor>();

            AltinnCore.Designer.Controllers.RepositoryController controller = new AltinnCore.Designer.Controllers.RepositoryController(moqGitea.Object, moqServiceRepositorySettings.Object, moqSourceControl.Object, moqRepository.Object, moqHttpContextAccessor.Object)
            {
                ControllerContext = ControllerContextHelper.GetControllerContextWithValidGiteaSession("234543556", false)
            };
            RepositorySearch repositorySearch = new RepositorySearch();

            // Act
            ActionResult <Organization> result = controller.Organization("MockOrg");

            // Assert
            Assert.NotNull(result.Value);
        }
コード例 #14
0
 private ControllerContext DefaultControllerContext()
 {
     return ControllerContextHelper.GetContext();
 }