Пример #1
0
        public void TestConstructor_UserHasSevisAccounts()
        {
            var principalId = 1;
            var isValidUser = true;
            var camUser     = new User();

            camUser.PrincipalId = principalId;

            var user = new DebugWebApiUser();
            var firstSevisAccount = new SevisUserAccount
            {
                OrgId    = "org 1",
                Username = "******"
            };
            var secondSevisAccount = new SevisUserAccount
            {
                OrgId    = "org 2",
                Username = "******"
            };
            var accounts = new List <SevisUserAccount> {
                firstSevisAccount, secondSevisAccount
            };

            camUser.SevisUserAccounts = accounts;
            var userCache = new UserCache(user, camUser, isValidUser);

            Assert.AreEqual(2, userCache.SevisUserAccounts.Count());
            Assert.IsTrue(Object.ReferenceEquals(firstSevisAccount, userCache.SevisUserAccounts.First()));
            Assert.IsTrue(Object.ReferenceEquals(secondSevisAccount, userCache.SevisUserAccounts.Last()));
        }
Пример #2
0
        public async Task TestPostSetItineraryParticipantsAsync()
        {
            var debugUser    = new DebugWebApiUser();
            var businessUser = new User(1);

            userProvider.Setup(x => x.GetCurrentUser()).Returns(debugUser);
            userProvider.Setup(x => x.GetBusinessUser(It.IsAny <IWebApiUser>())).Returns(businessUser);

            var model       = new ItineraryParticipantsBindingModel();
            var projectId   = 1;
            var itineraryId = 2;
            Action <ItineraryParticipants> callback = (itineraryParicipants) =>
            {
                Assert.AreEqual(projectId, itineraryParicipants.ProjectId);
                Assert.AreEqual(itineraryId, itineraryParicipants.ItineraryId);
                Assert.IsNotNull(itineraryParicipants.Audit.User);
            };

            service.Setup(x => x.SetParticipantsAsync(It.IsAny <ItineraryParticipants>())).Returns(Task.FromResult <object>(null)).Callback(callback);

            var response = await controller.PostSetItineraryParticipantsAsync(itineraryId, projectId, model);

            Assert.IsNotNull(response);
            Assert.IsInstanceOfType(response, typeof(OkResult));

            userProvider.Verify(x => x.GetCurrentUser(), Times.Once());
            userProvider.Verify(x => x.GetBusinessUser(It.IsAny <IWebApiUser>()), Times.Once());
            service.Verify(x => x.SetParticipantsAsync(It.IsAny <ItineraryParticipants>()), Times.Once());
            service.Verify(x => x.SaveChangesAsync(), Times.Once());
        }
Пример #3
0
        private DebugWebApiUser GetTestUser()
        {
            var debugUser       = new DebugWebApiUser();
            var claimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity(debugUser.GetClaims(), "Bearer"));

            Thread.CurrentPrincipal = claimsPrincipal;
            return(debugUser);
        }
Пример #4
0
        public void TestConstructor_NonNullPermissions()
        {
            var permissions = new List <IPermission>();
            var user        = new DebugWebApiUser();
            var userCache   = new UserCache(user, new User(), true, permissions);

            Assert.IsTrue(Object.ReferenceEquals(permissions, userCache.Permissions));
            DateTime.UtcNow.Should().BeCloseTo(userCache.DateCached, 1000);
        }
        /// <summary>
        ///
        /// </summary>
        protected override System.Threading.Tasks.Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
        {
#if DEBUG
            if (request.RequestUri.ToString().ToLower().Contains("api") &&
                request.Headers != null &&
                request.Headers.Referrer != null &&
                request.Headers.Referrer.ToString().ToLower().Contains("http://localhost:5555/swagger/ui/index"))
            {
                var debugUser       = new DebugWebApiUser();
                var claimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity(debugUser.GetClaims(), "Bearer"));
                Thread.CurrentPrincipal  = claimsPrincipal;
                HttpContext.Current.User = claimsPrincipal;
            }
#endif
            return(base.SendAsync(request, cancellationToken));
        }
Пример #6
0
        public void TestConstructor_NullPermissons()
        {
            var principalId = 1;
            var isValidUser = true;
            var camUser     = new User();

            camUser.PrincipalId = principalId;

            var user      = new DebugWebApiUser();
            var userCache = new UserCache(user, camUser, isValidUser);

            Assert.AreEqual(principalId, userCache.CamPrincipalId);
            Assert.AreEqual(isValidUser, userCache.IsValidCamUser);
            Assert.AreEqual(user.Id, userCache.UserId);
            Assert.AreEqual(user.GetUsername(), userCache.UserName);
            Assert.IsNotNull(userCache.Permissions);
            Assert.AreEqual(0, userCache.Permissions.Count());
            DateTime.UtcNow.Should().BeCloseTo(userCache.DateCached, 1000);
        }
        public async Task TestPutUpdateParticipantPersonAsync()
        {
            var user         = new DebugWebApiUser();
            var businessUser = new User(1);

            userProvider.Setup(x => x.GetCurrentUser()).Returns(user);
            userProvider.Setup(x => x.GetBusinessUser(It.IsAny <IWebApiUser>())).Returns(businessUser);

            var model = new UpdatedParticipantPersonBindingModel();

            model.ParticipantTypeId = ParticipantType.Individual.Id;

            var result = await controller.PutCreateOrUpdateParticipantPersonAsync(1, model);

            Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <SimpleParticipantPersonDTO>));
            service.Verify(x => x.CreateOrUpdateAsync(It.IsAny <UpdatedParticipantPerson>()), Times.Once());
            service.Verify(x => x.SaveChangesAsync(), Times.Once());
            service.Verify(x => x.GetParticipantPersonByIdAsync(It.IsAny <int>(), It.IsAny <int>()), Times.Once());
            userProvider.Verify(x => x.GetBusinessUser(It.IsAny <IWebApiUser>()), Times.Once());
            userProvider.Verify(x => x.GetCurrentUser(), Times.Once());
        }
Пример #8
0
        public async Task TestPutUpdateItineraryAsync()
        {
            var debugUser    = new DebugWebApiUser();
            var businessUser = new User(1);

            userProvider.Setup(x => x.GetCurrentUser()).Returns(debugUser);
            userProvider.Setup(x => x.GetBusinessUser(It.IsAny <IWebApiUser>())).Returns(businessUser);

            service.Setup(x => x.GetItineraryByIdAsync(It.IsAny <int>(), It.IsAny <int>())).ReturnsAsync(new ItineraryDTO());

            var model     = new UpdatedItineraryBindingModel();
            var projectId = 1;
            var response  = await controller.PutUpdateItineraryAsync(projectId, model);

            Assert.IsNotNull(response);
            Assert.IsInstanceOfType(response, typeof(OkNegotiatedContentResult <ItineraryDTO>));

            userProvider.Verify(x => x.GetCurrentUser(), Times.Once());
            userProvider.Verify(x => x.GetBusinessUser(It.IsAny <IWebApiUser>()), Times.Once());
            service.Verify(x => x.UpdateAsync(It.IsAny <UpdatedEcaItinerary>()), Times.Once());
            service.Verify(x => x.SaveChangesAsync(), Times.Once());
            service.Verify(x => x.GetItineraryByIdAsync(It.IsAny <int>(), It.IsAny <int>()), Times.Once());
        }