pulumi/sdk/dotnet/Pulumi.Automation.Tests/LocalPulumiCmdTests.cs
Sean Fausett 3530ba3205
[dotnet] Fix Resharper code issues (#7178)
* Fix resharper code issues for language usage opportunities

* Fix resharper code issues for common practices and code improvements

* Fix resharper code issues for potential code quality issues

* Fix resharper code issues for redundancies in code

* Fix xunit test output

* Update changelog

* Fix resharper code issues for compiler warnings

* Fix resharper code issues for inconsistent naming

* Add resharper solution settings file

* Fix resharper code issues for potential code quality issues

* Fix resharper code issues for redundancies in code

* Fix resharper code issues for redundancies in symbol declarations
2021-06-10 10:32:33 -04:00

52 lines
1.7 KiB
C#

// Copyright 2016-2021, Pulumi Corporation
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Pulumi.Automation.Commands;
using Xunit;
namespace Pulumi.Automation.Tests
{
public class LocalPulumiCmdTests
{
[Fact]
public async Task CheckVersionCommand()
{
var localCmd = new LocalPulumiCmd();
var extraEnv = new Dictionary<string, string?>();
var args = new[] { "version" };
var stdoutLines = new List<string>();
var stderrLines = new List<string>();
// NOTE: not testing onEngineEvent arg as that is not
// supported for "version"; to test it one needs
// workspace-aware commands such as up or preview;
// currently this is covered by
// LocalWorkspaceTests.HandlesEvents.
var result = await localCmd.RunAsync(
args, ".", extraEnv,
onStandardOutput: line => stdoutLines.Add(line),
onStandardError: line => stderrLines.Add(line));
Assert.Equal(0, result.Code);
Assert.Matches(@"^v?\d+\.\d+\.\d+", result.StandardOutput);
Assert.Matches(@"^(warning: A new version of Pulumi[^\n]+\n)?$",
result.StandardError);
Assert.Equal(Lines(result.StandardOutput), stdoutLines);
Assert.Equal(Lines(result.StandardError), stderrLines);
}
private IEnumerable<string> Lines(string s) {
return s.Split(Environment.NewLine,
StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Trim());
}
}
}