示例#1
0
        public void InitializeResolver_NotMocked()
        {
            Random random          = new Random();
            UInt32 enterpriseId    = random.NextUInt32();
            Int32  relayAgentIndex = random.Next();

            CreateScopeResolverInformation createScopeResolverInformation = new CreateScopeResolverInformation
            {
                Typename            = nameof(DHCPv6AndResolver),
                PropertiesAndValues = new Dictionary <String, String>
                {
                    { "InnerResolvers", JsonConvert.SerializeObject(new CreateScopeResolverInformation[]
                        {
                            new CreateScopeResolverInformation {
                                Typename            = nameof(DHCPv6AndResolver),
                                PropertiesAndValues = new Dictionary <String, String>
                                {
                                    { "InnerResolvers", JsonConvert.SerializeObject(new CreateScopeResolverInformation[]
                                        {
                                            new CreateScopeResolverInformation {
                                                Typename            = nameof(DHCPv6RemoteIdentifierEnterpriseNumberResolver),
                                                PropertiesAndValues = new Dictionary <String, String>
                                                {
                                                    { nameof(DHCPv6RemoteIdentifierEnterpriseNumberResolver.EnterpriseNumber), enterpriseId.ToString() },
                                                    { nameof(DHCPv6RemoteIdentifierEnterpriseNumberResolver.RelayAgentIndex), relayAgentIndex.ToString() },
                                                }
                                            }
                                        }) }
                                }
                            }
                        }) }
                }
            };

            DHCPv6ScopeResolverManager scopeManager = new DHCPv6ScopeResolverManager(
                new JSONBasedSerializer(), Mock.Of <IDeviceService>(MockBehavior.Strict), Mock.Of <ILogger <DHCPv6ScopeResolverManager> >());

            scopeManager.AddOrUpdateScopeResolver(nameof(DHCPv6AndResolver), () => new DHCPv6AndResolver());
            scopeManager.AddOrUpdateScopeResolver(nameof(DHCPv6RemoteIdentifierEnterpriseNumberResolver), () => new DHCPv6RemoteIdentifierEnterpriseNumberResolver(Mock.Of <ILogger <DHCPv6RemoteIdentifierEnterpriseNumberResolver> >()));

            var firstLevelResolver = scopeManager.InitializeResolver(createScopeResolverInformation);

            Assert.NotNull(firstLevelResolver);

            Assert.IsAssignableFrom <DHCPv6AndResolver>(firstLevelResolver);

            DHCPv6AndResolver firstLevelAndResolver = (DHCPv6AndResolver)firstLevelResolver;

            Assert.Single(firstLevelAndResolver.GetScopeResolvers());

            var secondLevelResolver = firstLevelAndResolver.GetScopeResolvers().First();

            Assert.IsAssignableFrom <DHCPv6AndResolver>(secondLevelResolver);

            DHCPv6AndResolver secondLevelAndResolver = (DHCPv6AndResolver)secondLevelResolver;

            Assert.Single(secondLevelAndResolver.GetScopeResolvers());

            var innerResolver = secondLevelAndResolver.GetScopeResolvers().First();

            Assert.IsAssignableFrom <DHCPv6RemoteIdentifierEnterpriseNumberResolver>(innerResolver);

            DHCPv6RemoteIdentifierEnterpriseNumberResolver innerCasedResolver = (DHCPv6RemoteIdentifierEnterpriseNumberResolver)innerResolver;

            Assert.Equal(enterpriseId, innerCasedResolver.EnterpriseNumber);
            Assert.Equal(relayAgentIndex, innerCasedResolver.RelayAgentIndex);
        }
示例#2
0
        public void GetValues()
        {
            DHCPv6AndResolver resolver = new DHCPv6AndResolver();

            Assert.Throws <NotImplementedException>(() => resolver.GetValues());
        }
示例#3
0
        public void HasUniqueIdentifier()
        {
            DHCPv6AndResolver resolver = new DHCPv6AndResolver();

            Assert.False(resolver.HasUniqueIdentifier);
        }
示例#4
0
        public void GetUniqueIdentifier()
        {
            DHCPv6AndResolver resolver = new DHCPv6AndResolver();

            Assert.ThrowsAny <Exception>(() => resolver.GetUniqueIdentifier(null));
        }
示例#5
0
        public void GetDescription()
        {
            DHCPv6AndResolver resolver = new DHCPv6AndResolver();

            TestDescription(resolver, "DHCPv6AndResolver");
        }