Files
PowerShell/src/ps_test/test_CorePsPlatform.cs
T

93 lines
2.7 KiB
C#
Raw Normal View History

2015-06-11 13:40:07 -07:00
using Xunit;
using System;
2015-08-07 16:56:19 -07:00
using System.Diagnostics;
using System.Management.Automation;
2015-06-11 13:40:07 -07:00
namespace PSTests
{
public static class PlatformTests
{
[Fact]
public static void TestIsLinux()
2015-06-11 13:40:07 -07:00
{
Assert.True(Platform.IsLinux());
}
[Fact]
public static void TestHasCom()
{
Assert.False(Platform.HasCom());
2015-06-11 13:40:07 -07:00
}
2015-06-11 15:15:45 -07:00
[Fact]
2015-06-11 15:15:45 -07:00
public static void TestHasAmsi()
{
Assert.False(Platform.HasAmsi());
}
[Fact]
public static void TestUsesCodeSignedAssemblies()
{
Assert.False(Platform.UsesCodeSignedAssemblies());
}
2015-06-15 15:17:15 -07:00
[Fact]
2015-06-15 15:17:15 -07:00
public static void TestHasDriveAutoMounting()
{
Assert.False(Platform.HasDriveAutoMounting());
}
2015-07-06 12:46:38 -07:00
[Fact]
2015-07-06 12:46:38 -07:00
public static void TestHasRegistrySupport()
{
Assert.False(Platform.HasRegistrySupport());
}
2015-07-24 13:11:18 -07:00
[Fact]
public static void TestGetUserName()
{
2015-08-07 16:56:19 -07:00
var startInfo = new ProcessStartInfo
{
FileName = @"/usr/bin/env",
Arguments = "whoami",
RedirectStandardOutput = true,
UseShellExecute = false
};
2015-08-13 15:45:13 -07:00
using (Process process = Process.Start(startInfo))
{
// Get output of call to whoami without trailing newline
string username = process.StandardOutput.ReadToEnd().Trim();
process.WaitForExit();
// The process should return an exit code of 0 on success
Assert.Equal(0, process.ExitCode);
// It should be the same as what our platform code returns
Assert.Equal(username, Platform.NonWindowsGetUserName());
}
2015-07-24 13:11:18 -07:00
}
[Fact]
public static void TestGetMachineName()
{
var startInfo = new ProcessStartInfo
{
FileName = @"/usr/hostname",
RedirectStandardOutput = true,
UseShellExecute = false
};
using (Process process = Process.Start(startInfo))
{
// Get output of call to hostname without trailing newline
string hostname = process.StandardOutput.ReadToEnd().Trim();
process.WaitForExit();
// The process should return an exit code of 0 on success
Assert.Equal(0, process.ExitCode);
// It should be the same as what our platform code returns
Assert.Equal(hostname, Platform.NonWindowsGetMachineName());
}
}
2015-06-11 13:40:07 -07:00
}
}