public void Descriptor_UnitTest()
 {
     ExecuteProperty(
         () =>
         // Create Test Instance
     {
         var instance = (ITeamFoundationIdentity)GetInstance();
         return(instance);
     },
         // Create Set Value
         instance =>
     {
         IIdentityDescriptor setValue = default(IIdentityDescriptor);
         Descriptor_SetCondition(ref instance, ref setValue);
         return(setValue);
     },
         // Invoke Setter
         (instance, setValue) => { instance.Descriptor = setValue; },
         // Validate Set Operation
         (instance, setValue) => { },
         // Invoke Getter
         instance => { return(instance.Descriptor); },
         // Validate Get Operation
         (instance, setValue, getValue) => { });
 }
示例#2
0
        public MockTeamFoundationIdentity(
            IIdentityDescriptor descriptor,
            string displayName,
            Guid teamFoundationId,
            bool isActive = true,
            IEnumerable <IIdentityDescriptor> members  = null,
            IEnumerable <IIdentityDescriptor> memberOf = null)
            : base(
                isActive,
                teamFoundationId == Guid.Empty ? Guid.NewGuid() : teamFoundationId,
                isActive ? 0 : 1,
                memberOf ?? ZeroLengthArrayOfIdentityDescriptor,
                members ?? ZeroLengthArrayOfIdentityDescriptor)

        {
            DisplayName = displayName ?? throw new ArgumentNullException(nameof(displayName));
            IsContainer = false;
            Descriptor  = descriptor ?? throw new ArgumentNullException(nameof(descriptor));

            var f = new IdentityFieldValue(DisplayName, Descriptor.Identifier, TeamFoundationId.ToString());

            _properties =
                new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase)
            {
                { IdentityAttributeTags.SchemaClassName, "User" },
                { IdentityAttributeTags.Description, string.Empty },
                { IdentityAttributeTags.Domain, f.Domain },
                { IdentityAttributeTags.AccountName, f.AccountName },
                { IdentityAttributeTags.DistinguishedName, string.Empty },
                { IdentityAttributeTags.MailAddress, f.Email },
                { IdentityAttributeTags.SpecialType, "Generic" },
                { IdentityAttributeTags.IdentityTypeClaim, Descriptor.IdentityType }
            };
        }
示例#3
0
        public void LogSecurityMessage(SecurityLogAction action, Log.Message msg, IIdentityDescriptor identity = null)
        {
            if ((SecurityLogMask & action.ToMask()) == 0)
            {
                return;
            }
            if (msg == null)
            {
                return;
            }
            if (SecurityLogLevel > msg.Type)
            {
                return;
            }
            if (msg.ArchiveDimensions.IsNullOrWhiteSpace())
            {
                if (identity == null)
                {
                    identity = ExecutionContext.Session.User;
                }

                msg.ArchiveDimensions = GetUserLogArchiveDimensions(identity).ToLaconicString();
            }

            logSecurityMessage(msg);
        }
示例#4
0
 public string GetUserLogArchiveDimensions(IIdentityDescriptor identity)
 {
     if (identity == null)
     {
         return(null);
     }
     return(ArchiveConventions.EncodeArchiveDimensions(new { un = identity.IdentityDescriptorName }));
 }
示例#5
0
        public IConfigSectionNode GetUserLogArchiveDimensions(IIdentityDescriptor identity)
        {
            if (identity == null)
            {
                return(null);
            }

            var cfg = new MemoryConfiguration();

            cfg.Create("ad");
            cfg.Root.AddAttributeNode("un", identity.IdentityDescriptorName);

            return(cfg.Root);
        }
示例#6
0
        public void RemoveAccessControlEntry_UnitTest()
        {
            IIdentityDescriptor descriptor = default(IIdentityDescriptor);

            ExecuteMethod(
                () => { return((IAccessControlList)GetInstance()); },
                instance =>
            {
                descriptor = IdentityDescriptorImpl_UnitTests.GetInstance();
                RemoveAccessControlEntry_PreCondition(instance, ref descriptor);
            },
                instance => { instance.RemoveAccessControlEntry(descriptor); },
                instance => { RemoveAccessControlEntry_PostValidate(instance, descriptor); });
        }
示例#7
0
        public void RemovePermissions_UnitTest()
        {
            IIdentityDescriptor descriptor = default(IIdentityDescriptor);
            Int32 permissionsToRemove      = default(Int32);

            ExecuteMethod(
                () => { return((IAccessControlList)GetInstance()); },
                instance =>
            {
                descriptor          = IdentityDescriptorImpl_UnitTests.GetInstance();
                permissionsToRemove = default(Int32);     //No Constructor
                RemovePermissions_PreCondition(instance, ref descriptor, ref permissionsToRemove);
            },
                instance => { instance.RemovePermissions(descriptor, permissionsToRemove); },
                instance => { RemovePermissions_PostValidate(instance, descriptor, permissionsToRemove); });
        }
示例#8
0
        public void SetPermissions_UnitTest()
        {
            IIdentityDescriptor descriptor = default(IIdentityDescriptor);
            Int32   allow = default(Int32);
            Int32   deny  = default(Int32);
            Boolean merge = default(Boolean);

            ExecuteMethod(
                () => { return((IAccessControlList)GetInstance()); },
                instance =>
            {
                descriptor = IdentityDescriptorImpl_UnitTests.GetInstance();
                allow      = default(Int32);   //No Constructor
                deny       = default(Int32);   //No Constructor
                merge      = default(Boolean); //No Constructor
                SetPermissions_PreCondition(instance, ref descriptor, ref allow, ref deny, ref merge);
            },
                instance => { instance.SetPermissions(descriptor, allow, deny, merge); },
                instance => { SetPermissions_PostValidate(instance, descriptor, allow, deny, merge); });
        }
 partial void Data_SetCondition(ref IIdentityDescriptor instance, ref Object setValue);
 /// <summary>
 ///     Removes the access control entry.
 /// </summary>
 /// <param name="descriptor">The descriptor.</param>
 /// <returns>Boolean.</returns>
 /// <exception cref="DynCon.OSI.Core.Helpers.ToBeImplementedException"></exception>
 Boolean IAccessControlList.RemoveAccessControlEntry(IIdentityDescriptor descriptor)
 {
     throw new ToBeImplementedException();
 }
 partial void ToXml_PostValidate(IIdentityDescriptor instance, XmlWriter writer, String element);
 partial void ToXml_PreCondition(IIdentityDescriptor instance, ref XmlWriter writer, ref String element);
 partial void Descriptor_SetCondition(ref ITeamFoundationIdentity instance, ref IIdentityDescriptor setValue);
 partial void IdentityType_SetCondition(ref IIdentityDescriptor instance, ref String setValue);
示例#15
0
 public void LogSecurityMessage(SecurityLogAction action, Log.Message msg, IIdentityDescriptor identity = null)
 {
 }
示例#16
0
 partial void RemoveAccessControlEntry_PreCondition(IAccessControlList instance, ref IIdentityDescriptor descriptor);
示例#17
0
 partial void RemoveAccessControlEntry_PostValidate(IAccessControlList instance, IIdentityDescriptor descriptor);
示例#18
0
 public string GetUserLogArchiveDimensions(IIdentityDescriptor identity) => null;
 /// <summary>
 ///     Sets the permissions.
 /// </summary>
 /// <param name="descriptor">The descriptor.</param>
 /// <param name="allow">The allow.</param>
 /// <param name="deny">The deny.</param>
 /// <param name="merge">The merge.</param>
 /// <returns>IAccessControlEntry.</returns>
 /// <exception cref="DynCon.OSI.Core.Helpers.ToBeImplementedException"></exception>
 IAccessControlEntry IAccessControlList.SetPermissions(IIdentityDescriptor descriptor, Int32 allow, Int32 deny, Boolean merge)
 {
     throw new ToBeImplementedException();
 }
示例#20
0
 partial void RemovePermissions_PostValidate(IAccessControlList instance, IIdentityDescriptor descriptor, Int32 permissionsToRemove);
示例#21
0
 partial void SetPermissions_PreCondition(IAccessControlList instance, ref IIdentityDescriptor descriptor, ref Int32 allow, ref Int32 deny, ref Boolean merge);
示例#22
0
 partial void SetPermissions_PostValidate(IAccessControlList instance, IIdentityDescriptor descriptor, Int32 allow, Int32 deny, Boolean merge);
示例#23
0
 partial void RemovePermissions_PreCondition(IAccessControlList instance, ref IIdentityDescriptor descriptor, ref Int32 permissionsToRemove);
示例#24
0
 partial void IdentityToImpersonate_SetCondition(ref ITfsConnection instance, ref IIdentityDescriptor setValue);
示例#25
0
 partial void OwnerDescriptor_SetCondition(ref IQueryItem instance, ref IIdentityDescriptor setValue);
 /// <summary>
 ///     Queries the access control entry.
 /// </summary>
 /// <param name="descriptor">The descriptor.</param>
 /// <returns>IAccessControlEntry.</returns>
 /// <exception cref="DynCon.OSI.Core.Helpers.ToBeImplementedException"></exception>
 IAccessControlEntry IAccessControlList.QueryAccessControlEntry(IIdentityDescriptor descriptor)
 {
     throw new ToBeImplementedException();
 }
示例#27
0
 public Environment.IConfigSectionNode GetUserLogArchiveDimensions(IIdentityDescriptor identity)
 {
     return(null);
 }
 /// <summary>
 ///     Removes the permissions.
 /// </summary>
 /// <param name="descriptor">The descriptor.</param>
 /// <param name="permissionsToRemove">The permissions to remove.</param>
 /// <returns>IAccessControlEntry.</returns>
 /// <exception cref="DynCon.OSI.Core.Helpers.ToBeImplementedException"></exception>
 IAccessControlEntry IAccessControlList.RemovePermissions(IIdentityDescriptor descriptor, Int32 permissionsToRemove)
 {
     throw new ToBeImplementedException();
 }
 private static string BuildDescriptorLookupKey(IIdentityDescriptor descriptor)
 {
     return($"{descriptor.IdentityType}-{descriptor.Identifier}}}");
 }