示例#1
0
        public virtual void TestCachingRelays()
        {
            CachedDNSToSwitchMapping mapping = new CachedDNSToSwitchMapping(new TestSwitchMapping.StandaloneSwitchMapping
                                                                                ());

            NUnit.Framework.Assert.IsFalse("Expected to be multi switch " + mapping, mapping.
                                           IsSingleSwitch());
        }
示例#2
0
        public virtual void TestCachingRelaysMultiSwitchQueries()
        {
            StaticMapping staticMapping = NewInstance("top");

            AssertMultiSwitch(staticMapping);
            CachedDNSToSwitchMapping cachedMap = new CachedDNSToSwitchMapping(staticMapping);

            Log.Info("Mapping: " + cachedMap + "\n" + cachedMap.DumpTopology());
            AssertMultiSwitch(cachedMap);
        }
示例#3
0
        public virtual void TestCachingRelaysSingleSwitchQueries()
        {
            //create a single switch map
            StaticMapping staticMapping = NewInstance(null);

            AssertSingleSwitch(staticMapping);
            CachedDNSToSwitchMapping cachedMap = new CachedDNSToSwitchMapping(staticMapping);

            Log.Info("Mapping: " + cachedMap + "\n" + cachedMap.DumpTopology());
            AssertSingleSwitch(cachedMap);
        }
示例#4
0
        public virtual void TestCachingRelaysStringOperationsToNullScript()
        {
            Configuration      conf          = new Configuration();
            ScriptBasedMapping scriptMapping = new ScriptBasedMapping(conf);

            Assert.True("Did not find " + ScriptBasedMapping.NoScript + " in "
                        + scriptMapping, scriptMapping.ToString().Contains(ScriptBasedMapping.NoScript)
                        );
            CachedDNSToSwitchMapping mapping = new CachedDNSToSwitchMapping(scriptMapping);

            Assert.True("Did not find " + ScriptBasedMapping.NoScript + " in "
                        + mapping, mapping.ToString().Contains(ScriptBasedMapping.NoScript));
        }
示例#5
0
        public virtual void TestCachingCachesNegativeEntries()
        {
            StaticMapping            staticMapping = NewInstance();
            CachedDNSToSwitchMapping cachedMap     = new CachedDNSToSwitchMapping(staticMapping);

            AssertMapSize(cachedMap, 0);
            AssertMapSize(staticMapping, 0);
            IList <string> resolved = cachedMap.Resolve(CreateQueryList());

            //and verify the cache is no longer empty while the static map is
            AssertMapSize(staticMapping, 0);
            AssertMapSize(cachedMap, 2);
        }
示例#6
0
        public virtual void TestCachingRelaysStringOperations()
        {
            Configuration conf       = new Configuration();
            string        scriptname = "mappingscript.sh";

            conf.Set(CommonConfigurationKeys.NetTopologyScriptFileNameKey, scriptname);
            ScriptBasedMapping scriptMapping = new ScriptBasedMapping(conf);

            Assert.True("Did not find " + scriptname + " in " + scriptMapping
                        , scriptMapping.ToString().Contains(scriptname));
            CachedDNSToSwitchMapping mapping = new CachedDNSToSwitchMapping(scriptMapping);

            Assert.True("Did not find " + scriptname + " in " + mapping, mapping
                        .ToString().Contains(scriptname));
        }
示例#7
0
        public virtual void TestCachingRelaysResolveQueries()
        {
            StaticMapping mapping = NewInstance();

            mapping.SetConf(CreateConf("top"));
            StaticMapping            staticMapping = mapping;
            CachedDNSToSwitchMapping cachedMap     = new CachedDNSToSwitchMapping(staticMapping);

            AssertMapSize(cachedMap, 0);
            //add a node to the static map
            StaticMapping.AddNodeToRack("n1", "/r1");
            //verify it is there
            AssertMapSize(staticMapping, 1);
            //verify that the cache hasn't picked it up yet
            AssertMapSize(cachedMap, 0);
            //now relay the query
            cachedMap.Resolve(CreateQueryList());
            //and verify the cache is no longer empty
            AssertMapSize(cachedMap, 2);
        }