コード例 #1
0
        public void DataPortal_AuthenticatedUserLoginBelongsToUserRole()
        {
            var context = GetContext();

            SilverlightPrincipal.Logout();
            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal("user", "1234", (o, e2) =>
            {
                context.Assert.IsTrue(ApplicationContext.User.IsInRole("User Role"));

                context.Assert.Success();
            });

            context.Complete();
        }
コード例 #2
0
        public void AuthorizedAdmin_CanInstantiateObjectWithCreationRule()
        {
            var context = GetContext();

            SilverlightPrincipal.Logout();
            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal("admin", "12345", (o, e) =>
                                                                       DataPortal.BeginCreate <UserAndAdminCanCreateAndWrite>((o2, e2) =>
            {
                context.Assert.IsNotNull(e2.Object);
                context.Assert.Success();
            }));

            context.Complete();
        }
コード例 #3
0
        public void DataPortal_UnAuthenticatedUserLoginDoesNotBelongToEitherRole()
        {
            var context = GetContext();

            SilverlightPrincipal.Logout();
            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal("user", "invalid_password", (o, e2) =>
            {
                context.Assert.IsFalse(ApplicationContext.User.IsInRole("User Role"));
                context.Assert.IsFalse(ApplicationContext.User.IsInRole("Admin Role"));

                context.Assert.Success();
            });

            context.Complete();
        }
コード例 #4
0
        public void UnauthorizedUser_CanInstaniateObjectWithoutCreationRules()
        {
            var context = GetContext();

            SilverlightPrincipal.Logout();
            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal("user", "invalid_password", (o, e) =>
                                                                       DataPortal.BeginCreate <OnlyAdminCanWrite>((o2, e2) =>
            {
                //OnlyAdminCanWrite does not have Creation Rules set for it - therefore unauthorized user should be able to create it
                context.Assert.IsNotNull(e2.Object);
                context.Assert.Success();
            }));

            context.Complete();
        }
コード例 #5
0
        public void UnauthorizedUser_CanNotInstaniateObjectWithCreationRules()
        {
            var context = GetContext();

            SilverlightPrincipal.Logout();
            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal("user", "invalid_password", (o, e) =>
                                                                       DataPortal.BeginCreate <UserAndAdminCanCreateAndWrite>((o2, e2) =>
            {
                context.Assert.IsTrue(((DataPortalException)e2.Error).ErrorInfo.ExceptionTypeName == "System.Security.SecurityException");
                context.Assert.Success();
            }));


            context.Complete();
        }
コード例 #6
0
        public void AuthorizedUser_CanWriteToObject_AuthorizedForUserWrite()
        {
            var context = GetContext();

            SilverlightPrincipal.Logout();
            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal("user", "1234", (o, e) =>
            {
                var item = new UserAndAdminCanCreateAndWrite();

                item.A = "test";//no SecurityException

                context.Assert.Success();
            });

            context.Complete();
        }
コード例 #7
0
        public void AuthorizedAdmin_CanWriteToObject_AuthorizedForAdminOnlyWrite()
        {
            var context = GetContext();

            SilverlightPrincipal.Logout();
            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal("admin", "12345", (o, e) =>
            {
                var item = new OnlyAdminCanWrite();

                item.A = "test";//no SecurityException

                context.Assert.Success();
            });

            context.Complete();
        }
コード例 #8
0
        public void SetMembershipPrincipalDataPortal()
        {
            UnitTestContext context = GetContext();

            DataPortal.ProxyTypeName = "Csla.DataPortalClient.WcfProxy, Csla";
            WcfProxy.DefaultUrl      = Resources.RemotePortalUrl;

            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal(
                (o, e) =>
            {
                context.Assert.IsNotNull(ApplicationContext.User);
                context.Assert.IsTrue(ApplicationContext.User.Identity.IsAuthenticated);
                context.Assert.AreEqual("sergeyb", ApplicationContext.User.Identity.Name);
                context.Assert.IsTrue(ApplicationContext.User.IsInRole("Admin"));
                context.Assert.Success();
            });
            context.Complete();
        }
コード例 #9
0
        public void DataPortal_InvalidPassword_ResultsInFailedLogin()
        {
            var context = GetContext();

            SilverlightPrincipal.Logout();
            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal("user", "invalid", (o, e2) =>
            {
                var identity = ApplicationContext.User.Identity;

                context.Assert.IsNotNull(identity);
                context.Assert.IsTrue(identity.Name == "");
                context.Assert.IsFalse(identity.IsAuthenticated);
                context.Assert.IsFalse(ApplicationContext.User.IsInRole("User Role"));

                context.Assert.Success();
            });

            context.Complete();
        }
コード例 #10
0
        public void DataPortal_ValidMembershipIdAndPwd_ResultInSucessfullLogin()
        {
            var context = GetContext();

            SilverlightPrincipal.Logout();
            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal("user", "1234", (o, e2) =>
            {
                var identity = ApplicationContext.User.Identity;

                context.Assert.IsNotNull(identity);
                context.Assert.IsTrue(identity.Name == "user");
                context.Assert.IsTrue(identity.IsAuthenticated);
                context.Assert.IsTrue(ApplicationContext.User.IsInRole("User Role"));

                context.Assert.Success();
            });

            context.Complete();
        }
コード例 #11
0
        public void AuthorizedUser_CanNotWriteToObject_AuthorizedForAdminOnlyWrite()
        {
            var context = GetContext();

            SilverlightPrincipal.Logout();
            SilverlightPrincipal.LoginUsingMembershipProviderDatPortal("user", "1234", (o, e) =>
            {
                var item = new OnlyAdminCanWrite();

                context.Assert.Try(() =>
                {
                    item.A = "test";
                });
                context.Assert.Fail();//assure that exception was thrown for Assert.Try
                context.Assert.Success();
            });

            context.Complete();
        }