public void TestUnsupportedEvidence() { const string previousInstallDir = @"C:\Program Files\ACME Laboratories\ExperimentalRats"; const string appDataPath = @"C:\Documents and Settings\Snowball\LocalSettings\AppData\ACME Laboratories\Acme.Laboratories.Exper_Url_abcdefghijklmnopqrstuvwxyz012345\3.0.0.0\user.config"; var evidence = new Evidence(); var altFolder = UserUpgradeStrategy.GetAlternateAppSettingsFolder(previousInstallDir, evidence, appDataPath); Assert.IsNullOrEmpty(altFolder, "app domain without url in evidence is unusual, and we don't have any data points to back up any implementation, so we don't implement it!"); }
public void TestAltFolderOnSlashesNoPreviousInstallDirectory() { const string appDataPath = @"C:\Documents and Settings\Snowball\LocalSettings\AppData\ACME Laboratories\Acme.Laboratories.Exper_Url_2vbxhp2udm4o5dcwujyvygdqgjfgjfvn\3.0.0.0\user.config"; const string assemblyName = "Acme.Laboratories.Experimental.Rat.TheBrain"; const string assemblyVersion = "2.1.0.1"; const string assemblyUrl = @"file:///C:\Program Files\ACME Laboratories\ExperimentalRats\TheBrain.exe"; var evidence = CreateAppDomainEvidence(assemblyName, assemblyVersion, assemblyUrl, false); var altFolder = UserUpgradeStrategy.GetAlternateAppSettingsFolder(null, evidence, appDataPath); Assert.AreEqual("Acme.Laboratories.Exper_Url_kgyle1vbltt4mwwk4hgjgr1z52ofp1u0", altFolder, "getting the old path (with forward slashes) if the current path is based on backslashes"); }
public void TestSameAsCurrentFolderNoPreviousInstallDirectory() { const string appDataPath = @"C:\Documents and Settings\Snowball\LocalSettings\AppData\ACME Laboratories\Acme.Laboratories.Exper_Url_kgyle1vbltt4mwwk4hgjgr1z52ofp1u0\3.0.0.0\user.config"; const string assemblyName = "Acme.Laboratories.Experimental.Rat.TheBrain"; const string assemblyVersion = "2.1.0.1"; const string assemblyUrl = @"file:///C:/Program Files/ACME Laboratories/ExperimentalRats/TheBrain.exe"; var evidence = CreateAppDomainEvidence(assemblyName, assemblyVersion, assemblyUrl, false); var altFolder = UserUpgradeStrategy.GetAlternateAppSettingsFolder(null, evidence, appDataPath); Assert.IsNullOrEmpty(altFolder, "should return null when alt path is exactly the same as current path"); }
public void TestPathCaseInsensitive2() { const string appDataPath = @"C:\Documents and Settings\Snowball\LocalSettings\AppData\ACME Laboratories\Acme.Laboratories.Exper_Url_abcdefghijklmnopqrstuvwxyz012345\3.0.0.0\user.config"; const string assemblyName = "Acme.Laboratories.Experimental.Rat.TheBrain"; const string assemblyVersion = "2.1.0.1"; const string assemblyUrl = @"FILE:///c:/program Files/ACME Laboratories/ExperimentalRats/thebrain.EXE"; var evidence = CreateAppDomainEvidence(assemblyName, assemblyVersion, assemblyUrl, false); var altFolder = UserUpgradeStrategy.GetAlternateAppSettingsFolder(null, evidence, appDataPath); Assert.AreEqual("Acme.Laboratories.Exper_Url_kgyle1vbltt4mwwk4hgjgr1z52ofp1u0", altFolder, "assembly url should be case insensitive"); }
public void TestStrongNameEvidence() { const string previousInstallDir = @"C:\Program Files\ACME Laboratories\ExperimentalRats"; const string appDataPath = @"C:\Documents and Settings\Snowball\LocalSettings\AppData\ACME Laboratories\Acme.Laboratories.Exper_Url_abcdefghijklmnopqrstuvwxyz012345\3.0.0.0\user.config"; const string assemblyName = "Acme.Laboratories.Experimental.Rat.TheBrain"; const string assemblyVersion = "2.1.0.1"; const string assemblyUrl = @"file:///C:/Program Files/ACME Laboratories/ExperimentalRats/TheBrain.exe"; var evidence = CreateAppDomainEvidence(assemblyName, assemblyVersion, assemblyUrl, true); var altFolder = UserUpgradeStrategy.GetAlternateAppSettingsFolder(previousInstallDir, evidence, appDataPath); Assert.IsNullOrEmpty(altFolder, "strong named entry assembly should not have an alt folder"); }
public void TestInstallFolderChanged3() { const string previousInstallDir = @"C:\Program Files\ACME Labs\Rats\"; // note the different slashes, trailing slash and capitalization const string appDataPath = @"C:\Documents and Settings\Snowball\LocalSettings\AppData\ACME Laboratories\Acme.Laboratories.Exper_Url_kgyle1vbltt4mwwk4hgjgr1z52ofp1u0\3.0.0.0\user.config"; const string assemblyName = "Acme.Laboratories.Experimental.Rat.TheBrain"; const string assemblyVersion = "2.1.0.1"; const string assemblyUrl = @"file:///C:/program Files/ACME Laboratories/ExperimentalRats/TheBrain.exe"; var evidence = CreateAppDomainEvidence(assemblyName, assemblyVersion, assemblyUrl, false); var altFolder = UserUpgradeStrategy.GetAlternateAppSettingsFolder(previousInstallDir, evidence, appDataPath); Assert.AreEqual("Acme.Laboratories.Exper_Url_gyj1vfoawarsonr4ssufrpzggih1qwle", altFolder, "should find correct former install directory"); }
public void TestDistinctAltFolder() { const string previousInstallDir = @"C:\Program Files\ACME Laboratories\ExperimentalRats"; const string appDataPath = @"C:\Documents and Settings\Snowball\LocalSettings\AppData\ACME Laboratories\Acme.Laboratories.Exper_Url_abcdefghijklmnopqrstuvwxyz012345\3.0.0.0\user.config"; const string assemblyName = "Acme.Laboratories.Experimental.Rat.TheBrain"; const string assemblyVersion = "2.1.0.1"; const string assemblyUrl = @"file:///C:/Program Files/ACME Laboratories/ExperimentalRats/TheBrain.exe"; var evidence = CreateAppDomainEvidence(assemblyName, assemblyVersion, assemblyUrl, false); var altFolder = UserUpgradeStrategy.GetAlternateAppSettingsFolder(previousInstallDir, evidence, appDataPath); Assert.AreEqual("Acme.Laboratories.Exper_Url_kgyle1vbltt4mwwk4hgjgr1z52ofp1u0", altFolder, "getting the old path when the current path is based on some unknown (in this case, dummy) hashing"); }