Successful unit test setup and tear down

This commit is contained in:
watsonb8
2020-01-20 22:53:33 -05:00
parent 28afcf12e4
commit df2a6b4bfc
8 changed files with 159 additions and 41 deletions

View File

@ -1,11 +1,11 @@
using System;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Collections;
using Aurora.Proto.PartyV2;
using Aurora.Proto.General;
using Aurora.Utils;
using Grpc.Core;
using Google.Protobuf.WellKnownTypes;
namespace Aurora.Services.Server.Controllers
{
@ -62,8 +62,8 @@ namespace Aurora.Services.Server.Controllers
public override Task<Member> CreateMember(CreateMemberRequest request, Grpc.Core.ServerCallContext context)
{
//Generate Guid
string memberNameGuid = HashUtil.GetHashGuid(new string[] { context.Peer, request.Member.UserName }).ToString();
string resourceName = string.Format("{0}/members/{1}", request.Parent, memberNameGuid);
string resourceName = GetNewMemberResourceName(request.Parent, context.Peer, request.Member.UserName);
//Check if already added
if (_memberList.ContainsKey(resourceName))
{
@ -71,6 +71,8 @@ namespace Aurora.Services.Server.Controllers
}
request.Member.Name = resourceName;
request.Member.AddedOn = Timestamp.FromDateTime(DateTime.UtcNow);
request.Member.IpAddress = context.Host;
_memberList.Add(resourceName, request.Member);
@ -89,7 +91,7 @@ namespace Aurora.Services.Server.Controllers
return Task.FromResult(request.Member);
}
public override Task<Empty> DeleteMember(DeleteMemberRequest request, Grpc.Core.ServerCallContext context)
public override Task<Aurora.Proto.General.Empty> DeleteMember(DeleteMemberRequest request, Grpc.Core.ServerCallContext context)
{
string memberResourceName = request.Name;
//Check if member exists
@ -113,7 +115,13 @@ namespace Aurora.Services.Server.Controllers
_eventManager.RemoveAllSubscriptions(memberResourceName);
_eventManager.CancelEventStream(memberResourceName);
return Task.FromResult(new Empty());
return Task.FromResult(new Aurora.Proto.General.Empty());
}
private string GetNewMemberResourceName(string parent, string contextPeer, string userName)
{
string memberNameGuid = HashUtil.GetHash(new string[] { contextPeer, userName }).ToString();
return string.Format("{0}/members/{1}", parent, memberNameGuid);
}
}
}

View File

@ -9,6 +9,7 @@ namespace Aurora.Services.Server.Controllers
{
public partial class RemotePartyController : RemotePartyService.RemotePartyServiceBase
{
private string _partyResourceName = "party/party1";
private string _displayName;
private string _description;
private Member _hostMember;
@ -21,7 +22,7 @@ namespace Aurora.Services.Server.Controllers
/// </summary>
public RemotePartyController(string partyName, string description)
{
this._startDateTime = DateTime.Now;
this._startDateTime = DateTime.UtcNow;
this._displayName = partyName;
this._description = description;
this._memberList = new SortedList<string, Member>();
@ -32,7 +33,7 @@ namespace Aurora.Services.Server.Controllers
this._hostMember = new Member()
{
Name = userName,
Name = GetNewMemberResourceName(_partyResourceName, ServerService.GetLocalIPAddress(), userName),
UserName = userName,
IpAddress = ServerService.GetLocalIPAddress(),
};
@ -44,7 +45,7 @@ namespace Aurora.Services.Server.Controllers
{
Party party = new Party()
{
Name = "party/party1",
Name = _partyResourceName,
DisplayName = this._displayName,
Description = this._description,
HostIp = ServerService.GetLocalIPAddress(),

View File

@ -31,11 +31,6 @@ namespace Aurora.Services.Server
}
_hostname = host;
_server = new Grpc.Core.Server
{
Ports = { new ServerPort(_hostname, _port, ServerCredentials.Insecure) }
};
}
public int Port
@ -68,15 +63,18 @@ namespace Aurora.Services.Server
Console.WriteLine(string.Format("Starting gRPC server at hostname: {0}, port: {1}", _hostname, _port));
if (!Initialized)
_server = new Grpc.Core.Server
{
//Construct implementations
_remotePartyController = new RemotePartyController(partyName, description);
Ports = { new ServerPort(_hostname, _port, ServerCredentials.Insecure) }
};
//Construct implementations
_remotePartyController = new RemotePartyController(partyName, description);
// Register grpc RemoteService with singleton server service
RegisterService(RemotePartyService.BindService(_remotePartyController));
// Register grpc RemoteService with singleton server service
RegisterService(RemotePartyService.BindService(_remotePartyController));
}
_server.Start();
}
catch (Exception ex)
@ -91,7 +89,15 @@ namespace Aurora.Services.Server
/// <returns>Task</returns>
public async Task Stop()
{
await _server.ShutdownAsync();
try
{
await _server.ShutdownAsync();
await _server.ShutdownTask;
}
catch (Exception ex)
{
Console.WriteLine(string.Format("Error stopping gRPC server: {0}", ex.Message));
}
}
public async Task Reset()