示例#1
0
        public void TestAssemblyMappingSQLConnectorGetOrCreateOldAssemblyMapTest()
        {
            var mapA    = instance.GetOrCreateOldAssemblyMap(id, "path");
            var expectA = new assembly_map
            {
                old_path = "path",
                sdk_id   = id
            };

            AssertAditional.AssemblyMapEquals(expectA, mapA, "issue on first create");

            var mapB    = instance.GetOrCreateOldAssemblyMap(id, "path2");
            var expectB = new assembly_map
            {
                old_path = "path2",
                sdk_id   = id
            };

            AssertAditional.AssemblyMapEquals(expectB, mapB, "issue on second create");
            AssertAditional.AssemblyMapEquals(expectA, mapA, "impropper modification of A");

            var mapC    = instance.GetOrCreateOldAssemblyMap(id, "path");
            var expectC = new assembly_map
            {
                old_path = "path",
                sdk_id   = id,
                id       = mapA.id
            };

            AssertAditional.AssemblyMapEquals(expectC, mapC, "issue on first get");
            AssertAditional.AssemblyMapEquals(expectB, mapB, "impropper modification of B");
            AssertAditional.AssemblyMapEquals(expectA, mapA, "impropper modification of A");
        }
示例#2
0
        public void TestNSMappingSQLConnectorGetOrCreateOldNSMap()
        {
            var mapA    = instance.GetOrCreateOldNSMap(id, "space");
            var expectA = new namespace_map
            {
                old_namespace = "space",
                sdk_id        = id
            };

            AssertAditional.NamespaceMapEquals(expectA, mapA, "issue on first create");

            var mapB    = instance.GetOrCreateOldNSMap(id, "space2");
            var expectB = new namespace_map
            {
                old_namespace = "space2",
                sdk_id        = id
            };

            AssertAditional.NamespaceMapEquals(expectB, mapB, "issue on second create");
            AssertAditional.NamespaceMapEquals(expectA, mapA, "impropper modification of A");

            var mapC    = instance.GetOrCreateOldNSMap(id, "space");
            var expectC = new namespace_map
            {
                old_namespace = "space",
                sdk_id        = id,
                id            = mapA.id
            };

            AssertAditional.NamespaceMapEquals(expectC, mapC, "issue on first get");
            AssertAditional.NamespaceMapEquals(expectB, mapB, "impropper modification of B");
            AssertAditional.NamespaceMapEquals(expectA, mapA, "impropper modification of A");
            instance.GetOrCreateOldNSMap(id, "space");
        }
示例#3
0
        public void TestNSMappingSQLConnectorGetAllNamespaces()
        {
            AssertAditional.SetEquals(new HashSet <string> {
            }, instance.GetAllNamespaces(id), "initial value");

            var mapA = instance.GetOrCreateOldNSMap(id, "space");
            var mapB = instance.GetOrCreateOldNSMap(id, "space");

            AssertAditional.SetEquals(new HashSet <string> {
                "space"
            }, instance.GetAllNamespaces(id), "added entry");

            var mapC = instance.GetOrCreateOldNSMap(id, "space2");

            AssertAditional.SetEquals(new HashSet <string> {
                "space", "space2"
            },
                                      instance.GetAllNamespaces(id), "added second entry");

            var targetSdkMap = new sdk_map2();

            instance.UpdateOrCreateNSMapping(mapA, targetSdkMap, "spaceNew");
            instance.UpdateOrCreateNSMapping(mapA, targetSdkMap, "spaceNew2");
            AssertAditional.SetEquals(new HashSet <string> {
                "space", "space2"
            },
                                      instance.GetAllNamespaces(id), "split first entry");
        }
示例#4
0
        public void TestAssemblyMappingSQLConnectorGetAllOldDllPathsTest()
        {
            var nsMap = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(id, "A");

            AssertAditional.SetEquals(new HashSet <string> {
            }, instance.GetAllOldDllPaths(id), "initial value");

            var mapA = instance.GetOrCreateOldAssemblyMap(id, "path");
            var mapB = instance.GetOrCreateOldAssemblyMap(id, "path");

            AssertAditional.SetEquals(new HashSet <string> {
                "path"
            }, instance.GetAllOldDllPaths(id), "added entry");

            instance.GetOrCreateOldAssemblyMap(id, "path2");
            AssertAditional.SetEquals(new HashSet <string> {
                "path", "path2"
            },
                                      instance.GetAllOldDllPaths(id), "added second entry");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "A", "A", nsMap, mapA);
            var targetA = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "A");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "B", "B", nsMap, mapA);
            var targetB = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "B");

            instance.UpdateAssemblyMapping(mapA, targetA, "pathNew", "name");
            instance.UpdateAssemblyMapping(mapB, targetB, "pathNew2", "name2");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetA, "A");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetA, "B");
            AssertAditional.SetEquals(new HashSet <string> {
                "path", "path2"
            },
                                      instance.GetAllOldDllPaths(id), "double count of first entry");
        }
示例#5
0
        public void TestSDKMappingSQLConnectorUpdateSDKMapping()
        {
            var nsMapA = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(id, "space");
            var asMapA = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(id, "path");
            var nsMapB = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(id, "space2");
            var asMapB = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(id, "path2");

            var expectedA = new sdk_map2
            {
                namespace_map_id = nsMapA.id,
                assembly_map_id  = asMapA.id,
                model_identifier = "modelA",
                old_classname    = "clazz",
                sdk_id           = id,
                new_classname    = "clazzNew"
            };
            var expectedB = new sdk_map2
            {
                namespace_map_id = nsMapB.id,
                assembly_map_id  = asMapB.id,
                model_identifier = "modelB",
                old_classname    = "clazz2",
                sdk_id           = id,
                new_classname    = "clazzNew2",
            };

            instance.SaveOldSDKMapping(id, "modelA", "clazz", nsMapA, asMapA);
            instance.UpdateSDKMapping(instance.GetSDKMappingByIdentifiers(id, "modelA"), "clazzNew");
            AssertAditional.SDKMapEquals(expectedA, instance.GetSDKMappingByIdentifiers(id, "modelA"), "");

            instance.SaveOldSDKMapping(id, "modelB", "clazz2", nsMapB, asMapB);
            instance.UpdateSDKMapping(instance.GetSDKMappingByIdentifiers(id, "modelB"), "clazzNew2");
            AssertAditional.SDKMapEquals(expectedA, instance.GetSDKMappingByIdentifiers(id, "modelA"), "");
            AssertAditional.SDKMapEquals(expectedB, instance.GetSDKMappingByIdentifiers(id, "modelB"), "");
        }
示例#6
0
        public void TestAssemblyMappingSQLConnectorGetAllNewDllPathsWithFullNameTest()
        {
            var nsMap = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(id, "A");

            AssertAditional.DictionaryEquals(new Dictionary <string, string> {
            },
                                             instance.GetAllNewDllPathsWithFullName(id), "initial value");

            var mapA = instance.GetOrCreateOldAssemblyMap(id, "path");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "A", "A", nsMap, mapA);
            var targetA = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "A");

            AssertAditional.DictionaryEquals(new Dictionary <string, string> {
            },
                                             instance.GetAllNewDllPathsWithFullName(id), "null entry");

            var mapB = instance.GetOrCreateOldAssemblyMap(id, "path2");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "B", "B", nsMap, mapA);
            var targetB = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "B");

            instance.UpdateAssemblyMapping(mapB, targetB, "pathNew", "name");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetB, "B");
            AssertAditional.DictionaryEquals(new Dictionary <string, string> {
                { "pathNew", "name" }
            },
                                             instance.GetAllNewDllPathsWithFullName(id), "first entry");

            var mapC = instance.GetOrCreateOldAssemblyMap(id, "path3");
            var mapD = instance.GetOrCreateOldAssemblyMap(id, "path3");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "C", "C", nsMap, mapA);
            var targetC = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "C");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "D", "D", nsMap, mapA);
            var targetD = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "D");

            instance.UpdateAssemblyMapping(mapC, targetC, "pathNew2", "name2");
            instance.UpdateAssemblyMapping(mapD, targetD, "pathNew3", "name3");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetB, "C");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetB, "D");
            AssertAditional.DictionaryEquals(new Dictionary <string, string> {
                { "pathNew", "name" }, { "pathNew2", "name2" },
                { "pathNew3", "name3" }
            }, instance.GetAllNewDllPathsWithFullName(id), "repeat old name");

            var mapE = instance.GetOrCreateOldAssemblyMap(id, "path4");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "E", "E", nsMap, mapA);
            var targetE = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "E");

            instance.UpdateAssemblyMapping(mapE, targetE, "pathNew", "name");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetB, "E");
            AssertAditional.DictionaryEquals(new Dictionary <string, string> {
                { "pathNew", "name" }, { "pathNew2", "name2" },
                { "pathNew3", "name3" }
            }, instance.GetAllNewDllPathsWithFullName(id), "dupplicate new entry");
        }
示例#7
0
 public void TestSDKSQLConnectorGetById()
 {
     Assert.IsNull(instance.GetById(-1), "invalid id should result in null");
     AssertAditional.SDKEquals(new sdk2 {
         id = id, name = name, output_path = "path"
     }, instance.GetById(id), "");
     AssertAditional.SDKEquals(new sdk2 {
         id = id2, name = name2, output_path = "path2"
     }, instance.GetById(id2), "");
 }
示例#8
0
 public void TestSDKSQLConnectorGetByName()
 {
     Assert.IsNull(instance.GetByName(Guid.NewGuid().ToString()), "invalid name should result in null");
     AssertAditional.SDKEquals(new sdk2 {
         id = id, name = name, output_path = "path"
     }, instance.GetByName(name), "");
     AssertAditional.SDKEquals(new sdk2 {
         id = id2, name = name2, output_path = "path2"
     }, instance.GetByName(name2), "");
 }
示例#9
0
        public void TestNSMappingSQLConnectorGetNamespaceMapsFromOldNamespace()
        {
            Func <namespace_map, namespace_map, bool> equals = (a, b) => a.id == b.id;

            Assert.IsNull(instance.GetNamespaceMapsFromOldNamespace(id, "space"), "initial value");

            var mapA = instance.GetOrCreateOldNSMap(id, "space");
            var mapB = instance.GetOrCreateOldNSMap(id, "space");

            AssertAditional.ListEquals(new List <namespace_map> {
                mapA
            },
                                       instance.GetNamespaceMapsFromOldNamespace(id, "space"), equals, "null new value");
            Assert.IsNull(instance.GetNamespaceMapsFromOldNamespace(id, "space2"), "null new value different space");

            var asMap = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(id, "path");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "A", "A", mapA, asMap);
            var targetA = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "A");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "B", "B", mapB, asMap);
            var targetB = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "B");

            instance.UpdateOrCreateNSMapping(mapA, targetA, "spaceNew");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetA, "A");
            instance.UpdateOrCreateNSMapping(mapB, targetB, "spaceNew2");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetB, "B");
            mapA = instance.GetNamespaceMapsFromOldNamespace(id, "space").First(x => x.new_namespace == "spaceNew");
            mapB = instance.GetNamespaceMapsFromOldNamespace(id, "space").First(x => x.new_namespace == "spaceNew2");
            AssertAditional.ListEquals(new List <namespace_map> {
                mapA, mapB
            },
                                       instance.GetNamespaceMapsFromOldNamespace(id, "space"), equals, "split value");
            Assert.IsNull(instance.GetNamespaceMapsFromOldNamespace(id, "space2"), "split value different space");

            var mapC = instance.GetOrCreateOldNSMap(id, "space2");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "C", "C", mapC, asMap);
            var targetC = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "C");

            instance.UpdateOrCreateNSMapping(mapC, targetC, "space");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetC, "C");
            AssertAditional.ListEquals(new List <namespace_map> {
                mapC
            },
                                       instance.GetNamespaceMapsFromOldNamespace(id, "space2"), equals, "add value to different space");
            AssertAditional.ListEquals(new List <namespace_map> {
                mapA, mapB
            },
                                       instance.GetNamespaceMapsFromOldNamespace(id, "space"), equals, "original space should be umodified");
        }
示例#10
0
        public void TestSDKSQLConnectorDeleteSDKByName()
        {
            instance.DeleteSDKByName(name);
            Assert.IsNull(instance.GetByName(name), "get by name should be null after delete");
            Assert.IsNull(instance.GetById(id), "get by id should be null after delete");
            AssertAditional.SDKEquals(new sdk2 {
                id = id2, name = name2, output_path = "path2"
            },
                                      instance.GetById(id2), "other entries shouldn't be deleted");

            instance.DeleteSDKByName(name2);
            Assert.IsNull(instance.GetByName(name2), "get by name should be null after delete");
            Assert.IsNull(instance.GetById(id2), "get by id should be null after delete");
        }
示例#11
0
 private void AssertDatabaseState(List <sdk_map2> expected, string message)
 {
     AssertAditional.ListEquals(expected, instance.GetAllBySdkId(id),
                                (a, b) =>
     {
         return(a.model_identifier == b.model_identifier &&
                a.namespace_map_id == b.namespace_map_id &&
                a.new_classname == b.new_classname &&
                a.old_classname == b.old_classname &&
                a.assembly_map_id == b.assembly_map_id &&
                a.sdk_id == b.sdk_id);
     }, message);
     expected.ForEach(entry =>
     {
         AssertAditional.SDKMapEquals(entry, instance.GetSDKMappingByIdentifiers(id, entry.model_identifier), message);
     });
 }
示例#12
0
        public void TestNSMappingSQLConnectorUpdateOrCreateNSMapping()
        {
            var mapA = instance.GetOrCreateOldNSMap(id, "space");
            var mapB = instance.GetOrCreateOldNSMap(id, "space");

            var asMap = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(id, "path");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "A", "A", mapA, asMap);
            var targetA = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "A");

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, "B", "B", mapB, asMap);
            var targetB = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, "B");

            instance.UpdateOrCreateNSMapping(mapA, targetA, "spaceNew");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetA, "A");
            var newA       = instance.GetNamespaceMapsFromOldNamespace(id, "space").First(x => x.id == targetA.namespace_map_id);
            var expectNewA = new namespace_map
            {
                old_namespace = "space",
                sdk_id        = id,
                new_namespace = "spaceNew"
            };

            AssertAditional.NamespaceMapEquals(expectNewA, newA, "issue on update");

            instance.UpdateOrCreateNSMapping(mapB, targetB, "spaceNew2");
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(targetB, "B");
            var newB       = instance.GetNamespaceMapsFromOldNamespace(id, "space").First(x => x.new_namespace == "spaceNew2");
            var expectNewB = new namespace_map
            {
                old_namespace = "space",
                sdk_id        = id,
                new_namespace = "spaceNew2"
            };

            AssertAditional.NamespaceMapEquals(expectNewB, newB, "issue on splitting");
            AssertAditional.NamespaceMapEquals(expectNewA, newA, "impropper modification of A");
        }
示例#13
0
        public void TestSDKMappingSQLConnectorGetSDKMappingByIdentifiers()
        {
            Assert.IsNull(instance.GetSDKMappingByIdentifiers(-1, "a"), "shouldn't have gotten something from invalid id -1");

            var nsMapA = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(id, "space");
            var asMapA = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(id, "path");
            var nsMapB = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(id, "space2");
            var asMapB = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(id, "path2");

            var expectedA = new sdk_map2
            {
                namespace_map_id = nsMapA.id,
                assembly_map_id  = asMapA.id,
                model_identifier = "modelA",
                old_classname    = "clazz",
                sdk_id           = id,
            };
            var expectedB = new sdk_map2
            {
                namespace_map_id = nsMapB.id,
                assembly_map_id  = asMapB.id,
                model_identifier = "modelB",
                old_classname    = "clazz2",
                sdk_id           = id,
            };

            Assert.IsNull(instance.GetSDKMappingByIdentifiers(id, "modelA"), "value should be initially null");
            Assert.IsNull(instance.GetSDKMappingByIdentifiers(id, "modelB"), "value should be initially null");

            instance.SaveOldSDKMapping(id, "modelA", "clazz", nsMapA, asMapA);
            AssertAditional.SDKMapEquals(expectedA, instance.GetSDKMappingByIdentifiers(id, "modelA"), "");
            Assert.IsNull(instance.GetSDKMappingByIdentifiers(id, "ab"), "value shouldn't exist yet");

            instance.SaveOldSDKMapping(id, "modelB", "clazz2", nsMapB, asMapB);
            AssertAditional.SDKMapEquals(expectedA, instance.GetSDKMappingByIdentifiers(id, "modelA"), "");
            AssertAditional.SDKMapEquals(expectedB, instance.GetSDKMappingByIdentifiers(id, "modelB"), "");
        }
示例#14
0
        public void TestSDKMappingSQLConnectorGetSDKMapFromClassAndNamespace()
        {
            var nsMapA = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(id, "space");
            var asMapA = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(id, "path");
            var nsMapB = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(id, "space2");
            var asMapB = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(id, "path2");

            var mapA = new sdk_map2
            {
                namespace_map_id = nsMapA.id,
                assembly_map_id  = asMapA.id,
                model_identifier = "A",
                old_classname    = "oldA",
                sdk_id           = id
            };
            var mapB = new sdk_map2
            {
                namespace_map_id = nsMapA.id,
                assembly_map_id  = asMapB.id,
                model_identifier = "B",
                old_classname    = "oldB",
                sdk_id           = id
            };
            var mapC = new sdk_map2
            {
                namespace_map_id = nsMapB.id,
                assembly_map_id  = asMapA.id,
                model_identifier = "C",
                old_classname    = "oldC",
                sdk_id           = id
            };
            var mapD = new sdk_map2
            {
                namespace_map_id = nsMapB.id,
                assembly_map_id  = asMapB.id,
                model_identifier = "D",
                old_classname    = "oldD",
                sdk_id           = id
            };

            instance.SaveOldSDKMapping(id, "A", "oldA", nsMapA, asMapA);
            AssertAditional.SDKMapEquals(mapA, instance.GetSDKMapFromClassAndNamespace(id, "space", "oldA"), "first value");


            instance.SaveOldSDKMapping(id, "B", "oldB", nsMapA, asMapB);
            AssertAditional.SDKMapEquals(mapA, instance.GetSDKMapFromClassAndNamespace(id, "space", "oldA"), "invalid change");
            AssertAditional.SDKMapEquals(mapB, instance.GetSDKMapFromClassAndNamespace(id, "space", "oldB"), "second value");


            instance.SaveOldSDKMapping(id, "C", "oldC", nsMapB, asMapA);
            AssertAditional.SDKMapEquals(mapA, instance.GetSDKMapFromClassAndNamespace(id, "space", "oldA"), "invalid change");
            AssertAditional.SDKMapEquals(mapB, instance.GetSDKMapFromClassAndNamespace(id, "space", "oldB"), "invalid change");
            AssertAditional.SDKMapEquals(mapC, instance.GetSDKMapFromClassAndNamespace(id, "space2", "oldC"), "third value");


            instance.SaveOldSDKMapping(id, "D", "oldD", nsMapB, asMapB);
            AssertAditional.SDKMapEquals(mapA, instance.GetSDKMapFromClassAndNamespace(id, "space", "oldA"), "invalid change");
            AssertAditional.SDKMapEquals(mapB, instance.GetSDKMapFromClassAndNamespace(id, "space", "oldB"), "invalid change");
            AssertAditional.SDKMapEquals(mapC, instance.GetSDKMapFromClassAndNamespace(id, "space2", "oldC"), "invalid change");
            AssertAditional.SDKMapEquals(mapD, instance.GetSDKMapFromClassAndNamespace(id, "space2", "oldD"), "fourth value");
        }