Apply linting suggestions (#492)

We've had a list of linting-related messages piling up for a while now.
This change bulk-applies these suggestions with usually relate to
simplification or use or newer language features like ??=

The only changes I did manually here are:

    Removing some usage of Task.GetAwaiter().GetResult() where it was
    just laziness
    Removing some dead code in methods and parameters of internal APIs.
This commit is contained in:
Ryan Nowak 2021-01-04 17:35:57 -08:00 committed by GitHub
parent d54419526f
commit 776156298e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 207 additions and 198 deletions

View File

@ -67,13 +67,12 @@ namespace DaprDemoActor
return this.UnregisterReminderAsync("TestReminder");
}
public Task ReceiveReminderAsync(string reminderName, byte[] state, TimeSpan dueTime, TimeSpan period)
public async Task ReceiveReminderAsync(string reminderName, byte[] state, TimeSpan dueTime, TimeSpan period)
{
// This method is invoked when an actor reminder is fired.
var actorState = this.StateManager.GetStateAsync<MyData>(StateName).GetAwaiter().GetResult();
actorState.PropertyB = $"Reminder triggered at '{DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss")}'";
this.StateManager.SetStateAsync<MyData>(StateName, actorState);
return Task.CompletedTask;
var actorState = await this.StateManager.GetStateAsync<MyData>(StateName);
actorState.PropertyB = $"Reminder triggered at '{DateTime.Now:yyyy-MM-ddTHH:mm:ss}'";
await this.StateManager.SetStateAsync<MyData>(StateName, actorState);
}
class TimerParams
@ -121,15 +120,14 @@ namespace DaprDemoActor
/// </summary>
/// <param name="data">Timer input data.</param>
/// <returns>A task that represents the asynchronous operation.</returns>
public Task TimerCallback(byte[] data)
public async Task TimerCallback(byte[] data)
{
var state = this.StateManager.GetStateAsync<MyData>(StateName).GetAwaiter().GetResult();
state.PropertyA = $"Timer triggered at '{DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss")}'";
this.StateManager.SetStateAsync<MyData>(StateName, state);
var state = await this.StateManager.GetStateAsync<MyData>(StateName);
state.PropertyA = $"Timer triggered at '{DateTime.Now:yyyyy-MM-ddTHH:mm:s}'";
await this.StateManager.SetStateAsync<MyData>(StateName, state);
var timerParams = JsonSerializer.Deserialize<TimerParams>(data);
Console.WriteLine("Timer parameter1: " + timerParams.IntParam);
Console.WriteLine("Timer parameter2: " + timerParams.StringParam);
return Task.CompletedTask;
}
public async Task<AccountBalance> GetAccountBalance()

View File

@ -161,12 +161,15 @@ namespace DaprClient
internal static async Task ExecuteStateTransactionAsync(DaprClient client)
{
var value = new Widget() { Size = "small", Color = "yellow", };
var value = new Widget() { Size = "small", Color = "yellow", };
var request1 = new StateTransactionRequest("mystate", JsonSerializer.SerializeToUtf8Bytes(value), StateOperationType.Upsert);
var request2 = new StateTransactionRequest("mystate", null, StateOperationType.Delete);
var requests = new List<StateTransactionRequest>();
requests.Add(request1);
requests.Add(request2);
var requests = new List<StateTransactionRequest>
{
request1,
request2
};
Console.WriteLine("Executing transaction - save state and delete state");
await client.ExecuteStateTransactionAsync(storeName, requests);
Console.WriteLine("Executed State Transaction!");

View File

@ -104,7 +104,6 @@ namespace Dapr.Actors.Builder
// build the proxy generator
result.ProxyGenerator = this.CreateProxyGenerator(
proxyInterfaceType,
methodBodyTypesResultsMap,
result.ProxyActivatorType);
context.Complete();
@ -236,14 +235,6 @@ namespace Dapr.Actors.Builder
}
}
protected ActorProxyGenerator CreateProxyGenerator(
Type proxyInterfaceType,
IDictionary<InterfaceDescription, MethodBodyTypesBuildResult> methodBodyTypesResultsMap,
Type proxyActivatorType)
{
return this.CreateProxyGenerator(proxyInterfaceType, proxyActivatorType);
}
protected ActorProxyGenerator CreateProxyGenerator(
Type proxyInterfaceType,
Type proxyActivatorType)

View File

@ -16,8 +16,8 @@ namespace Dapr.Actors.Builder
this.AssemblyNamespace = assemblyNamespace;
this.enableDebugging = enableDebugging;
this.AssemblyBuilder = CodeBuilderUtils.CreateAssemblyBuilder(assemblyName, this.enableDebugging);
this.ModuleBuilder = CodeBuilderUtils.CreateModuleBuilder(this.AssemblyBuilder, assemblyName, this.enableDebugging);
this.AssemblyBuilder = CodeBuilderUtils.CreateAssemblyBuilder(assemblyName);
this.ModuleBuilder = CodeBuilderUtils.CreateModuleBuilder(this.AssemblyBuilder, assemblyName);
}
public AssemblyBuilder AssemblyBuilder { get; }

View File

@ -33,7 +33,7 @@ namespace Dapr.Actors.Builder
DmAttrIsRequiredPropInfo = dmAttrType.GetProperty("IsRequired");
}
public static AssemblyBuilder CreateAssemblyBuilder(string assemblyName, bool saveOnDisk = false)
public static AssemblyBuilder CreateAssemblyBuilder(string assemblyName)
{
return AssemblyBuilder.DefineDynamicAssembly(
new AssemblyName(assemblyName),
@ -42,8 +42,7 @@ namespace Dapr.Actors.Builder
public static ModuleBuilder CreateModuleBuilder(
AssemblyBuilder assemblyBuilder,
string moduleName,
bool saveOnDisk = false)
string moduleName)
{
return assemblyBuilder.DefineDynamicModule(moduleName);
}

View File

@ -113,8 +113,7 @@ namespace Dapr.Actors.Builder
LocalBuilder castedObject,
MethodBodyTypes methodBodyTypes)
{
LocalBuilder wrappedRequest = null;
wrappedRequest = ilGen.DeclareLocal(typeof(object));
var wrappedRequest = ilGen.DeclareLocal(typeof(object));
var getValueMethod = typeof(WrappedMessage).GetProperty("Value").GetGetMethod();
ilGen.Emit(OpCodes.Ldarg_3); // request object
@ -183,7 +182,6 @@ namespace Dapr.Actors.Builder
elseLabel: elseLable,
castedObject: castedObject,
methodDescription: methodDescription,
interfaceName: interfaceDescription.InterfaceType.FullName,
methodBodyTypes: methodBodyTypesBuildResult.MethodBodyTypesMap[methodDescription.Name]);
ilGen.MarkLabel(elseLable);
@ -197,7 +195,6 @@ namespace Dapr.Actors.Builder
Label elseLabel,
LocalBuilder castedObject,
MethodDescription methodDescription,
string interfaceName,
MethodBodyTypes methodBodyTypes)
{
ilGen.Emit(OpCodes.Ldarg_1);

View File

@ -205,9 +205,8 @@ namespace Dapr.Actors.Client
var responseMsg = await this.actorRemotingClient.InvokeAsync(
new ActorRequestMessage(
headers,
requestMsgBodyValue),
methodName,
headers,
requestMsgBodyValue),
cancellationToken);
return responseMsg?.GetBody();

View File

@ -42,10 +42,11 @@ namespace Dapr.Actors.Communication
{
return null;
}
else if (obj is IActorReference && typeof(IActor).IsAssignableFrom(targetType) &&
else if (obj is IActorReference reference &&
typeof(IActor).IsAssignableFrom(targetType) &&
!typeof(IActorReference).IsAssignableFrom(targetType))
{
return ((IActorReference)obj).Bind(targetType);
return reference.Bind(targetType);
}
return obj;

View File

@ -29,7 +29,7 @@ namespace Dapr.Actors.Communication
}
}
public ActorMethodDispatcherBase GetDispatcher(int interfaceId, int methodId)
public ActorMethodDispatcherBase GetDispatcher(int interfaceId)
{
if (!this.map.TryGetValue(interfaceId, out var methodDispatcher))
{

View File

@ -34,7 +34,6 @@ namespace Dapr.Actors.Communication.Client
public async Task<IActorResponseMessage> InvokeAsync(
IActorRequestMessage remotingRequestMessage,
string methodName,
CancellationToken cancellationToken)
{
return await this.daprInteractor.InvokeActorMethodWithRemotingAsync(this.serializersManager, remotingRequestMessage, cancellationToken);

View File

@ -330,15 +330,6 @@ namespace Dapr.Actors
}
}
private static ActorMessageSerializersManager IntializeSerializationManager(
IActorMessageBodySerializationProvider serializationProvider)
{
// TODO serializer settings
return new ActorMessageSerializersManager(
serializationProvider,
new ActorMessageHeaderSerializer());
}
/// <summary>
/// Sends an HTTP get request to cluster http gateway.
/// </summary>

View File

@ -266,7 +266,7 @@ namespace Dapr.Actors.Runtime
}
var timerInfo = new TimerInfo(callback, callbackParams, dueTime, period);
var actorTimer = new ActorTimer(this, timerName, timerInfo);
var actorTimer = new ActorTimer(timerName, timerInfo);
var serializedTimer = JsonSerializer.Serialize<TimerInfo>(timerInfo);
await ActorRuntime.DaprInteractor.RegisterTimerAsync(this.actorTypeName, this.Id.ToString(), timerName, serializedTimer);

View File

@ -83,7 +83,7 @@ namespace Dapr.Actors.Runtime
}
// Call the method on the method dispatcher using the Func below.
var methodDispatcher = this.methodDispatcherMap.GetDispatcher(actorMessageHeader.InterfaceId, actorMessageHeader.MethodId);
var methodDispatcher = this.methodDispatcherMap.GetDispatcher(actorMessageHeader.InterfaceId);
// Create a Func to be invoked by common method.
async Task<Tuple<string, byte[]>> RequestFunc(Actor actor, CancellationToken ct)
@ -189,7 +189,7 @@ namespace Dapr.Actors.Runtime
}
}
internal async Task FireTimerAsync(ActorId actorId, string timerName, Stream requestBodyStream, CancellationToken cancellationToken = default)
internal async Task FireTimerAsync(ActorId actorId, Stream requestBodyStream, CancellationToken cancellationToken = default)
{
var timerData = await JsonSerializer.DeserializeAsync<TimerInfo>(requestBodyStream);

View File

@ -33,10 +33,7 @@ namespace Dapr.Actors.Runtime
{
var actorTypeInfo = ActorTypeInformation.Get(typeof(TActor));
var registration = new ActorRegistration(actorTypeInfo);
if (configure != null)
{
configure(registration);
}
configure?.Invoke(registration);
this.Add(registration);
}
}

View File

@ -130,7 +130,7 @@ namespace Dapr.Actors.Runtime
{
using(this.logger.BeginScope("ActorType: {ActorType}, ActorId: {ActorId}, TimerName: {Timer}", actorTypeName, actorId, timerName))
{
return GetActorManager(actorTypeName).FireTimerAsync(new ActorId(actorId), timerName, requestBodyStream, cancellationToken);
return GetActorManager(actorTypeName).FireTimerAsync(new ActorId(actorId), requestBodyStream, cancellationToken);
}
}

View File

@ -16,17 +16,13 @@ namespace Dapr.Actors.Runtime
/// </summary>
public class ActorTimer
{
private readonly Actor owner;
/// <summary>
/// The constructor
/// </summary>
public ActorTimer(
Actor owner,
string timerName,
TimerInfo timerInfo)
{
this.owner = owner;
this.Name = timerName;
this.TimerInfo = timerInfo;
}

View File

@ -36,13 +36,13 @@ namespace Dapr.Actors.Runtime
var days = hours / 24;
hours %= 24;
var minutesSpan = spanOfValue.Slice(hIndex + 1, mIndex - (hIndex + 1));
var minutesSpan = spanOfValue[(hIndex + 1)..mIndex];
var minutes = int.Parse(minutesSpan);
var secondsSpan = spanOfValue.Slice(mIndex + 1, sIndex - (mIndex + 1));
var secondsSpan = spanOfValue[(mIndex + 1)..sIndex];
var seconds = int.Parse(secondsSpan);
var millisecondsSpan = spanOfValue.Slice(sIndex + 1, msIndex - (sIndex + 1));
var millisecondsSpan = spanOfValue[(sIndex + 1)..msIndex];
var milliseconds = int.Parse(millisecondsSpan);
return new TimeSpan(days, hours, minutes, seconds, milliseconds);

View File

@ -32,7 +32,7 @@ namespace Dapr.Actors.Runtime
if (stringResult.Length != 0)
{
T typedResult = default;
T typedResult;
// perform default json de-serialization if custom serializer was not provided.
if (this.actorStateSerializer != null)

View File

@ -15,7 +15,7 @@ namespace Dapr.Client
/// </summary>
public sealed class DaprClientBuilder
{
private const string defaultDaprGrpcPort = "50001";
private const string DefaultDaprGrpcPort = "50001";
private string daprEndpoint;
private JsonSerializerOptions jsonSerializerOptions;
private GrpcChannelOptions gRPCChannelOptions;
@ -35,7 +35,7 @@ namespace Dapr.Client
/// </summary>
public DaprClientBuilder()
{
var daprGrpcPort = Environment.GetEnvironmentVariable("DAPR_GRPC_PORT") ?? defaultDaprGrpcPort;
var daprGrpcPort = Environment.GetEnvironmentVariable("DAPR_GRPC_PORT") ?? DefaultDaprGrpcPort;
this.daprEndpoint = $"http://127.0.0.1:{daprGrpcPort}";
this.jsonSerializerOptions = new JsonSerializerOptions
{
@ -79,7 +79,7 @@ namespace Dapr.Client
// Set correct switch to make insecure gRPC service calls. This switch must be set before creating the GrpcChannel.
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
}
this.gRPCChannelOptions = this.gRPCChannelOptions ?? new GrpcChannelOptions(){ ThrowOperationCanceledOnCancellation = true };
this.gRPCChannelOptions ??= new GrpcChannelOptions(){ ThrowOperationCanceledOnCancellation = true };
var channel = GrpcChannel.ForAddress(this.daprEndpoint, this.gRPCChannelOptions);
var client = new Autogenerated.Dapr.DaprClient(channel);
return new DaprClientGrpc(client, this.jsonSerializerOptions);

View File

@ -290,7 +290,7 @@ namespace Dapr.Client
var getBulkStateEnvelope = new Autogenerated.GetBulkStateRequest()
{
StoreName = storeName,
Parallelism = parallelism ?? default(int)
Parallelism = parallelism ?? default
};
getBulkStateEnvelope.Keys.AddRange(keys);
@ -317,9 +317,9 @@ namespace Dapr.Client
CancellationToken cancellationToken = default)
{
var protoHTTPExtension = new Autogenerated.HTTPExtension();
var contentType = "";
Metadata headers = null;
string contentType;
if (httpOptions != null)
{
protoHTTPExtension.Verb = ConvertHTTPVerb(httpOptions.Method);
@ -453,10 +453,8 @@ namespace Dapr.Client
var rpcError = detail.Unpack<Google.Rpc.ErrorInfo>();
var grpcStatusCode = (StatusCode)status.Code;
string innerHttpErrorCode = null;
string innerHttpErrorMessage = null;
rpcError.Metadata.TryGetValue(DaprErrorInfoHttpCodeMetadata, out innerHttpErrorCode);
rpcError.Metadata.TryGetValue(DaprErrorInfoHttpErrorMetadata, out innerHttpErrorMessage);
rpcError.Metadata.TryGetValue(DaprErrorInfoHttpCodeMetadata, out var innerHttpErrorCode);
rpcError.Metadata.TryGetValue(DaprErrorInfoHttpErrorMetadata, out var innerHttpErrorMessage);
if(innerHttpErrorCode != null || innerHttpErrorMessage != null)
{
// Response returned by Http server
@ -476,11 +474,6 @@ namespace Dapr.Client
}
}
private bool IsResponseFromHttpCallee(Dictionary<string,byte[]> headers)
{
return headers.ContainsKey(DaprHttpStatusHeader);
}
#endregion
#region State Apis
@ -684,10 +677,11 @@ namespace Dapr.Client
foreach (var state in states)
{
var stateOperation = new Autogenerated.TransactionalStateOperation();
stateOperation.OperationType = state.OperationType.ToString().ToLower();
stateOperation.Request = ToAutogeneratedStateItem(state);
var stateOperation = new Autogenerated.TransactionalStateOperation
{
OperationType = state.OperationType.ToString().ToLower(),
Request = ToAutogeneratedStateItem(state)
};
executeStateTransactionRequestEnvelope.Operations.Add(stateOperation);
@ -706,8 +700,10 @@ namespace Dapr.Client
private Autogenerated.StateItem ToAutogeneratedStateItem(StateTransactionRequest state)
{
var stateOperation = new Autogenerated.StateItem();
stateOperation.Key = state.Key;
var stateOperation = new Autogenerated.StateItem
{
Key = state.Key
};
if (state.Value != null)
{

View File

@ -21,10 +21,6 @@ namespace Dapr.Extensions.Configuration.DaprSecretStore
private readonly IEnumerable<DaprSecretDescriptor> secretDescriptors;
const string localhost = "127.0.0.1";
static string daprPort => Environment.GetEnvironmentVariable("DAPR_GRPC_PORT") ?? "50001";
private readonly DaprClient client;
/// <summary>
@ -72,4 +68,4 @@ namespace Dapr.Extensions.Configuration.DaprSecretStore
Data = data;
}
}
}
}

View File

@ -57,14 +57,14 @@ namespace Dapr.Actors.Test
return Task.CompletedTask;
}
public void SaveTestState()
public Task SaveTestState()
{
this.SaveStateAsync().GetAwaiter().GetResult();
return this.SaveStateAsync();
}
public void ResetTestStateAsync()
public Task ResetTestStateAsync()
{
this.ResetStateAsync().GetAwaiter().GetResult();
return this.ResetStateAsync();
}
public void TimerCallbackNonTaskReturnType()

View File

@ -7,22 +7,21 @@ namespace Dapr.Actors.Test
{
using System;
using System.Buffers;
using System.Linq;
using System.IO;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
using Dapr.Actors;
using Dapr.Actors.Runtime;
using Xunit;
using Microsoft.Extensions.Logging;
using System.Linq;
using System.Reflection;
using Xunit;
public sealed class ActorRuntimeTests
{
private const string RenamedActorTypeName = "MyRenamedActor";
private ILoggerFactory loggerFactory = new LoggerFactory();
private ActorActivatorFactory activatorFactory = new DefaultActorActivatorFactory();
private readonly ILoggerFactory loggerFactory = new LoggerFactory();
private readonly ActorActivatorFactory activatorFactory = new DefaultActorActivatorFactory();
private interface ITestActor : IActor
{
@ -97,7 +96,7 @@ namespace Dapr.Actors.Test
}
[Fact]
public void TestActorSettings()
public async Task TestActorSettings()
{
var actorType = typeof(TestActor);
@ -113,7 +112,7 @@ namespace Dapr.Actors.Test
Assert.Contains(actorType.Name, runtime.RegisteredActors.Select(a => a.Type.ActorTypeName), StringComparer.InvariantCulture);
ArrayBufferWriter<byte> writer = new ArrayBufferWriter<byte>();
runtime.SerializeSettingsAndRegisteredTypes(writer).GetAwaiter().GetResult();
await runtime.SerializeSettingsAndRegisteredTypes(writer);
// read back the serialized json
var array = writer.WrittenSpan.ToArray();

View File

@ -26,22 +26,22 @@ namespace Dapr.Actors.Test.Runtime
}
[Fact]
public void TestSaveState()
public async Task TestSaveState()
{
var mockStateManager = new Mock<IActorStateManager>();
mockStateManager.Setup(manager => manager.SaveStateAsync(It.IsAny<CancellationToken>()));
var testDemoActor = this.CreateTestDemoActor(mockStateManager.Object);
testDemoActor.SaveTestState();
await testDemoActor.SaveTestState();
mockStateManager.Verify(manager => manager.SaveStateAsync(It.IsAny<CancellationToken>()), Times.Once);
}
[Fact]
public void TestResetStateAsync()
public async Task TestResetStateAsync()
{
var mockStateManager = new Mock<IActorStateManager>();
mockStateManager.Setup(manager => manager.ClearCacheAsync(It.IsAny<CancellationToken>()));
var testDemoActor = this.CreateTestDemoActor(mockStateManager.Object);
testDemoActor.ResetTestStateAsync();
await testDemoActor.ResetTestStateAsync();
mockStateManager.Verify(manager => manager.ClearCacheAsync(It.IsAny<CancellationToken>()), Times.Once);
}

View File

@ -17,7 +17,7 @@ namespace Dapr
internal class StateTestClient : DaprClientGrpc
{
public Dictionary<string, object> State { get; } = new Dictionary<string, object>();
static GrpcChannel channel = GrpcChannel.ForAddress("http://localhost");
private static readonly GrpcChannel channel = GrpcChannel.ForAddress("http://localhost");
/// <summary>
/// Initializes a new instance of the <see cref="DaprClientGrpc"/> class.

View File

@ -110,9 +110,11 @@ namespace Dapr.AspNetCore.Test
private async Task SendResponseWithState<T>(T state, TestHttpClient.Entry entry)
{
var stateData = TypeConverters.ToJsonByteString(state);
var stateResponse = new GetStateResponse();
stateResponse.Data = stateData;
stateResponse.Etag = "test";
var stateResponse = new GetStateResponse
{
Data = stateData,
Etag = "test",
};
var streamContent = await GrpcUtils.CreateResponseContent(stateResponse);
var response = GrpcUtils.CreateResponse(HttpStatusCode.OK, streamContent);

View File

@ -185,8 +185,10 @@ namespace Dapr.Client.Test
{
var client = new MockClient();
var data = new Response() { Name = "Look, I was invoked!" };
var invokeResponse = new InvokeResponse();
invokeResponse.Data = TypeConverters.ToAny(data);
var invokeResponse = new InvokeResponse
{
Data = TypeConverters.ToAny(data)
};
var response =
client.Call<InvokeResponse>()
@ -242,8 +244,10 @@ namespace Dapr.Client.Test
{
var client = new MockClient();
var data = new Response() { Name = "Look, I was invoked!" };
var invokeResponse = new InvokeResponse();
invokeResponse.Data = TypeConverters.ToAny(data);
var invokeResponse = new InvokeResponse
{
Data = TypeConverters.ToAny(data)
};
var response =
client.Call<InvokeResponse>()
@ -272,8 +276,10 @@ namespace Dapr.Client.Test
Request request = new Request() { RequestParameter = "Hello " };
var client = new MockClient();
var data = new Response() { Name = "Look, I was invoked!" };
var invokeResponse = new InvokeResponse();
invokeResponse.Data = TypeConverters.ToAny(data);
var invokeResponse = new InvokeResponse
{
Data = TypeConverters.ToAny(data)
};
var response =
client.Call<InvokeResponse>()
@ -292,8 +298,10 @@ namespace Dapr.Client.Test
{
var client = new MockClient();
var data = new Response() { Name = "Look, I was invoked!" };
var invokeResponse = new InvokeResponse();
invokeResponse.Data = TypeConverters.ToAny(data);
var invokeResponse = new InvokeResponse
{
Data = TypeConverters.ToAny(data)
};
var response =
client.Call<InvokeResponse>()
@ -419,9 +427,11 @@ namespace Dapr.Client.Test
{
var client = new MockClient();
var data = new Response() { Name = "Look, I was invoked!" };
var invokeResponse = new InvokeResponse();
invokeResponse.Data = TypeConverters.ToAny(data);
var invokeResponse = new InvokeResponse
{
Data = TypeConverters.ToAny(data)
};
var response =
client.Call<InvokeResponse>()
.SetResponse(invokeResponse)
@ -450,9 +460,11 @@ namespace Dapr.Client.Test
{
var client = new MockClient();
var data = new Response() { Name = "Look, I was invoked!" };
var invokeResponse = new InvokeResponse();
invokeResponse.Data = TypeConverters.ToAny(data);
var invokeResponse = new InvokeResponse
{
Data = TypeConverters.ToAny(data)
};
var response =
client.Call<InvokeResponse>()
.SetResponse(invokeResponse)
@ -482,9 +494,11 @@ namespace Dapr.Client.Test
{
var client = new MockClient();
var data = new Response() { Name = "Look, I was invoked!" };
var invokeResponse = new InvokeResponse();
invokeResponse.Data = TypeConverters.ToAny(data);
var invokeResponse = new InvokeResponse
{
Data = TypeConverters.ToAny(data)
};
var response =
client.Call<InvokeResponse>()
.SetResponse(invokeResponse)
@ -547,10 +561,12 @@ namespace Dapr.Client.Test
{
var client = new MockClient();
var data = new Response() { Name = "Look, I was invoked!" };
var invokeResponse = new InvokeResponse();
invokeResponse.Data = TypeConverters.ToAny(data);
invokeResponse.ContentType = Constants.ContentTypeApplicationJson;
var invokeResponse = new InvokeResponse
{
Data = TypeConverters.ToAny(data),
ContentType = Constants.ContentTypeApplicationJson
};
var response =
client.Call<InvokeResponse>()
.SetResponse(invokeResponse)
@ -636,9 +652,11 @@ namespace Dapr.Client.Test
var responseBody = new Response() { Name = "Look, I was invoked!" };
// var dataBytes = new byte[]{1,2,3};
var responseBytes = JsonSerializer.SerializeToUtf8Bytes(responseBody);
var invokeResponse = new InvokeResponse();
invokeResponse.Data = new Any { Value = ByteString.CopyFrom(responseBytes), TypeUrl = typeof(byte[]).FullName };
var invokeResponse = new InvokeResponse
{
Data = new Any { Value = ByteString.CopyFrom(responseBytes), TypeUrl = typeof(byte[]).FullName }
};
var response =
client.Call<InvokeResponse>()
.SetResponse(invokeResponse)
@ -687,9 +705,11 @@ namespace Dapr.Client.Test
var client = new MockClient();
var responseBody = new Response() { Name = "Look, I was invoked!" };
var responseBytes = JsonSerializer.SerializeToUtf8Bytes(responseBody);
var invokeResponse = new InvokeResponse();
invokeResponse.Data = new Any { Value = ByteString.CopyFrom(responseBytes), TypeUrl = typeof(byte[]).FullName };
var invokeResponse = new InvokeResponse
{
Data = new Any { Value = ByteString.CopyFrom(responseBytes), TypeUrl = typeof(byte[]).FullName }
};
var response =
client.Call<InvokeResponse>()
.SetResponse(invokeResponse)
@ -739,9 +759,11 @@ namespace Dapr.Client.Test
{
var client = new MockClient();
var data = new Response() { Name = "Look, I was invoked!" };
var invokeResponse = new InvokeResponse();
invokeResponse.Data = TypeConverters.ToAny(data);
var invokeResponse = new InvokeResponse
{
Data = TypeConverters.ToAny(data)
};
var response =
client.Call<InvokeResponse>()
.SetResponse(invokeResponse)
@ -805,9 +827,11 @@ namespace Dapr.Client.Test
{
var client = new MockClient();
var data = new Response() { Name = "Look, I was invoked!" };
var invokeResponse = new InvokeResponse();
invokeResponse.Data = TypeConverters.ToAny(data);
var invokeResponse = new InvokeResponse
{
Data = TypeConverters.ToAny(data)
};
var response =
client.Call<InvokeResponse>()
.SetResponse(invokeResponse)
@ -952,25 +976,16 @@ namespace Dapr.Client.Test
private async Task SendResponse<T>(T data, TestHttpClient.Entry entry, JsonSerializerOptions options = null)
{
var dataAny = TypeConverters.ToAny(data, options);
var dataResponse = new InvokeResponse();
dataResponse.Data = dataAny;
var dataResponse = new InvokeResponse
{
Data = dataAny
};
var streamContent = await GrpcUtils.CreateResponseContent(dataResponse);
var response = GrpcUtils.CreateResponse(HttpStatusCode.OK, streamContent);
entry.Completion.SetResult(response);
}
private async void SendResponseFromHttpServer<T>(T data, TestHttpClient.Entry entry, JsonSerializerOptions options = null)
{
var dataAny = TypeConverters.ToAny(data, options);
var dataResponse = new InvokeResponse();
dataResponse.Data = dataAny;
var streamContent = await GrpcUtils.CreateResponseContent(dataResponse);
var response = GrpcUtils.CreateResponseFromHttpServer(HttpStatusCode.OK, streamContent);
entry.Completion.SetResult(response);
}
private class Request
{
public string RequestParameter { get; set; }

View File

@ -26,9 +26,11 @@ namespace Dapr.Client.Test
.UseGrpcChannelOptions(new GrpcChannelOptions { HttpClient = httpClient })
.Build();
var metadata = new Dictionary<string, string>();
metadata.Add("key1", "value1");
metadata.Add("key2", "value2");
var metadata = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
var invokeRequest = new InvokeRequest() { RequestParameter = "Hello " };
var task = daprClient.InvokeBindingAsync<InvokeRequest>("test", "create", invokeRequest, metadata);
@ -59,9 +61,11 @@ namespace Dapr.Client.Test
CancellationToken ct = ctSource.Token;
ctSource.Cancel();
var metadata = new Dictionary<string, string>();
metadata.Add("key1", "value1");
metadata.Add("key2", "value2");
var metadata = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
var invokeRequest = new InvokeRequest() { RequestParameter = "Hello " };
var task = daprClient.InvokeBindingAsync<InvokeRequest>("test", "create", invokeRequest, metadata, ct);

View File

@ -30,9 +30,9 @@ namespace Dapr.Client
public class InvokeApiCallBuilder<TResponse>
{
private TResponse response;
private Metadata headers;
private readonly Metadata headers;
private Status status;
private Metadata trailers;
private readonly Metadata trailers;
public InvokeApiCallBuilder()
{
@ -75,4 +75,4 @@ namespace Dapr.Client
}
}
}
}
}

View File

@ -26,9 +26,11 @@ namespace Dapr.Client.Test
.UseGrpcChannelOptions(new GrpcChannelOptions { HttpClient = httpClient })
.Build();
var metadata = new Dictionary<string, string>();
metadata.Add("key1", "value1");
metadata.Add("key2", "value2");
var metadata = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
var task = daprClient.GetSecretAsync("testStore", "test_key", metadata);
// Get Request and validate
@ -52,9 +54,11 @@ namespace Dapr.Client.Test
.UseGrpcChannelOptions(new GrpcChannelOptions { HttpClient = httpClient })
.Build();
var metadata = new Dictionary<string, string>();
metadata.Add("key1", "value1");
metadata.Add("key2", "value2");
var metadata = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
var task = daprClient.GetSecretAsync("testStore", "test_key", metadata);
// Get Request and validate
@ -69,8 +73,10 @@ namespace Dapr.Client.Test
request.Metadata["key2"].Should().Be("value2");
// Create Response & Respond
var secrets = new Dictionary<string, string>();
secrets.Add("redis_secret", "Guess_Redis");
var secrets = new Dictionary<string, string>
{
{ "redis_secret", "Guess_Redis" }
};
await SendResponseWithSecrets(secrets, entry);
// Get response and validate
@ -89,9 +95,11 @@ namespace Dapr.Client.Test
.UseGrpcChannelOptions(new GrpcChannelOptions { HttpClient = httpClient })
.Build();
var metadata = new Dictionary<string, string>();
metadata.Add("key1", "value1");
metadata.Add("key2", "value2");
var metadata = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
var task = daprClient.GetSecretAsync("testStore", "test_key", metadata);
// Get Request and validate
@ -106,9 +114,11 @@ namespace Dapr.Client.Test
request.Metadata["key2"].Should().Be("value2");
// Create Response & Respond
var secrets = new Dictionary<string, string>();
secrets.Add("redis_secret", "Guess_Redis");
secrets.Add("kafka_secret", "Guess_Kafka");
var secrets = new Dictionary<string, string>
{
{ "redis_secret", "Guess_Redis" },
{ "kafka_secret", "Guess_Kafka" }
};
await SendResponseWithSecrets(secrets, entry);
// Get response and validate
@ -129,9 +139,11 @@ namespace Dapr.Client.Test
.UseGrpcChannelOptions(new GrpcChannelOptions { HttpClient = httpClient, ThrowOperationCanceledOnCancellation = true })
.Build();
var metadata = new Dictionary<string, string>();
metadata.Add("key1", "value1");
metadata.Add("key2", "value2");
var metadata = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
var ctSource = new CancellationTokenSource();
CancellationToken ct = ctSource.Token;

View File

@ -275,8 +275,10 @@ namespace Dapr.Client.Test
{
{"a", "b" }
};
var options1 = new StateOptions();
options1.Concurrency = ConcurrencyMode.LastWrite;
var options1 = new StateOptions
{
Concurrency = ConcurrencyMode.LastWrite
};
var state1 = new StateTransactionRequest("stateKey1", JsonSerializer.SerializeToUtf8Bytes(stateValue1), StateOperationType.Upsert, "testEtag", metadata1, options1);
var stateValue2 = 100;
@ -285,10 +287,12 @@ namespace Dapr.Client.Test
var stateValue3 = "teststring";
var state3 = new StateTransactionRequest("stateKey3", JsonSerializer.SerializeToUtf8Bytes(stateValue3), StateOperationType.Upsert);
var states = new List<StateTransactionRequest>();
states.Add(state1);
states.Add(state2);
states.Add(state3);
var states = new List<StateTransactionRequest>
{
state1,
state2,
state3
};
var task = daprClient.ExecuteStateTransactionAsync("testStore", states);
@ -337,8 +341,10 @@ namespace Dapr.Client.Test
var widget1 = new Widget() { Size = "small", Color = "yellow", };
var state1 = new StateTransactionRequest("stateKey1", JsonSerializer.SerializeToUtf8Bytes(widget1), StateOperationType.Upsert);
var states = new List<StateTransactionRequest>();
states.Add(state1);
var states = new List<StateTransactionRequest>
{
state1
};
var task = daprClient.ExecuteStateTransactionAsync("testStore", states);
// Create Response & Respond
@ -363,8 +369,10 @@ namespace Dapr.Client.Test
ctSource.Cancel();
var operation = new StateTransactionRequest("test", null, StateOperationType.Delete);
var operations = new List<StateTransactionRequest>();
operations.Add(operation);
var operations = new List<StateTransactionRequest>
{
operation
};
await FluentActions.Awaiting(async () => await daprClient.ExecuteStateTransactionAsync("testStore", operations, new Dictionary<string, string>(), cancellationToken: ct))
.Should().ThrowAsync<OperationCanceledException>();
}
@ -558,9 +566,11 @@ namespace Dapr.Client.Test
Consistency = consistencyMode
};
var metadata = new Dictionary<string, string>();
metadata.Add("key1", "value1");
metadata.Add("key2", "value2");
var metadata = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
var task = daprClient.SaveStateAsync("testStore", "test", widget, stateOptions, metadata);
// Get Request and validate
@ -608,9 +618,11 @@ namespace Dapr.Client.Test
Consistency = consistencyMode
};
var metadata = new Dictionary<string, string>();
metadata.Add("key1", "value1");
metadata.Add("key2", "value2");
var metadata = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
var task = daprClient.TrySaveStateAsync("testStore", "test", widget, "Test_Etag", stateOptions, metadata);
// Get Request and validate
@ -707,8 +719,10 @@ namespace Dapr.Client.Test
private async Task SendResponseWithState<T>(T state, TestHttpClient.Entry entry, string etag = null)
{
var stateDate = TypeConverters.ToJsonByteString(state);
var stateResponse = new Autogenerated.GetStateResponse();
stateResponse.Data = stateDate;
var stateResponse = new Autogenerated.GetStateResponse
{
Data = stateDate
};
if (etag != null)
{