コード例 #1
0
 public void Test_CreateMessage(string userName, string permissionsList, string entities, string expectedMessage)
 {
     Assert.That(
         PlatformSecurityException.CreateMessage(
             userName,
             permissionsList
             .Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
             .Select(pa => new EntityRef(pa)),
             entities
             .Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
             .Select(pa => new EntityRef(pa))),
         Is.StringMatching(expectedMessage));
 }
コード例 #2
0
        public void Test_Ctor()
        {
            PlatformSecurityException platformSecurityException;
            string userName;

            EntityRef[] permissions;
            EntityRef[] entities;

            userName    = "******";
            permissions = new [] { new EntityRef("read"), new EntityRef("modify"), new EntityRef("create") };
            entities    = new [] { new EntityRef("folder"), new EntityRef("report") };

            platformSecurityException = new PlatformSecurityException(userName, permissions, entities);
            Assert.That(platformSecurityException, Has.Property("UserName").EqualTo(userName));
            Assert.That(platformSecurityException, Has.Property("PermissionAliases").EqualTo(permissions.Select(x => x.Alias)));
            Assert.That(platformSecurityException, Has.Property("EntityIds").EqualTo(entities.Select(x => x.Id)));
            Assert.That(platformSecurityException,
                        Has.Property("Message").StringMatching("foo does not have view, edit access to Folder \\(\\d+\\), Report \\(\\d+\\). foo cannot create Type \\(\\d+\\) objects. "));
        }
コード例 #3
0
        public void Test_Serialization()
        {
            PlatformSecurityException platformSecurityException;
            string userName;

            EntityRef[] permissions;
            EntityRef[] entities;
            PlatformSecurityException deserializedPlatformSecurityException;

            userName    = "******";
            permissions = new[] { new EntityRef("core:read"), new EntityRef("core:modify") };
            entities    = new[] { new EntityRef(3), new EntityRef(4) };

            platformSecurityException = new PlatformSecurityException(userName, permissions, entities);
            using (MemoryStream memoryStream = new MemoryStream())
            {
                BinaryFormatter binaryFormatter = new BinaryFormatter();
                binaryFormatter.Serialize(memoryStream, platformSecurityException);
                memoryStream.Seek(0, SeekOrigin.Begin);
                deserializedPlatformSecurityException = (PlatformSecurityException)binaryFormatter.Deserialize(memoryStream);
            }

            Assert.That(platformSecurityException, Is.EqualTo(deserializedPlatformSecurityException));
        }
コード例 #4
0
 public void Test_CreateMessage_Nulls(string userName, IEnumerable <EntityRef> permissions, IEnumerable <EntityRef> entities)
 {
     Assert.That(
         PlatformSecurityException.CreateMessage(null, null, null),
         Is.EqualTo("No permissions requested"));
 }