public void Muxer_activation_of_LightupApp_NoLightupLib_Fails() { var fixtureLib = PreviouslyBuiltAndRestoredLightupLibTestProjectFixture .Copy(); var fixtureApp = PreviouslyBuiltAndRestoredLightupAppTestProjectFixture .Copy(); var dotnet = fixtureApp.BuiltDotnet; var appDll = fixtureApp.TestProject.AppDll; var libDepsJson = fixtureLib.TestProject.DepsJson; dotnet.Exec("exec", "--additional-deps", libDepsJson, appDll) .CaptureStdErr() .CaptureStdOut() .Execute(fExpectedToFail: true) .Should() .Fail() .And .HaveStdErrContaining( "Error:" + Environment.NewLine + " An assembly specified in the application dependencies manifest (LightupLib.deps.json) was not found:" + Environment.NewLine + " package: \'LightupLib\', version: \'1.0.0\'" + Environment.NewLine + " path: \'LightupLib.dll\'"); }
public void Muxer_activation_of_LightupApp_WithLightupLib_NoLightupDepsJson_Fails() { var fixtureLib = PreviouslyBuiltAndRestoredLightupLibTestProjectFixture .Copy(); var fixtureApp = PreviouslyBuiltAndRestoredLightupAppTestProjectFixture .Copy(); var dotnet = fixtureApp.BuiltDotnet; var appDll = fixtureApp.TestProject.AppDll; var libDll = fixtureLib.TestProject.AppDll; var destLibPath = Path.Combine(Path.GetDirectoryName(appDll), Path.GetFileName(libDll)); // Copy the library to the location of the lightup app File.Copy(libDll, destLibPath); dotnet.Exec("exec", appDll) .CaptureStdErr() .CaptureStdOut() .Execute(fExpectedToFail:true) .Should() .Fail() .And .HaveStdOutContaining("Exception: Failed to load the lightup assembly!"); }
public void Muxer_activation_of_LightupApp_WithLightupLib_Succeeds() { var fixtureLib = PreviouslyBuiltAndRestoredLightupLibTestProjectFixture .Copy(); var fixtureApp = PreviouslyBuiltAndRestoredLightupAppTestProjectFixture .Copy(); var dotnet = fixtureApp.BuiltDotnet; var appDll = fixtureApp.TestProject.AppDll; var libDll = fixtureLib.TestProject.AppDll; // Get the version number of the SharedFX we just built since that is the version // going to be specified in the test's runtimeconfig.json. var builtSharedFXVersion = Path.GetFileName(dotnet.GreatestVersionSharedFxPath); // Create the M.N.App specific folder where lightup.deps.json can be found. var baseDir = fixtureApp.TestProject.ProjectDirectory; var customLightupPath = Path.Combine(baseDir, "shared"); // Delete any existing artifacts if (Directory.Exists(customLightupPath)) { Directory.Delete(customLightupPath, true); } customLightupPath = Path.Combine(customLightupPath, "Microsoft.NETCore.App"); customLightupPath = Path.Combine(customLightupPath, builtSharedFXVersion); // Create the folder to which lightup.deps.json will be copied to. Directory.CreateDirectory(customLightupPath); // Copy the lightup.deps.json var libDepsJson = fixtureLib.TestProject.DepsJson; File.Copy(libDepsJson, Path.Combine(customLightupPath, Path.GetFileName(libDepsJson))); // Copy the library to the location of the lightup app (app-local) var destLibPath = Path.Combine(Path.GetDirectoryName(appDll), Path.GetFileName(libDll)); File.Copy(libDll, destLibPath); // Execute the test using the custom lightup path where lightup.deps.json can be found. dotnet.Exec("exec", "--additional-deps", baseDir, appDll) .CaptureStdErr() .CaptureStdOut() .Execute() .Should() .Pass() .And .HaveStdOutContaining("Hello LightupClient"); }