public void Setup() { name = Guid.NewGuid().ToString(); SDKSQLConnector.GetInstance().SaveSDK(name, ""); id = SDKSQLConnector.GetInstance().GetByName(name).id; instance = AssemblyMappingSQLConnector.GetInstance(); }
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"), ""); }
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"); }
private void SaveEntry(sdk_map2 map) { var id = SDKSQLConnector.GetInstance().GetByName(sdkNameId).id; var ns = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(id, map.namespace_map.old_namespace); var assem = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(id, map.assembly_map.old_path); SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id, map.model_identifier, map.old_classname, ns, assem); var entry = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, map.model_identifier); NSMappingSQLConnector.GetInstance().UpdateOrCreateNSMapping(ns, entry, map.namespace_map.new_namespace); AssemblyMappingSQLConnector.GetInstance().UpdateAssemblyMapping(assem, entry, map.assembly_map.new_path, map.assembly_map.name); SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(entry, map.new_classname); }
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"); }
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"), ""); }
public void DoStuff(string dllPath, bool isOld, int sdkId) { var assem = Assembly.LoadFrom(dllPath); string assemFullName = assem.FullName; Console.WriteLine("Read from " + dllPath); var types = assem.GetTypes(); // the types will tell you if there are custom data attributes foreach (var type in types) // itereate over old dll to find custom attributes { foreach (var attr in type.CustomAttributes) { if (attr.AttributeType.Name.Equals(ReadProject.CustomAttributeName)) { string modelIdentifier = (string)attr.ConstructorArguments.First().Value; if (isOld) { namespace_map nsMap = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(sdkId, type.Namespace); assembly_map asMap = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(sdkId, dllPath); SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(sdkId, modelIdentifier, type.Name, nsMap, asMap); } else { sdk_map2 sdkMap = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(sdkId, modelIdentifier); if (sdkMap != null) { NSMappingSQLConnector.GetInstance().UpdateOrCreateNSMapping(sdkMap.namespace_map, sdkMap, type.Namespace); AssemblyMappingSQLConnector.GetInstance().UpdateAssemblyMapping(sdkMap.assembly_map, sdkMap, dllPath, assemFullName); SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(sdkMap, type.Name); } } } } } }
public void TestSDKMappingSQLConnectorSaveOldSDKMapping() { 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 }; var expected = new List <sdk_map2>(); AssertDatabaseState(expected, "initial value"); instance.SaveOldSDKMapping(id, "A", "oldA", nsMapA, asMapA); expected.Add(mapA); AssertDatabaseState(expected, "first value"); instance.SaveOldSDKMapping(id, "B", "oldB", nsMapA, asMapB); expected.Add(mapB); AssertDatabaseState(expected, "second value"); instance.SaveOldSDKMapping(id, "C", "oldC", nsMapB, asMapA); expected.Add(mapC); AssertDatabaseState(expected, "third value"); instance.SaveOldSDKMapping(id, "D", "oldD", nsMapB, asMapB); expected.Add(mapD); AssertDatabaseState(expected, "fourth value"); }
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"); }