pulumi/sdk/dotnet/Pulumi/Testing/MockEngine.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

56 lines
1.7 KiB
C#

// Copyright 2016-2020, Pulumi Corporation
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Pulumirpc;
namespace Pulumi.Testing
{
internal class MockEngine : IEngine
{
private string? _rootResourceUrn;
private readonly object _rootResourceUrnLock = new object();
public readonly List<string> Errors = new List<string>();
public Task LogAsync(LogRequest request)
{
if (request.Severity == LogSeverity.Error)
{
lock (this.Errors)
{
this.Errors.Add(request.Message);
}
}
return Task.CompletedTask;
}
public Task<SetRootResourceResponse> SetRootResourceAsync(SetRootResourceRequest request)
{
lock (_rootResourceUrnLock)
{
if (_rootResourceUrn != null && _rootResourceUrn != request.Urn)
throw new InvalidOperationException(
$"An invalid attempt to set the root resource to {request.Urn} while it's already set to {_rootResourceUrn}");
_rootResourceUrn = request.Urn;
}
return Task.FromResult(new SetRootResourceResponse());
}
public Task<GetRootResourceResponse> GetRootResourceAsync(GetRootResourceRequest request)
{
lock (_rootResourceUrnLock)
{
if (_rootResourceUrn == null)
throw new InvalidOperationException("Root resource is not set");
return Task.FromResult(new GetRootResourceResponse {Urn = _rootResourceUrn});
}
}
}
}