Ejemplo n.º 1
0
    // Use this for initialization
    void Start()
    {
        supportController = GameObject.FindObjectOfType <SupportController>();

        Debug.Log(missionAssignmentDropdowns.Length);
        UpdateDropdownOptions();
    }
Ejemplo n.º 2
0
 public static IMapper GetMapper(this SupportController account)
 {
     return((new MapperConfiguration(cfg =>
     {
         cfg.CreateMap <SendMailDTO, SendMailViewModel>();
         cfg.CreateMap <SendMailViewModel, SendMailDTO>();
     })).CreateMapper());
 }
Ejemplo n.º 3
0
        public void User_Can_Enter_New_Password()
        {
            User_Can_Reset_Password();
            // must requery here to get UserEntity with associate restriction.
            var user = new LinqMetaData().User.FirstOrDefault(x => x.Username == TestData.OrgAdminUsername);

            Assert.IsNotNull(user);
            Thread.Sleep(5000); // wait for exchange to deliver the e-mail

            // check the inbox for the e-mail
            var imap     = SupportController.EnsureConnection(user);
            var msgCount = imap.SelectMailbox("INBOX").NumMsg;

            Assert.IsTrue(msgCount > 0);

            var msgs =
                imap.Search(SearchCondition.Deleted().Not()).Select(
                    x =>
                    imap.GetMessage(x, true, true,
                                    new[] { "date", "subject", "from", "content-type", "to", "cc", "message-id" }));
            var message =
                msgs.Where(x => x.Subject.Contains(ControllerRes.Account.Email_SubjectPasswordReset)).
                OrderByDescending(x => x.Date).FirstOrDefault();

            Assert.IsNotNull(message);

            message = imap.GetMessage(message.Uid, false, false);
            // make sure the link matches the current test user in the database
            var match = Regex.Match(message.Body, "ResetKey=(([a-zA-Z0-9]{2})+)", RegexOptions.IgnoreCase);

            Assert.IsTrue(match.Success);

            var restriction =
                user.UserAccountRestrictions.Select(x => x.AccountRestriction).SingleOrDefault(
                    x => x.RestrictionKey == match.Groups[1].Value);

            Assert.IsNotNull(restriction);

            // make sure key is unique
            restriction = new LinqMetaData().AccountRestriction.SingleOrDefault(x => x.RestrictionKey == match.Groups[1].Value);
            Assert.IsNotNull(restriction);

            // submit a new password
            var controller = Mock();

            controller.Invoke(x => x.ResetCompletion(new ResetCompletionModel
            {
                UserName        = user.Username,
                OriginalEmail   = user.EmailAddress,
                Password        = "******",
                ConfirmPassword = "******",
                ResetKey        = match.Groups[1].Value,
                Step            = 2
            }));
            Assert.AreEqual("/Account/ResetCompletionSuccess", controller.Response.RedirectLocation);
        }
Ejemplo n.º 4
0
    // Use this for initialization
    void Start()
    {
        supportController = GameObject.FindObjectOfType <SupportController>();
        allSupports       = supportController.GetAllSupports();


        ResetLoadingBarUI();

        UpdateMissionData();

        UpdateMissionUI();
    }
        public void User_Creation_Sends_Email()
        {
            // create a user to use during the test
            Create_Edit_User(TestData.ServiceAdminUsername, true);

            var user     = TestData.ServiceAdminUser;
            var testUser = new LinqMetaData().User.FirstOrDefault(x => x.FirstName == TestValues["FirstName"]);

            Assert.IsNotNull(testUser);
            Thread.Sleep(5000); // wait for exchange to deliver the e-mail

            // check the inbox for the e-mail
            var imap     = SupportController.EnsureConnection(user);
            var msgCount = imap.SelectMailbox("INBOX").NumMsg;

            Assert.IsTrue(msgCount > 0);

            var msgs =
                imap.Search(SearchCondition.Deleted().Not()).Select(
                    x =>
                    imap.GetMessage(x, true, true,
                                    new[] { "date", "subject", "from", "content-type", "to", "cc", "message-id" }));
            var message =
                msgs.Where(x => x.Subject.Contains(ControllerRes.Account.Email_SubjectUserRegistration)).
                OrderByDescending(x => x.Date).FirstOrDefault();

            Assert.IsNotNull(message);

            message = imap.GetMessage(message.Uid, false, false);
            // make sure the link matches the current test user in the database
            var match = Regex.Match(message.Body, "RegistrationKey=(([a-zA-Z0-9]{2})+)");

            Assert.IsTrue(match.Success);

            var restriction =
                testUser.UserAccountRestrictions.Select(x => x.AccountRestriction).SingleOrDefault(
                    x => x.RestrictionKey == match.Groups[1].Value);

            Assert.IsNotNull(restriction);

            // make sure key is unique
            restriction = new LinqMetaData().AccountRestriction.Single(x => x.RestrictionKey == match.Groups[1].Value);
            Assert.IsNotNull(restriction);

            var ars = testUser.UserAccountRestrictions.Select(y => y.AccountRestriction).ToList();

            testUser.UserAccountRestrictions.DeleteMulti();
            ars.ForEach(y => y.Delete());
            // finally delete the test user
            testUser.Delete();
        }
        public SupportControllerFixture()
        {
            _emailSender     = new Mock <IEmailSender>();
            _storyRepository = new Mock <IStoryRepository>();
            _userRepository  = new Mock <IUserRepository>();

            _controller = new SupportController(_storyRepository.Object, _emailSender.Object)
            {
                Settings       = settings.Object,
                UserRepository = _userRepository.Object
            };

            _httpContext = _controller.MockHttpContext("/Kigg", null, null);
            _httpContext.HttpRequest.ExpectGet(r => r.UserHostAddress).Returns("192.168.0.1");
        }
Ejemplo n.º 7
0
        private void CheckMailboxes()
        {
            foreach (
                var user in
                new LinqMetaData().User.Where(x => x.IsActive && x.Settings.Any(y => y.Name == "SupportUser")))
            {
                using (var imap = SupportController.EnsureConnection(user))
                {
                    var msgCount = imap.SelectMailbox("INBOX").NumMsg;
                    if (msgCount > 0)
                    {
                        SupportController.UpdateInboxCount(imap, user);
                    }
                }
            }

            SupportController.Update();
        }
Ejemplo n.º 8
0
        public SupportControllerFixture()
        {
            _emailSender              = new Mock <IEmailSender>();
            _storyRepository          = new Mock <IStoryRepository>();
            _userRepository           = new Mock <IUserRepository>();
            _upcommingEventRepository = new Mock <ICommingEventRepository>();

            _controller = new SupportController(_storyRepository.Object, _emailSender.Object, _upcommingEventRepository.Object)
            {
                Settings        = settings.Object,
                UserRepository  = _userRepository.Object,
                StoryRepository = _storyRepository.Object
            };

            _storyRepository.Setup(x => x.CountByUpcoming()).Returns(0);

            _httpContext = _controller.MockHttpContext("/Kigg", null, null);
            _httpContext.HttpRequest.SetupGet(r => r.UserHostAddress).Returns("192.168.0.1");
        }
Ejemplo n.º 9
0
        public void Service_Administrator_Can_Assign_Any_Role()
        {
            // create a test user
            Create_Edit_User(TestData.ServiceAdminUsername, true);

            var user     = TestData.ServiceAdminUser;
            var testUser = new LinqMetaData().User.FirstOrDefault(x => x.FirstName == TestValues["FirstName"]);
            var profile  = new UserSettingEntity(user.UserId, "SupportUser")
            {
                UserId = user.UserId, Name = "SupportUser"
            };

            Assert.IsFalse(profile.IsNew);
            Assert.IsNotNull(testUser);
            Thread.Sleep(5000); // wait for exchange to deliver the e-mail

            // check the inbox for the e-mail
            var imap     = SupportController.EnsureConnection(user);
            var msgCount = imap.SelectMailbox("INBOX").NumMsg;

            Assert.IsTrue(msgCount > 0);

            var msgs =
                imap.Search(SearchCondition.Deleted().Not()).Select(
                    x =>
                    imap.GetMessage(x, true, true,
                                    new[] { "date", "subject", "from", "content-type", "to", "cc", "message-id" }));
            var message =
                msgs.Where(x => x.Subject.Contains(ControllerRes.Account.Email_SubjectUserRegistration)).
                OrderByDescending(x => x.Date).FirstOrDefault();

            Assert.IsNotNull(message);

            message = imap.GetMessage(message.Uid, false, false);
            // make sure the link matches the current test user in the database
            var match = Regex.Match(message.Body, "RegistrationKey=([a-zA-Z0-9]*)");

            Assert.IsTrue(match.Success);

            // register the test user
            var controller = Mock <AccountController>();
            var request    = controller.Mock(x => x.ControllerContext.HttpContext.Request);

            request.Setup(x => x.HttpMethod).Returns("POST");

            // mock global forms authentication
            var mockformsAuthenticationService = new Mock <Global.FormsAuthenticationService>();

            mockformsAuthenticationService.Setup(
                service => service.SetAuthCookie(It.IsAny <string>(), It.IsAny <bool>())).Callback <string, bool>(
                (s, b) => new RolePrincipal(new GenericIdentity(s)));
            mockformsAuthenticationService.Setup(x => x.SignOut()).Callback(() => { });
            Global.FormsAuthentication = mockformsAuthenticationService.Object;

            // submit test values
            request.SetupGet(x => x.Form).Returns(() => new NameValueCollection
            {
                { "UserName", TestValues["FirstName"] },
                { "Email", profile.Value + '@' + SupportController.DOMAIN },
                { "Password", "Th1s|sAV4lidPa$$w0rd" },
                { "ConfirmPassword", "Th1s|sAV4lidPa$$w0rd" },
                { "Pin", "1234" },
                { "OriginalEmail", profile.Value + '@' + SupportController.DOMAIN },
                { "RegistrationKey", match.Groups[1].Value }
            });
            controller.Invoke("Register");
            testUser = new LinqMetaData().User.FirstOrDefault(x => x.Username == TestValues["FirstName"]);
            Assert.IsNotNull(testUser);

            // change the role
            var userController = Mock();

            userController.HttpContext.User = new RolePrincipal(new GenericIdentity(TestData.ServiceAdminUsername));
            request = userController.Mock(x => x.ControllerContext.HttpContext.Request);
            request.Setup(x => x.HttpMethod).Returns("POST");

            // set the userId
            userController.RouteData.Values.Add("userId", testUser.UserId);
            TestValues["Role"] = OrganizationUtils.GetAllowedRoles(testUser.OrganizationId)
                                 .First(x => !testUser.Roles.Any(y => y.RoleId == x.RoleId)).RoleId.ToString(CultureInfo.InvariantCulture);
            request.SetupGet(x => x.Form).Returns(() => TestValues);
            userController.Invoke("Edit");
            testUser = new LinqMetaData().User.FirstOrDefault(x => x.FirstName == TestValues["FirstName"]);
            Assert.IsNotNull(testUser);
            Assert.AreEqual(TestValues["Role"], testUser.Roles.Single().RoleId.ToString(CultureInfo.InvariantCulture));
        }